{"id":372573,"date":"2024-05-21T05:15:44","date_gmt":"2024-05-21T05:15:44","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=372573"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=372573","title":{"rendered":"<span>\u0420\u0435\u0448\u0435\u043d\u0438\u0435 cryptopals. \u0427\u0430\u0441\u0442\u044c 3<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0417\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u043c \u0440\u0435\u0448\u0435\u043d\u0438\u0435 <a href=\"https:\/\/cryptopals.com\/\" rel=\"noopener noreferrer nofollow\">cryptopals<\/a>. \u0412 \u044d\u0442\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0431\u043b\u043e\u043a\u0438 \u0437\u0430\u0434\u0430\u043d\u0438\u0439 5 \u0438 6, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u044b \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438 \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u043a\u043b\u044e\u0447\u043e\u043c.<\/p>\n<p><a href=\"https:\/\/habr.com\/ru\/articles\/801805\/\" rel=\"noopener noreferrer nofollow\">\u041f\u0435\u0440\u0432\u0430\u044f \u0447\u0430\u0441\u0442\u044c<\/a><br \/> <a href=\"https:\/\/habr.com\/ru\/articles\/803077\/\" rel=\"noopener noreferrer nofollow\">\u0412\u0442\u043e\u0440\u0430\u044f \u0447\u0430\u0441\u0442\u044c<\/a><br \/> \u0422\u0440\u0435\u0442\u044c\u044f \u0447\u0430\u0441\u0442\u044c<\/p>\n<h2>\u0411\u043b\u043e\u043a 5: Diffie-Hellman and friends<\/h2>\n<p><strong>\u0422\u0435\u043c\u044b:<\/strong>  \u041f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u0414\u0438\u0444\u0444\u0438-\u0425\u0435\u043b\u043b\u043c\u0430\u043d\u0430, SRP<br \/> <strong>\u0421\u0441\u044b\u043b\u043a\u0430:<\/strong>  <a href=\"https:\/\/cryptopals.com\/sets\/5\" rel=\"noopener noreferrer nofollow\">https:\/\/cryptopals.com\/sets\/5<\/a><\/p>\n<h3>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 33: Implement Diffie-Hellman<\/h3>\n<p>\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0437\u0430\u0434\u0430\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442 \u0441 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u043c <a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB_%D0%94%D0%B8%D1%84%D1%84%D0%B8_%E2%80%94_%D0%A5%D0%B5%D0%BB%D0%BB%D0%BC%D0%B0%D0%BD%D0%B0\" rel=\"noopener noreferrer nofollow\">\u0414\u0438\u0444\u0444\u0438-\u0425\u0435\u043b\u043b\u043c\u0430\u043d\u0430<\/a> \u0434\u043b\u044f \u0432\u044b\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u0431\u0449\u0435\u0433\u043e \u0441\u0435\u0441\u0441\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430.<\/p>\n<h3>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 34: Implement a MITM key-fixing attack on Diffie-Hellman with parameter injection<\/h3>\n<p>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0430\u0442\u0430\u043a\u0438 \u00ab\u0447\u0435\u043b\u043e\u0432\u0435\u043a \u043f\u043e\u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0435\u00bb \u0432 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0435 \u0414\u0438\u0444\u0444\u0438-\u0425\u0435\u043b\u043b\u043c\u0430\u043d\u0430.<br \/> \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a\u043e\u0439 \u043e\u0431\u0449\u0438\u0439 \u043a\u043b\u044e\u0447 <img decoding=\"async\" class=\"formula inline\" source=\"key\" alt=\"key\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/3\/3c\/3c6\/3c6e0b8a9c15224a8228b9a98ca1531d.svg\" width=\"auto\" height=\"auto\"\/> \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435. \u041f\u0440\u0438 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 <img decoding=\"async\" class=\"formula inline\" source=\"key = g^b \\bmod  p\" alt=\"key = g^b \\bmod  p\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/7\/71\/71f\/71f7b95010f74354a14c8d8f5345c4ae.svg\" width=\"auto\" height=\"auto\"\/>, \u043d\u043e \u0438\u0437-\u0437\u0430 \u043f\u0440\u043e\u0442\u0438\u0432\u043d\u0438\u043a\u0430 \u043f\u043e\u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0435 A \u0434\u0443\u043c\u0430\u0435\u0442, \u0447\u0442\u043e <img decoding=\"async\" class=\"formula inline\" source=\"B=p\" alt=\"B=p\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/2\/2a\/2a9\/2a947f1abe081e5eec4301634591688a.svg\" width=\"auto\" height=\"auto\"\/>, \u043f\u043e\u044d\u0442\u043e\u043c\u0443<br \/> <img decoding=\"async\" class=\"formula inline\" source=\"s = B^a \\bmod p = p^p \\bmod  p = 0\" alt=\"s = B^a \\bmod p = p^p \\bmod  p = 0\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/3\/34\/345\/345cdfc8ca7bd828e885bf8d14ac3a5c.svg\" width=\"auto\" height=\"auto\"\/><br \/> \u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0441\u0435\u0441\u0441\u0438\u043e\u043d\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u0438\u043c\u0435\u0435\u0442 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0447\u0435\u043c\u0443 M \u043c\u043e\u0436\u0435\u0442 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f.<\/p>\n<h3>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 35: Implement DH with negotiated groups, and break with malicious &#171;g&#187; parameters<\/h3>\n<p>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442, \u0447\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u043c \u0414\u0438\u0444\u0444\u0438-\u0425\u0435\u043b\u043b\u043c\u0430\u043d\u0430 \u043f\u0440\u0438 \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u043e\u043c \u0432\u044b\u0431\u043e\u0440\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 <img decoding=\"async\" class=\"formula inline\" source=\"g\" alt=\"g\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/b\/b2\/b2f\/b2f5ff47436671b6e533d8dc3614845d.svg\" width=\"auto\" height=\"auto\"\/>.<\/p>\n<p>\u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0441\u0435\u0441\u0441\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430 \u0434\u043b\u044f \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0430 A:<br \/> <img decoding=\"async\" class=\"formula inline\" source=\"k = B^a \\bmod p = (g^b)^a \\bmod p = g^{ab} \\bmod p\" alt=\"k = B^a \\bmod p = (g^b)^a \\bmod p = g^{ab} \\bmod p\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/2\/27\/27d\/27dcda19d673d1dde9c7ae5bd34be465.svg\" width=\"auto\" height=\"auto\"\/><\/p>\n<ol>\n<li>\n<p><img decoding=\"async\" class=\"formula inline\" source=\"g = 1\" alt=\"g = 1\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/b\/b0\/b0f\/b0ff9637e5889942f1f1a7488fa6ffa9.svg\" width=\"auto\" height=\"auto\"\/>, \u0442\u043e\u0433\u0434\u0430 <img decoding=\"async\" class=\"formula inline\" source=\"k = 1^{ab} \\bmod p = 1\" alt=\"k = 1^{ab} \\bmod p = 1\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/1\/1f\/1fd\/1fdbc758892ae0a9d308ef448bf792ee.svg\" width=\"auto\" height=\"auto\"\/><\/p>\n<\/li>\n<li>\n<p><img decoding=\"async\" class=\"formula inline\" source=\"g = p\" alt=\"g = p\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/1\/1e\/1e2\/1e2204539e6b92a172ffd48953302c43.svg\" width=\"auto\" height=\"auto\"\/>, \u0442\u043e\u0433\u0434\u0430 <img decoding=\"async\" class=\"formula inline\" source=\"k = p^{ab} \\bmod p = 0\" alt=\"k = p^{ab} \\bmod p = 0\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/1\/12\/121\/1216cf57c4667b7de90e415b21e6526a.svg\" width=\"auto\" height=\"auto\"\/><\/p>\n<\/li>\n<li>\n<p><img decoding=\"async\" class=\"formula inline\" source=\"g = p - 1\" alt=\"g = p - 1\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/8d\/8d3\/8d3bd214046ea4d1e763559212b1e3e4.svg\" width=\"auto\" height=\"auto\"\/>, \u0442\u043e\u0433\u0434\u0430 <img decoding=\"async\" class=\"formula inline\" source=\"k = {(p - 1)}^{ab} \\bmod p = p - 1\" alt=\"k = {(p - 1)}^{ab} \\bmod p = p - 1\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/6\/6a\/6a7\/6a71a5523a4d9da35e731ea2b0b27d97.svg\" width=\"auto\" height=\"auto\"\/> \u0438\u043b\u0438 1<\/p>\n<\/li>\n<\/ol>\n<p>\u0412\u043e \u0432\u0441\u0435\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u0435\u0441\u0441\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430 \u043b\u0435\u0433\u043a\u043e \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u043e.<\/p>\n<h3>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 36: Implement Secure Remote Password (SRP)<\/h3>\n<p>\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0437\u0430\u0434\u0430\u043d\u0438\u0435, \u043d\u0443\u0436\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b <a href=\"https:\/\/ru.wikipedia.org\/wiki\/SRP\" rel=\"noopener noreferrer nofollow\">Secure Remote Password<\/a>.<\/p>\n<h3>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 37: Break SRP with a zero key<\/h3>\n<p>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 SRP \u0432 \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u043a\u043b\u0438\u0435\u043d\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <img decoding=\"async\" class=\"formula inline\" source=\"A=0\\pmod N\" alt=\"A=0\\pmod N\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/2\/2d\/2d8\/2d86f0219ae51f785f675d109c49e4a4.svg\" width=\"auto\" height=\"auto\"\/>.<br \/> \u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 <img decoding=\"async\" class=\"formula inline\" source=\"s = (Av^u)^{b}\\pmod N = 0\" alt=\"s = (Av^u)^{b}\\pmod N = 0\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/89\/898\/898ec705edc4e7719d96bd5d8e7961c3.svg\" width=\"auto\" height=\"auto\"\/>, \u0438 \u043a\u043b\u044e\u0447 \u0431\u0443\u0434\u0435\u0442 \u0438\u043c\u0435\u0442\u044c \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <img decoding=\"async\" class=\"formula inline\" source=\"Hash(s) = Hash(0)\" alt=\"Hash(s) = Hash(0)\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/2\/25\/25c\/25ce82e48005392e0b5bd5da1a4e8d38.svg\" width=\"auto\" height=\"auto\"\/>.<\/p>\n<h3>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 38: Offline dictionary attack on simplified SRP<\/h3>\n<p>\u041f\u0440\u0438\u0432\u0435\u0434\u0451\u043d\u043d\u044b\u0439 \u0432 \u0437\u0430\u0434\u0430\u043d\u0438\u0438 \u00ab\u0443\u043f\u0440\u043e\u0449\u0451\u043d\u043d\u044b\u0439\u00bb \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b SRP \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0433\u043b\u0430\u0432\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0442\u0435\u043c, \u0447\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <img decoding=\"async\" class=\"formula inline\" source=\"B\" alt=\"B\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/9\/9d\/9d5\/9d5ed678fe57bcca610140957afab571.svg\" width=\"auto\" height=\"auto\"\/> \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 <img decoding=\"async\" class=\"formula inline\" source=\"v\" alt=\"v\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/9\/9e\/9e3\/9e3669d19b675bd57058fd4664205d2a.svg\" width=\"auto\" height=\"auto\"\/>, \u0430 \u0437\u043d\u0430\u0447\u0438\u0442 \u0438 \u043e\u0442 \u043f\u0430\u0440\u043e\u043b\u044f. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0430\u0442\u0430\u043a\u0443\u044e\u0449\u0435\u043c\u0443 \u043f\u043e\u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0435 <img decoding=\"async\" class=\"formula inline\" source=\"B\" alt=\"B\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/9\/9d\/9d5\/9d5ed678fe57bcca610140957afab571.svg\" width=\"auto\" height=\"auto\"\/> \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043e\u0442\u0432\u0435\u0442\u0430 \u043d\u0430 \u0437\u0430\u043f\u0440\u043e\u0441 \u043a\u043b\u0438\u0435\u043d\u0442\u0430, \u0430 \u0437\u0430\u0442\u0435\u043c \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u043e\u0444\u043b\u0430\u0439\u043d \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c \u043f\u0435\u0440\u0435\u0431\u043e\u0440 \u043f\u0430\u0440\u043e\u043b\u044f \u043f\u043e \u0441\u043b\u043e\u0432\u0430\u0440\u044e.<\/p>\n<h3>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 39: Implement RSA<\/h3>\n<p>\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0437\u0430\u0434\u0430\u043d\u0438\u0435, \u043d\u0443\u0436\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u0440\u0438\u043f\u0442\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u0443 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/RSA\" rel=\"noopener noreferrer nofollow\">RSA<\/a>.<\/p>\n<h3>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 40: Implement an E=3 RSA Broadcast attack<\/h3>\n<p>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442 Broadcast attack \u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0443 RSA \u0441 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u043c <img decoding=\"async\" class=\"formula inline\" source=\"e=3\" alt=\"e=3\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/0\/01\/019\/01988c67f402ddd3b5b82a07e8eaa2db.svg\" width=\"auto\" height=\"auto\"\/>.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u043e\u0434\u043d\u043e \u0438 \u0442\u043e \u0436\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0431\u044b\u043b\u043e \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043e \u043d\u0430 \u0442\u0440\u0451\u0445 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0445 \u043a\u043b\u044e\u0447\u0430\u0445 RSA, \u0442\u043e:<br \/> <img decoding=\"async\" class=\"formula inline\" source=\"c_1 = m^3 \\pmod{n_1}\" alt=\"c_1 = m^3 \\pmod{n_1}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/c9\/c9e\/c9ec2d030ce9afc1cad018de2a6eab02.svg\" width=\"auto\" height=\"auto\"\/><br \/> <img decoding=\"async\" class=\"formula inline\" source=\"c_2 = m^3 \\pmod{n_2}\" alt=\"c_2 = m^3 \\pmod{n_2}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/a\/ad\/ade\/ade470eadc6926af741a50f908ab1ea6.svg\" width=\"auto\" height=\"auto\"\/><br \/> <img decoding=\"async\" class=\"formula inline\" source=\"c_3 = m^3 \\pmod{n_3}\" alt=\"c_3 = m^3 \\pmod{n_3}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/b\/b0\/b07\/b0743744e636498ffc1fab1276f12990.svg\" width=\"auto\" height=\"auto\"\/><\/p>\n<p>\u042d\u0442\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0445 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0439 \u043f\u043e \u043c\u043e\u0434\u0443\u043b\u044e, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0448\u0438\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u041a\u0438\u0442\u0430\u0439\u0441\u043a\u043e\u0439 \u0442\u0435\u043e\u0440\u0435\u043c\u044b \u043e\u0431 \u043e\u0441\u0442\u0430\u0442\u043a\u0430\u0445 \u0438 \u043d\u0430\u0439\u0442\u0438 <img decoding=\"async\" class=\"formula inline\" source=\"m^3 \\pmod{n_1n_2n_3}\" alt=\"m^3 \\pmod{n_1n_2n_3}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/c6\/c65\/c65d0bc74fe97bf9322b636d00d3301c.svg\" width=\"auto\" height=\"auto\"\/> . \u0418\u0437\u0432\u043b\u0435\u043a\u0430\u044f \u043a\u0443\u0431\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043a\u043e\u0440\u0435\u043d\u044c \u0438\u0437 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435.<\/p>\n<h2>\u0411\u043b\u043e\u043a 6: RSA and DSA<\/h2>\n<p><strong>\u0422\u0435\u043c\u0430:<\/strong>  \u0410\u0442\u0430\u043a\u0438 \u043d\u0430 RSA \u0438 DSA<br \/> <strong>\u0421\u0441\u044b\u043b\u043a\u0430:<\/strong>  <a href=\"https:\/\/cryptopals.com\/sets\/6\" rel=\"noopener noreferrer nofollow\">https:\/\/cryptopals.com\/sets\/6<\/a><\/p>\n<h3>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 41: Implement unpadded message recovery oracle<\/h3>\n<p>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442 \u043c\u0443\u043b\u044c\u0442\u0438\u043f\u043b\u0438\u043a\u0430\u0442\u0438\u0432\u043d\u043e\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e RSA:<br \/> \u0415\u0441\u043b\u0438 <img decoding=\"async\" class=\"formula inline\" source=\"c = m^e\" alt=\"c = m^e\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/c4\/c43\/c43f35aefe00ab264224aee43724480c.svg\" width=\"auto\" height=\"auto\"\/>, \u0442\u043e<br \/> <img decoding=\"async\" class=\"formula inline\" source=\"(s^e * c)^d \\pmod n = s * m\" alt=\"(s^e * c)^d \\pmod n = s * m\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/1\/1a\/1a9\/1a9c594f05e6f12c52f87bde7c7c3154.svg\" width=\"auto\" height=\"auto\"\/><br \/> \u042d\u0442\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043e\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043f\u043e\u0434\u043f\u0438\u0441\u044c \u0434\u043b\u044f \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043d\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u043b\u043e\u0441\u044c. \u041f\u043e \u0441\u0443\u0442\u0438 \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u0441\u043b\u0435\u043f\u043e\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u0438.<\/p>\n<h3>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 42: Bleichenbacher&#8217;s e=3 RSA Attack<\/h3>\n<p>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043e \u0430\u0442\u0430\u043a\u0435 Bleichenbacher \u043d\u0430 PKCS1.5 RSA \u0441 <img decoding=\"async\" class=\"formula inline\" source=\"e = 3\" alt=\"e = 3\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/c8\/c86\/c86e8aeda0dcaed032cca0f86f43388f.svg\" width=\"auto\" height=\"auto\"\/>.<\/p>\n<p><strong>\u0424\u043e\u0440\u043c\u0430\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f  PKCS1.5<\/strong><br \/> C\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 PKCS1.5 \u0438\u043c\u0435\u0435\u0442 \u0432\u0438\u0434 \u0432\u0438\u0434:<br \/> <code>0x00 0x01 0xff 0xff ... 0xff 0xff 0x00 ASN HASH<\/code>, \u0433\u0434\u0435<br \/> ASN \u2014 \u0441\u043b\u0443\u0436\u0435\u0431\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0449\u0430\u044f \u0445\u0435\u0448-\u0444\u0443\u043d\u043a\u0446\u0438\u044e<br \/> HASH \u2014 \u0445\u0435\u0448 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f<\/p>\n<p>\u0414\u043b\u0438\u043d\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0432 \u0431\u0430\u0439\u0442\u0430\u0445 \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u0440\u0430\u0432\u043d\u0430 \u0434\u043b\u0438\u043d\u0435 \u043c\u043e\u0434\u0443\u043b\u044f <img decoding=\"async\" class=\"formula inline\" source=\"n\" alt=\"n\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/7\/7b\/7b8\/7b8b965ad4bca0e41ab51de7b31363a1.svg\" width=\"auto\" height=\"auto\"\/> (\u044d\u0442\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0443\u0436\u043d\u044b\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u0431\u0430\u0439\u0442\u043e\u0432 <code>0xff<\/code>).<\/p>\n<p><strong>\u041f\u043e\u0434\u043f\u0438\u0441\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f<\/strong><br \/> \u041f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043f\u0430\u043a\u0435\u0442 \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0442\u0430\u043a:<\/p>\n<ol>\n<li>\n<p>\u041f\u0430\u043a\u0435\u0442 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432 \u0432\u0438\u0434\u0435 \u0447\u0438\u0441\u043b\u0430 <img decoding=\"async\" class=\"formula inline\" source=\"m\" alt=\"m\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/6\/6f\/6f8\/6f8f57715090da2632453988d9a1501b.svg\" width=\"auto\" height=\"auto\"\/><\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f RSA: <img decoding=\"async\" class=\"formula inline\" source=\"s = m^d \\pmod n\" alt=\"s = m^d \\pmod n\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/d\/d0\/d0f\/d0fc3cbd6b9cc47c917fd7a46c224e28.svg\" width=\"auto\" height=\"auto\"\/><\/p>\n<\/li>\n<\/ol>\n<p><strong>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043f\u043e\u0434\u043f\u0438\u0441\u0438<\/strong><br \/> \u041f\u0440\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435 \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u044c \u0441\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f <img decoding=\"async\" class=\"formula inline\" source=\"m = s^e \\pmod n\" alt=\"m = s^e \\pmod n\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/3\/3c\/3c5\/3c5c2c4802d5bd2e027ed33499500f0e.svg\" width=\"auto\" height=\"auto\"\/>, \u0437\u0430\u0442\u0435\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u0445\u0435\u0448 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f.<\/p>\n<p><strong>\u0410\u0442\u0430\u043a\u0430<\/strong><br \/> \u0410\u0442\u0430\u043a\u0430 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0439 \u0438\u0437-\u0437\u0430 \u043e\u0448\u0438\u0431\u043a\u0438 \u043f\u0440\u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0430\u0437\u0431\u043e\u0440\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f.<\/p>\n<p>\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0440\u0430\u0437\u0431\u043e\u0440\u0430 \u0441 \u043e\u0448\u0438\u0431\u043a\u043e\u0439:<\/p>\n<ol>\n<li>\n<p>\u041d\u0430\u0439\u0442\u0438 \u0431\u0430\u0439\u0442\u044b <code>0x00, 0x01<\/code><\/p>\n<\/li>\n<li>\n<p>\u041d\u0430\u0439\u0442\u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0437\u0430 \u043d\u0438\u043c\u0438 \u0431\u0430\u0439\u0442 <code>0x00<\/code><\/p>\n<\/li>\n<li>\n<p>\u0420\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c <code>ASN<\/code>, \u0443\u0437\u043d\u0430\u0442\u044c \u0434\u043b\u0438\u043d\u0443 \u0445\u0435\u0448\u0430<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043d\u0443\u0436\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0431\u0430\u0439\u0442 \u0445\u0435\u0448\u0430<\/p>\n<\/li>\n<li>\n<p>\u0421\u0432\u0435\u0440\u0438\u0442\u044c \u0445\u0435\u0448<\/p>\n<\/li>\n<\/ol>\n<p>\u041e\u0448\u0438\u0431\u043a\u0430 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043d\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u043d\u0438 \u0434\u043b\u0438\u043d\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f, \u043d\u0438 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0432\u0438\u0434\u0430 <code>0x00 0x01 0x00 ASN.1 HASH SOMEBYTES<\/code> \u0442\u0430\u043a\u0436\u0435 \u0431\u0443\u0434\u0443\u0442 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043d\u044b \u043f\u0430\u0440\u0441\u0435\u0440\u043e\u043c.<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u043f\u043e\u0434\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u043e\u0434\u043f\u0438\u0441\u044c, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0442\u0430\u043a\u043e\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0438 \u0432\u043e\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0438 \u0432 \u043a\u0443\u0431 \u043e\u043d\u043e \u0438\u043c\u0435\u043b\u043e \u0432\u0438\u0434 <code>0x00 0x01 ... 0x00 ASN.1 HASH SOMEBYTES<\/code>.<\/p>\n<ol>\n<li>\n<p>\u0421\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 <code>0x00 0x01 0x00 ASN.1 HASH 0x00...0x00<\/code><\/p>\n<\/li>\n<li>\n<p>\u0418\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u043c \u0438\u0437 \u043d\u0435\u0433\u043e \u043a\u0443\u0431\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043a\u043e\u0440\u0435\u043d\u044c<\/p>\n<\/li>\n<\/ol>\n<h3>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 43: DSA key recovery from nonce<\/h3>\n<p>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0434\u0432\u0443\u0445 \u0447\u0430\u0441\u0442\u0435\u0439:<\/p>\n<ul>\n<li>\n<p>\u041f\u0435\u0440\u0432\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u2014 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/DSA\" rel=\"noopener noreferrer nofollow\">DSA<\/a><\/p>\n<\/li>\n<li>\n<p>\u0412\u0442\u043e\u0440\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442, \u0447\u0442\u043e \u043d\u0435\u043b\u044c\u0437\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f <img decoding=\"async\" class=\"formula inline\" source=\"k\" alt=\"k\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/8c\/8ce\/8ce4b16b22b58894aa86c421e8759df3.svg\" width=\"auto\" height=\"auto\"\/> \u2014 \u044d\u0442\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u0440\u0430\u0441\u043a\u0440\u044b\u0442\u0438\u044e \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430<\/p>\n<\/li>\n<\/ul>\n<p>\u0415\u0441\u043b\u0438 <img decoding=\"async\" class=\"formula inline\" source=\"k\" alt=\"k\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/8c\/8ce\/8ce4b16b22b58894aa86c421e8759df3.svg\" width=\"auto\" height=\"auto\"\/> \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u0442\u043e \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u043b\u0435\u0433\u043a\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c:<br \/> <img decoding=\"async\" class=\"formula inline\" source=\"x = (r^{-1} \\pmod q * (k * s - h)) \\pmod q\" alt=\"x = (r^{-1} \\pmod q * (k * s - h)) \\pmod q\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/d\/d5\/d57\/d57fc89244a5c9749bc4aa08ec25659a.svg\" width=\"auto\" height=\"auto\"\/><\/p>\n<p>\u0412 \u0437\u0430\u0434\u0430\u043d\u0438\u0438 <img decoding=\"async\" class=\"formula inline\" source=\"k\" alt=\"k\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/8c\/8ce\/8ce4b16b22b58894aa86c421e8759df3.svg\" width=\"auto\" height=\"auto\"\/> \u043b\u0435\u0436\u0438\u0442 \u0432 \u043e\u0442\u0440\u0435\u0437\u043a\u0435 <img decoding=\"async\" class=\"formula inline\" source=\"[1, 2^{16}]\" alt=\"[1, 2^{16}]\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/b\/bf\/bfb\/bfbc6a2748a4361d89f6ce08e8727fce.svg\" width=\"auto\" height=\"auto\"\/>, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430\u0445\u043e\u0434\u0438\u043c \u0435\u0433\u043e \u043f\u0435\u0440\u0435\u0431\u043e\u0440\u043e\u043c.<\/p>\n<p><strong>\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435:<\/strong> \u0432 \u0437\u0430\u0434\u0430\u043d\u0438\u0438 <img decoding=\"async\" class=\"formula inline\" source=\"r\" alt=\"r\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/4\/4b\/4b4\/4b43b0aee35624cd95b910189b3dc231.svg\" width=\"auto\" height=\"auto\"\/> \u0438 <img decoding=\"async\" class=\"formula inline\" source=\"s\" alt=\"s\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/0\/03\/03c\/03c7c0ace395d80182db07ae2c30f034.svg\" width=\"auto\" height=\"auto\"\/> \u0443\u043a\u0430\u0437\u0430\u043d\u044b \u0432  \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0441\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f, \u0432 \u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u0430\u043a \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u0430 \u2014 \u0432 \u0448\u0435\u0441\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u0435\u0440\u0438\u0447\u043d\u043e\u0439.<\/p>\n<h3>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 44: DSA nonce recovery from repeated nonce<\/h3>\n<p>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442, \u0447\u0442\u043e \u043d\u0435\u043b\u044c\u0437\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0449\u0438\u0435\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f <img decoding=\"async\" class=\"formula inline\" source=\"k\" alt=\"k\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/8c\/8ce\/8ce4b16b22b58894aa86c421e8759df3.svg\" width=\"auto\" height=\"auto\"\/> \u0434\u043b\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043f\u043e\u0434\u043f\u0438\u0441\u0438 DSA \u2014 \u044d\u0442\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u0440\u0430\u0441\u043a\u0440\u044b\u0442\u0438\u044e \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430.<\/p>\n<ol>\n<li>\n<p>\u0415\u0441\u043b\u0438 <img decoding=\"async\" class=\"formula inline\" source=\"k\" alt=\"k\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/8c\/8ce\/8ce4b16b22b58894aa86c421e8759df3.svg\" width=\"auto\" height=\"auto\"\/> \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435, \u0442\u043e <img decoding=\"async\" class=\"formula inline\" source=\"r = g^k \\pmod p \\pmod q\" alt=\"r = g^k \\pmod p \\pmod q\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/c7\/c7f\/c7fb90390e8a9dc4d44e4bf1d226b0f5.svg\" width=\"auto\" height=\"auto\"\/> \u0442\u0430\u043a\u0436\u0435 \u0431\u0443\u0434\u0443\u0442 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435. \u041d\u0430\u0445\u043e\u0434\u0438\u043c \u0432 \u0444\u0430\u0439\u043b\u0435 \u0434\u0432\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0441 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c <img decoding=\"async\" class=\"formula inline\" source=\"r\" alt=\"r\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/4\/4b\/4b4\/4b43b0aee35624cd95b910189b3dc231.svg\" width=\"auto\" height=\"auto\"\/><\/p>\n<\/li>\n<li>\n<p>\u0420\u0430\u0441\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u043c <img decoding=\"async\" class=\"formula inline\" source=\"k = (m_1 - m_2) * (s_1 - s_2)^{-1} \\pmod q\" alt=\"k = (m_1 - m_2) * (s_1 - s_2)^{-1} \\pmod q\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/0\/01\/01d\/01d5c8bf89df0558804ca4a966e86752.svg\" width=\"auto\" height=\"auto\"\/><\/p>\n<\/li>\n<li>\n<p>\u0420\u0430\u0441\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u043c <img decoding=\"async\" class=\"formula inline\" source=\"x\" alt=\"x\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/9\/9d\/9dd\/9dd4e461268c8034f5c8564e155c67a6.svg\" width=\"auto\" height=\"auto\"\/> \u043f\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u043c\u0443 <img decoding=\"async\" class=\"formula inline\" source=\"k\" alt=\"k\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/8c\/8ce\/8ce4b16b22b58894aa86c421e8759df3.svg\" width=\"auto\" height=\"auto\"\/>, \u043a\u0430\u043a \u0432 \u0417\u0430\u0434\u0430\u043d\u0438\u0438 43<\/p>\n<\/li>\n<\/ol>\n<h3>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 45: DSA parameter tampering<\/h3>\n<p>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u0432\u0430\u0436\u043d\u043e \u0442\u0449\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0432 \u043f\u043e\u0434\u043f\u0438\u0441\u0438 DSA.<\/p>\n<ol>\n<li>\n<p>\u0421\u043b\u0443\u0447\u0430\u0439 <img decoding=\"async\" class=\"formula inline\" source=\"g = 0 \\pmod p\" alt=\"g = 0 \\pmod p\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/b\/b5\/b56\/b56e36399f2fc32e0d3b8cd339d59086.svg\" width=\"auto\" height=\"auto\"\/>:<br \/> \u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043b\u044e\u0431\u043e\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0434\u043b\u044f \u043b\u044e\u0431\u043e\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u0432\u0435\u0440\u043d\u043e\u0439, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e<br \/> <img decoding=\"async\" class=\"formula inline\" source=\"r = g ^ k \\pmod p = 0\" alt=\"r = g ^ k \\pmod p = 0\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/7\/79\/79e\/79e581c7b08d2b28ff84bbd0ca84fd76.svg\" width=\"auto\" height=\"auto\"\/><br \/> <img decoding=\"async\" class=\"formula inline\" source=\"v = g^{u_1} y^{u_2} = 0\" alt=\"v = g^{u_1} y^{u_2} = 0\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/9\/90\/904\/904a318df16fc5d703caf171217f199c.svg\" width=\"auto\" height=\"auto\"\/><br \/> \u0418 <img decoding=\"async\" class=\"formula inline\" source=\"v\" alt=\"v\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/9\/9e\/9e3\/9e3669d19b675bd57058fd4664205d2a.svg\" width=\"auto\" height=\"auto\"\/> \u0432\u0441\u0435\u0433\u0434\u0430 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u0441 <img decoding=\"async\" class=\"formula inline\" source=\"r\" alt=\"r\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/4\/4b\/4b4\/4b43b0aee35624cd95b910189b3dc231.svg\" width=\"auto\" height=\"auto\"\/><\/p>\n<\/li>\n<li>\n<p>\u0421\u043b\u0443\u0447\u0430\u0439 <img decoding=\"async\" class=\"formula inline\" source=\"g = 1 \\pmod p\" alt=\"g = 1 \\pmod p\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/1\/17\/17d\/17d178c20dcd1f0dbae8cfa66764ac85.svg\" width=\"auto\" height=\"auto\"\/>:<br \/> \u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0442\u0430\u043a\u0443\u044e \u043f\u043e\u0434\u043f\u0438\u0441\u044c, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442\u044c \u043a \u043b\u044e\u0431\u043e\u043c\u0443 \u0442\u0435\u043a\u0441\u0442\u0443:<br \/> <img decoding=\"async\" class=\"formula inline\" source=\"z\" alt=\"z\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/f\/fb\/fba\/fbade9e36a3f36d3d676c1b808451dd7.svg\" width=\"auto\" height=\"auto\"\/> \u2014 \u043b\u044e\u0431\u043e\u0435 \u0447\u0438\u0441\u043b\u043e<br \/> <img decoding=\"async\" class=\"formula inline\" source=\"r = y ^ z \\pmod p \\pmod q\" alt=\"r = y ^ z \\pmod p \\pmod q\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/e\/e7\/e79\/e7963c325f8696b2f6b33ef31e3d5f9a.svg\" width=\"auto\" height=\"auto\"\/><br \/> <img decoding=\"async\" class=\"formula inline\" source=\"s = r z^{-1} \\pmod q\" alt=\"s = r z^{-1} \\pmod q\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/7\/73\/730\/730c09425241417804edd4004958eceb.svg\" width=\"auto\" height=\"auto\"\/><\/p>\n<\/li>\n<\/ol>\n<p>\u0422\u043e\u0433\u0434\u0430 \u043f\u0440\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435:<br \/> <img decoding=\"async\" class=\"formula inline\" source=\"v = g^{u_1} y^{u_2} = y^{u_2} = y^{rw} = y^{rr^{-1}z} = y^z = r\" alt=\"v = g^{u_1} y^{u_2} = y^{u_2} = y^{rw} = y^{rr^{-1}z} = y^z = r\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/a\/a6\/a6b\/a6b0b2aa8f80309a8f638629bffc17e7.svg\" width=\"auto\" height=\"auto\"\/><\/p>\n<h3>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 46: RSA parity oracle<\/h3>\n<p>\u0414\u0430\u043d \u043e\u0440\u0430\u043a\u0443\u043b, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0447\u0451\u0442\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e RSA \u0447\u0438\u0441\u043b\u0430.  \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u044d\u0442\u043e\u0442 \u043e\u0440\u0430\u043a\u0443\u043b, \u043d\u0443\u0436\u043d\u043e \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c \u0447\u0438\u0441\u043b\u043e. \u0417\u0430\u0434\u0430\u043d\u0438\u0435 \u0438\u0433\u0440\u0443\u0448\u0435\u0447\u043d\u043e\u0435, \u043d\u043e \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0435 \u0434\u043b\u044f \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e.<\/p>\n<p>\u041f\u0443\u0441\u0442\u044c <img decoding=\"async\" class=\"formula inline\" source=\"m\" alt=\"m\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/6\/6f\/6f8\/6f8f57715090da2632453988d9a1501b.svg\" width=\"auto\" height=\"auto\"\/> \u2014 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e<br \/> <img decoding=\"async\" class=\"formula inline\" source=\"E(m) = c = m^e \\pmod n\" alt=\"E(m) = c = m^e \\pmod n\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/1\/18\/182\/182e8c1de70a0b8239f794598c2ef6df.svg\" width=\"auto\" height=\"auto\"\/> \u2014 \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e<\/p>\n<p>\u041c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u0434\u043b\u044f \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f <img decoding=\"async\" class=\"formula inline\" source=\"2m\" alt=\"2m\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/9\/93\/93b\/93b47baf59ea142b485dc22577a56dac.svg\" width=\"auto\" height=\"auto\"\/>:<br \/> <img decoding=\"async\" class=\"formula inline\" source=\"c' = c * 2^e \\pmod n = (2m)^e \\pmod n = E(2m)\" alt=\"c' = c * 2^e \\pmod n = (2m)^e \\pmod n = E(2m)\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/7\/7b\/7bc\/7bcd9dad9ff671bbff2311d678172f73.svg\" width=\"auto\" height=\"auto\"\/><\/p>\n<p>\u041f\u043e\u0434\u0430\u0451\u043c \u044d\u0442\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043d\u0430 \u0432\u0445\u043e\u0434 \u043e\u0440\u0430\u043a\u0443\u043b\u0443:<\/p>\n<ol>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u043e\u0442\u0432\u0435\u0442, \u0447\u0442\u043e \u0447\u0438\u0441\u043b\u043e \u043d\u0435\u0447\u0451\u0442\u043d\u043e\u0435, \u0437\u043d\u0430\u0447\u0438\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043f\u0440\u0435\u0432\u043e\u0441\u0445\u043e\u0434\u0438\u0442 <img decoding=\"async\" class=\"formula inline\" source=\"n\" alt=\"n\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/7\/7b\/7b8\/7b8b965ad4bca0e41ab51de7b31363a1.svg\" width=\"auto\" height=\"auto\"\/> (\u0442\u0430\u043a \u043a\u0430\u043a <img decoding=\"async\" class=\"formula inline\" source=\"n\" alt=\"n\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/7\/7b\/7b8\/7b8b965ad4bca0e41ab51de7b31363a1.svg\" width=\"auto\" height=\"auto\"\/> \u2014 \u043d\u0435\u0447\u0451\u0442\u043d\u043e\u0435, \u043e\u0441\u0442\u0430\u0442\u043e\u043a \u0431\u0435\u0437 \u043f\u0440\u0435\u0432\u044b\u0448\u0435\u043d\u0438\u044f \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043d\u0435\u0447\u0451\u0442\u043d\u044b\u043c), \u0430 \u0437\u043d\u0430\u0447\u0438\u0442 <img decoding=\"async\" class=\"formula inline\" source=\"m \\ge n \/ 2\" alt=\"m \\ge n \/ 2\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/d\/d3\/d33\/d3346a8f496a404d8c89f3053f366cb7.svg\" width=\"auto\" height=\"auto\"\/><\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u043e\u0442\u0432\u0435\u0442 \u0447\u0451\u0442\u043d\u043e\u0435, \u0437\u043d\u0430\u0447\u0438\u0442   <img decoding=\"async\" class=\"formula inline\" source=\"m \\le n \/ 2\" alt=\"m \\le n \/ 2\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/6\/61\/613\/613ab3f1745ff308f22458f1cd87320b.svg\" width=\"auto\" height=\"auto\"\/><\/p>\n<\/li>\n<\/ol>\n<p>\u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u0447\u0442\u043e <img decoding=\"async\" class=\"formula inline\" source=\"0 \\le m \\le n\" alt=\"0 \\le m \\le n\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/7\/7b\/7b6\/7b633badbf3ed3978ab74656046181b5.svg\" width=\"auto\" height=\"auto\"\/>. \u041f\u043e\u0432\u0442\u043e\u0440\u044f\u044f \u044d\u0442\u0443 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e \u0434\u043b\u044f <img decoding=\"async\" class=\"formula inline\" source=\"4m\" alt=\"4m\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/a\/ae\/aea\/aea1e33f16dc583f59f3742eeee96b03.svg\" width=\"auto\" height=\"auto\"\/>, <img decoding=\"async\" class=\"formula inline\" source=\"8m\" alt=\"8m\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/2\/20\/20e\/20e83d6b922f6900f6ba85d9775f3f70.svg\" width=\"auto\" height=\"auto\"\/>,&#8230; \u043d\u0430\u0445\u043e\u0434\u0438\u043c <img decoding=\"async\" class=\"formula inline\" source=\"m\" alt=\"m\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/6\/6f\/6f8\/6f8f57715090da2632453988d9a1501b.svg\" width=\"auto\" height=\"auto\"\/>.<\/p>\n<h3>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 47-48: Bleichenbacher&#8217;s PKCS 1.5 Padding Oracle<\/h3>\n<p>\u042d\u0442\u043e \u0437\u0430\u0434\u0430\u043d\u0438\u0435 \u0441\u043b\u043e\u0436\u043d\u0435\u0435, \u0447\u0435\u043c \u0432\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0432\u043c\u0435\u0441\u0442\u0435 \u0432\u0437\u044f\u0442\u044b\u0435. \u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0430\u0442\u0430\u043a\u0443, \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u0443\u044e \u0432 \u0441\u0442\u0430\u0442\u044c\u0435 \u00abChosen Ciphertext Attacks Against Protocols Based on the RSA Encryption Standard PKCS #1\u00bb, Daniel Bleichenbacher.<\/p>\n<p><strong>\u0424\u043e\u0440\u043c\u0430\u0442 PKCS<\/strong><br \/> \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f RSA \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 <img decoding=\"async\" class=\"formula inline\" source=\"e\" alt=\"e\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/e\/e1\/e16\/e1671797c52e15f763380b45e841ec32.svg\" width=\"auto\" height=\"auto\"\/>, <img decoding=\"async\" class=\"formula inline\" source=\"d\" alt=\"d\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/82\/827\/8277e0910d750195b448797616e091ad.svg\" width=\"auto\" height=\"auto\"\/>, <img decoding=\"async\" class=\"formula inline\" source=\"n\" alt=\"n\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/7\/7b\/7b8\/7b8b965ad4bca0e41ab51de7b31363a1.svg\" width=\"auto\" height=\"auto\"\/>. \u0414\u043b\u0438\u043d\u0430 <img decoding=\"async\" class=\"formula inline\" source=\"n\" alt=\"n\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/7\/7b\/7b8\/7b8b965ad4bca0e41ab51de7b31363a1.svg\" width=\"auto\" height=\"auto\"\/> \u0432 \u0431\u0430\u0439\u0442\u0430\u0445 \u0440\u0430\u0432\u043d\u0430 <img decoding=\"async\" class=\"formula inline\" source=\"k\" alt=\"k\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/8c\/8ce\/8ce4b16b22b58894aa86c421e8759df3.svg\" width=\"auto\" height=\"auto\"\/>.<\/p>\n<p>\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f PKCS:<br \/> <code>0x00 0x02 PAD 0x00 DATA<\/code>, \u0433\u0434\u0435:<br \/> <code>0x00 0x02<\/code> \u2014 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u043d\u0430\u0447\u0430\u043b\u043e<br \/> <code>PAD<\/code> \u2014 \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u043c\u0438 \u043d\u0435\u043d\u0443\u043b\u0435\u0432\u044b\u043c\u0438 \u0431\u0430\u0439\u0442\u0430\u043c\u0438<br \/> <code>0x00<\/code> \u2014 \u043d\u0443\u043b\u0435\u0432\u043e\u0439 \u0431\u0430\u0439\u0442, \u043f\u0440\u0438\u0437\u043d\u0430\u043a \u043d\u0430\u0447\u0430\u043b\u0430 \u0434\u0430\u043d\u043d\u044b\u0445<br \/> <code>DATA<\/code> \u2014 \u0434\u0430\u043d\u043d\u044b\u0435<br \/> \u041e\u0431\u0449\u0430\u044f \u0434\u043b\u0438\u043d\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0440\u0430\u0432\u043d\u0430 \u0432 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 <img decoding=\"async\" class=\"formula inline\" source=\"k\" alt=\"k\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/8c\/8ce\/8ce4b16b22b58894aa86c421e8759df3.svg\" width=\"auto\" height=\"auto\"\/>.<\/p>\n<p>\u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u0432 \u0446\u0435\u043b\u043e\u0435 \u0447\u0438\u0441\u043b\u043e <img decoding=\"async\" class=\"formula inline\" source=\"m_0\" alt=\"m_0\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/f\/fe\/fed\/fed1e4775925bd3f7af0c5d8fc47e4e6.svg\" width=\"auto\" height=\"auto\"\/> \u0438 \u0448\u0438\u0444\u0440\u0443\u0435\u0442\u0441\u044f <img decoding=\"async\" class=\"formula inline\" source=\"c = m_0^e \\pmod n\" alt=\"c = m_0^e \\pmod n\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/9\/9b\/9b5\/9b506e817871da72e41b0c17c6aab284.svg\" width=\"auto\" height=\"auto\"\/>.<\/p>\n<p><strong>\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0430\u0442\u0430\u043a\u0438<\/strong><br \/> \u0410\u0442\u0430\u043a\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0430 \u0438\u0437-\u0437 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0438 \u0438 \u0440\u0430\u0437\u0431\u043e\u0440\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f PKCS. \u041e\u043d\u0430 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043f\u0430\u0440\u0441\u0435\u0440 \u0441\u0440\u0430\u0437\u0443 \u0432\u044b\u0434\u0430\u0451\u0442 \u043a\u0430\u043a\u0443\u044e-\u0442\u043e \u043e\u0441\u043e\u0431\u0443\u044e \u043e\u0448\u0438\u0431\u043a\u0443, \u0435\u0441\u043b\u0438 \u043f\u0435\u0440\u0432\u044b\u0435 \u0434\u0432\u0430 \u0431\u0430\u0439\u0442\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043d\u0435 \u0440\u0430\u0432\u043d\u044b <code>0x00 0x02<\/code>. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0430\u0442\u0430\u043a\u0443\u044e\u0449\u0435\u043c\u0443 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u043f\u0435\u0440\u0432\u044b\u0445 \u0431\u0430\u0439\u0442\u0430\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f.<\/p>\n<p>\u041e\u0431\u043e\u0437\u043d\u0430\u0447\u0438\u043c <img decoding=\"async\" class=\"formula inline\" source=\"B =\" alt=\"B =\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/8\/8c\/8c7\/8c7b1eadc57309cfab44612d76d9f87c.svg\" width=\"auto\" height=\"auto\"\/> <code>0x00 0x01 0x00 ... 0x00<\/code> , \u0432 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0435 <img decoding=\"async\" class=\"formula inline\" source=\"B = 2^{8(k-2)}\" alt=\"B = 2^{8(k-2)}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/4\/44\/449\/4495028b1df62f9206dfdc311de85078.svg\" width=\"auto\" height=\"auto\"\/><br \/> \u0422\u0430\u043a \u043a\u0430\u043a \u0432 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0438 <img decoding=\"async\" class=\"formula inline\" source=\"m_0\" alt=\"m_0\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/f\/fe\/fed\/fed1e4775925bd3f7af0c5d8fc47e4e6.svg\" width=\"auto\" height=\"auto\"\/> \u043f\u0435\u0440\u0432\u044b\u0435 \u0434\u0432\u0430 \u0431\u0430\u0439\u0442\u0430 \u0440\u0430\u0432\u043d\u044b <code>0x00 0x02<\/code>, \u0442\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u0447\u0442\u043e<\/p>\n<ol>\n<li>\n<p><img decoding=\"async\" class=\"formula inline\" source=\"2B \\le m_0\" alt=\"2B \\le m_0\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/c2\/c2a\/c2a7d7735191313ad2368710fbd57e28.svg\" width=\"auto\" height=\"auto\"\/>, \u0442\u0430\u043a \u043a\u0430\u043a <img decoding=\"async\" class=\"formula inline\" source=\"2B\" alt=\"2B\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/4\/49\/49b\/49ba7582631e47241f284a64b40e5a06.svg\" width=\"auto\" height=\"auto\"\/> \u0438\u043c\u0435\u0435\u0442 \u0432\u0438\u0434 <code>0x00 0x02 0x00 ... 0x00<\/code><\/p>\n<\/li>\n<li>\n<p><img decoding=\"async\" class=\"formula inline\" source=\"m_0 \\ge 3B\" alt=\"m_0 \\ge 3B\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/5\/57\/575\/575571b0119bea0816cf493d989f8197.svg\" width=\"auto\" height=\"auto\"\/>, \u0442\u0430\u043a \u043a\u0430\u043a <img decoding=\"async\" class=\"formula inline\" source=\"3B\" alt=\"3B\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/2\/20\/201\/2012f540e3b76b560cf92fefd04e14fe.svg\" width=\"auto\" height=\"auto\"\/> \u0438\u043c\u0435\u0435\u0442 \u0432\u0438\u0434 <code>0x00 0x03 0x00 ... 0x00<\/code><\/p>\n<\/li>\n<\/ol>\n<p>\u0417\u043d\u0430\u044f <img decoding=\"async\" class=\"formula inline\" source=\"c\" alt=\"c\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/4\/4a\/4a8\/4a8a08f09d37b73795649038408b5f33.svg\" width=\"auto\" height=\"auto\"\/>, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0434\u043b\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e <img decoding=\"async\" class=\"formula inline\" source=\"s\" alt=\"s\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/0\/03\/03c\/03c7c0ace395d80182db07ae2c30f034.svg\" width=\"auto\" height=\"auto\"\/> \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435<br \/> <img decoding=\"async\" class=\"formula inline\" source=\"c_1 = m_1^e \\pmod n = (m_0 * s)^e \\pmod n = c * s^e \\pmod n\" alt=\"c_1 = m_1^e \\pmod n = (m_0 * s)^e \\pmod n = c * s^e \\pmod n\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/4\/49\/495\/4955c7e0801c9b444c9652cbf4639da0.svg\" width=\"auto\" height=\"auto\"\/><br \/> \u0415\u0441\u043b\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 <img decoding=\"async\" class=\"formula inline\" source=\"c_1\" alt=\"c_1\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/5\/57\/576\/576f1dacd615219d9f8bea06b26d5fdc.svg\" width=\"auto\" height=\"auto\"\/> \u043d\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u043e\u0448\u0438\u0431\u043a\u0438, \u0442\u043e \u043f\u0435\u0440\u0432\u044b\u0435 \u0434\u0432\u0430 \u0431\u0430\u0439\u0442\u0430 \u0432 <img decoding=\"async\" class=\"formula inline\" source=\"m_1 = c_1 ^ d \\pmod n\" alt=\"m_1 = c_1 ^ d \\pmod n\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/5\/5e\/5e0\/5e0e223b2c5cdc00d89597f681ebc9c2.svg\" width=\"auto\" height=\"auto\"\/> \u0440\u0430\u0432\u043d\u044b <code>0x00 0x02<\/code>, \u0437\u043d\u0430\u0447\u0438\u0442<br \/> <img decoding=\"async\" class=\"formula inline\" source=\"2B \\le m_1 \\le 3B\" alt=\"2B \\le m_1 \\le 3B\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/f\/f0\/f0c\/f0c6ed63c2528fd15372f49a50709aa1.svg\" width=\"auto\" height=\"auto\"\/>, \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e<br \/> <img decoding=\"async\" class=\"formula inline\" source=\"2B \\le m_0s - rn \\le 3B\" alt=\"2B \\le m_0s - rn \\le 3B\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/5\/59\/59e\/59e70493dc10edcc30eadccecdf66a7e.svg\" width=\"auto\" height=\"auto\"\/><br \/> <img decoding=\"async\" class=\"formula inline\" source=\"\\frac{2B + rn}{s} \\le m_0 \\le \\frac{3B + rn}{s}\" alt=\"\\frac{2B + rn}{s} \\le m_0 \\le \\frac{3B + rn}{s}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/f\/fa\/fa9\/fa9dc349f2f8c18b51773aa44f75a035.svg\" width=\"auto\" height=\"auto\"\/><br \/> \u0427\u0442\u043e \u0434\u0430\u0451\u0442 \u043d\u043e\u0432\u044b\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u044f <img decoding=\"async\" class=\"formula inline\" source=\"m_0\" alt=\"m_0\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/f\/fe\/fed\/fed1e4775925bd3f7af0c5d8fc47e4e6.svg\" width=\"auto\" height=\"auto\"\/>. \u042d\u0442\u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0443\u0442\u043e\u0447\u043d\u044f\u044e\u0442 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 <img decoding=\"async\" class=\"formula inline\" source=\"2B \\le m_0 \\le 3B\" alt=\"2B \\le m_0 \\le 3B\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/7\/7b\/7b3\/7b31b32def60df49674cf8692f8ec2a8.svg\" width=\"auto\" height=\"auto\"\/><br \/> \u041f\u043e\u0432\u0442\u043e\u0440\u044f\u044f \u044d\u0442\u043e\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <img decoding=\"async\" class=\"formula inline\" source=\"m_0\" alt=\"m_0\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/f\/fe\/fed\/fed1e4775925bd3f7af0c5d8fc47e4e6.svg\" width=\"auto\" height=\"auto\"\/>.<\/p>\n<p><strong>\u0420\u0435\u0448\u0435\u043d\u0438\u0435<\/strong><\/p>\n<ol>\n<li>\n<p>\u041f\u043e\u043b\u0430\u0433\u0430\u0435\u043c <img decoding=\"async\" class=\"formula inline\" source=\"M = ([2B, 3B])\" alt=\"M = ([2B, 3B])\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/e\/eb\/eb3\/eb3a09b971a10a8ef2139f894aac29a6.svg\" width=\"auto\" height=\"auto\"\/>. \u0418\u0449\u0435\u043c <img decoding=\"async\" class=\"formula inline\" source=\"s_1\" alt=\"s_1\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/5\/54\/54d\/54dbe5ef61d2f9977c7be03737833609.svg\" width=\"auto\" height=\"auto\"\/> \u0442\u0430\u043a\u043e\u0435, \u0447\u0442\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 <img decoding=\"async\" class=\"formula inline\" source=\"c_1 = s_1^e * m_0 \\pmod n\" alt=\"c_1 = s_1^e * m_0 \\pmod n\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/a\/a0\/a08\/a089df3a7ee3fd7b53f841cb31994aba.svg\" width=\"auto\" height=\"auto\"\/> \u043d\u0435 \u0432\u044b\u0437\u043e\u0432\u0435\u0442 \u043e\u0448\u0438\u0431\u043a\u0438.<\/p>\n<\/li>\n<li>\n<p>\u0412\u0435\u0440\u043d\u0430 \u043e\u0446\u0435\u043d\u043a\u0430 <img decoding=\"async\" class=\"formula inline\" source=\"r = \\frac{m_0s_1 - m_1}{n}\" alt=\"r = \\frac{m_0s_1 - m_1}{n}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/c2\/c27\/c27a88ba080e831b70cca61f5803daf4.svg\" width=\"auto\" height=\"auto\"\/>,   <img decoding=\"async\" class=\"formula inline\" source=\"r \\le \\frac{3Bs_1 - 2B}{n} =\\frac{3Bs_1}{n}\" alt=\"r \\le \\frac{3Bs_1 - 2B}{n} =\\frac{3Bs_1}{n}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/5\/56\/561\/561bf4cc72a0fd4cf5647bbb4355e862.svg\" width=\"auto\" height=\"auto\"\/>. \u0418 \u0447\u0442\u043e\u0431\u044b <img decoding=\"async\" class=\"formula inline\" source=\"r \\ge 1\" alt=\"r \\ge 1\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/2\/2a\/2a0\/2a0597799ac58a1213b461f3b229867f.svg\" width=\"auto\" height=\"auto\"\/> \u0434\u043e\u043b\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f <img class=\"formula inline\" source=\"s_1 > \\frac{n}{3B}&#187; alt=&#187;s_1 > \\frac{n}{3B}&#187; src=&#187;https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/cb\/cb6\/cb6a9cf4c920aae1b3f15ff71ade5921.svg&#187; width=&#187;auto&#187; height=&#187;auto&#187;\/> \u2014 \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <img decoding=\"async\" class=\"formula inline\" source=\"s_1\" alt=\"s_1\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/5\/54\/54d\/54dbe5ef61d2f9977c7be03737833609.svg\" width=\"auto\" height=\"auto\"\/> \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043a\u0430\u043a \u043e\u0442\u043f\u0440\u0430\u0432\u043d\u0443\u044e \u0442\u043e\u0447\u043a\u0443<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u044f <img decoding=\"async\" class=\"formula inline\" source=\"m_0\" alt=\"m_0\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/f\/fe\/fed\/fed1e4775925bd3f7af0c5d8fc47e4e6.svg\" width=\"auto\" height=\"auto\"\/>: <img decoding=\"async\" class=\"formula inline\" source=\"\\frac{2B + rn}{s_1} \\le m_0 \\le \\frac{3B + rn}{s_1}\" alt=\"\\frac{2B + rn}{s_1} \\le m_0 \\le \\frac{3B + rn}{s_1}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/e\/e0\/e0d\/e0d36b03fbfcba6e48eedcb464f8e0eb.svg\" width=\"auto\" height=\"auto\"\/><\/p>\n<\/li>\n<li>\n<p>\u0421\u0442\u0440\u043e\u0438\u043c \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0445 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439 \u0441 \u0442\u0435\u043a\u0443\u0449\u0438\u043c\u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f\u043c\u0438<\/p>\n<\/li>\n<\/ol>\n<p>\u0414\u0430\u043b\u0435\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b \u0442\u0440\u0438 \u0441\u043b\u0443\u0447\u0430\u044f:<\/p>\n<ol>\n<li>\n<p><img decoding=\"async\" class=\"formula inline\" source=\"M\" alt=\"M\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/6\/69\/696\/69691c7bdcc3ce6d5d8a1361f22d04ac.svg\" width=\"auto\" height=\"auto\"\/> \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0431\u043e\u043b\u0435\u0435 \u0447\u0435\u043c \u043e\u0434\u043d\u043e\u0433\u043e \u043e\u0442\u0440\u0435\u0437\u043a\u0430. \u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u044b \u043d\u0430\u0445\u043e\u0434\u0438\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <img class=\"formula inline\" source=\"s_{i + 1} > s_i&#187; alt=&#187;s_{i + 1} > s_i&#187; src=&#187;https:\/\/habrastorage.org\/getpro\/habr\/formulas\/7\/79\/79d\/79d0a181418b8a3677a87c414987c9f3.svg&#187; width=&#187;auto&#187; height=&#187;auto&#187;\/>, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u044f <img decoding=\"async\" class=\"formula inline\" source=\"m_0\" alt=\"m_0\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/f\/fe\/fed\/fed1e4775925bd3f7af0c5d8fc47e4e6.svg\" width=\"auto\" height=\"auto\"\/> \u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043d\u0430 \u0448\u0430\u0433 3.<\/p>\n<\/li>\n<li>\n<p><img decoding=\"async\" class=\"formula inline\" source=\"M\" alt=\"M\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/6\/69\/696\/69691c7bdcc3ce6d5d8a1361f22d04ac.svg\" width=\"auto\" height=\"auto\"\/> \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0440\u043e\u0432\u043d\u043e \u0438\u0437 \u043e\u0434\u043d\u043e\u0433\u043e \u043e\u0442\u0440\u0435\u0437\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u043e\u0434\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u0438. \u0422\u043e\u0433\u0434\u0430 <img decoding=\"async\" class=\"formula inline\" source=\"m_0\" alt=\"m_0\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/f\/fe\/fed\/fed1e4775925bd3f7af0c5d8fc47e4e6.svg\" width=\"auto\" height=\"auto\"\/> \u043d\u0430\u0439\u0434\u0435\u043d\u043e<\/p>\n<\/li>\n<li>\n<p><img decoding=\"async\" class=\"formula inline\" source=\"M\" alt=\"M\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/6\/69\/696\/69691c7bdcc3ce6d5d8a1361f22d04ac.svg\" width=\"auto\" height=\"auto\"\/> \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0440\u043e\u0432\u043d\u043e \u0438\u0437 \u043e\u0434\u043d\u043e\u0433\u043e \u043e\u0442\u0440\u0435\u0437\u043a\u0430 <img decoding=\"async\" class=\"formula inline\" source=\"[a, b]\" alt=\"[a, b]\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/0\/02\/022\/022022f289db140169cd9514f74ee648.svg\" width=\"auto\" height=\"auto\"\/>. \u0422\u043e\u0433\u0434\u0430 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u043e\u0438\u0441\u043a\u0430: \u043d\u0430\u0445\u043e\u0434\u0438\u043c <img decoding=\"async\" class=\"formula inline\" source=\"s_i\" alt=\"s_i\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/e\/e4\/e40\/e406ac4d7c470823a8619c13dd7101be.svg\" width=\"auto\" height=\"auto\"\/> \u0442\u0430\u043a\u043e\u0435, \u0447\u0442\u043e <img decoding=\"async\" class=\"formula inline\" source=\"\\frac{2B + r_in}{b} \\le s_i \\le \\frac{3B + r_in}{a}\" alt=\"\\frac{2B + r_in}{b} \\le s_i \\le \\frac{3B + r_in}{a}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/0\/0b\/0b0\/0b098c76d31d3512d549a63d9445b59d.svg\" width=\"auto\" height=\"auto\"\/> (\u043f\u0440\u0438 \u044d\u0442\u043e\u043c <img decoding=\"async\" class=\"formula inline\" source=\"r_i \\ge \\frac{2bs_{i - 1} - 2B}{n}\" alt=\"r_i \\ge \\frac{2bs_{i - 1} - 2B}{n}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/2\/27\/272\/272bfdd3c74728889b46b5fd4491e1d8.svg\" width=\"auto\" height=\"auto\"\/>). \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u044f <img decoding=\"async\" class=\"formula inline\" source=\"m_0\" alt=\"m_0\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/f\/fe\/fed\/fed1e4775925bd3f7af0c5d8fc47e4e6.svg\" width=\"auto\" height=\"auto\"\/> \u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043d\u0430 \u0448\u0430\u0433 3.<\/p>\n<\/li>\n<\/ol>\n<p><strong>\u041a\u043e\u0434 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u043d\u0430 python:<\/strong> <a href=\"https:\/\/github.com\/seregablog\/cryptopals\" rel=\"noopener noreferrer nofollow\">https:\/\/github.com\/seregablog\/cryptopals<\/a><\/p>\n<hr\/>\n<p>\u0411\u043e\u043b\u044c\u0448\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0433\u043e \u0443 \u043c\u0435\u043d\u044f \u0432 <a href=\"https:\/\/t.me\/+LQI0gTuGj5M0YTky\" rel=\"noopener noreferrer nofollow\">\u0422\u0435\u043b\u0435\u0433\u0440\u0430\u043c-\u043a\u0430\u043d\u0430\u043b\u0435<\/a><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/804905\/\"> https:\/\/habr.com\/ru\/articles\/804905\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0417\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u043c \u0440\u0435\u0448\u0435\u043d\u0438\u0435 <a href=\"https:\/\/cryptopals.com\/\" rel=\"noopener noreferrer nofollow\">cryptopals<\/a>. \u0412 \u044d\u0442\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0431\u043b\u043e\u043a\u0438 \u0437\u0430\u0434\u0430\u043d\u0438\u0439 5 \u0438 6, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u044b \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438 \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u043a\u043b\u044e\u0447\u043e\u043c.<\/p>\n<p><a href=\"https:\/\/habr.com\/ru\/articles\/801805\/\" rel=\"noopener noreferrer nofollow\">\u041f\u0435\u0440\u0432\u0430\u044f \u0447\u0430\u0441\u0442\u044c<\/a><br \/> <a href=\"https:\/\/habr.com\/ru\/articles\/803077\/\" rel=\"noopener noreferrer nofollow\">\u0412\u0442\u043e\u0440\u0430\u044f \u0447\u0430\u0441\u0442\u044c<\/a><br \/> \u0422\u0440\u0435\u0442\u044c\u044f \u0447\u0430\u0441\u0442\u044c<\/p>\n<h2>\u0411\u043b\u043e\u043a 5: Diffie-Hellman and friends<\/h2>\n<p><strong>\u0422\u0435\u043c\u044b:<\/strong>  \u041f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u0414\u0438\u0444\u0444\u0438-\u0425\u0435\u043b\u043b\u043c\u0430\u043d\u0430, SRP<br \/> <strong>\u0421\u0441\u044b\u043b\u043a\u0430:<\/strong>  <a href=\"https:\/\/cryptopals.com\/sets\/5\" rel=\"noopener noreferrer nofollow\">https:\/\/cryptopals.com\/sets\/5<\/a><\/p>\n<h3>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 33: Implement Diffie-Hellman<\/h3>\n<p>\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0437\u0430\u0434\u0430\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442 \u0441 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u043c <a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB_%D0%94%D0%B8%D1%84%D1%84%D0%B8_%E2%80%94_%D0%A5%D0%B5%D0%BB%D0%BB%D0%BC%D0%B0%D0%BD%D0%B0\" rel=\"noopener noreferrer nofollow\">\u0414\u0438\u0444\u0444\u0438-\u0425\u0435\u043b\u043b\u043c\u0430\u043d\u0430<\/a> \u0434\u043b\u044f \u0432\u044b\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u0431\u0449\u0435\u0433\u043e \u0441\u0435\u0441\u0441\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430.<\/p>\n<h3>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 34: Implement a MITM key-fixing attack on Diffie-Hellman with parameter injection<\/h3>\n<p>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0430\u0442\u0430\u043a\u0438 \u00ab\u0447\u0435\u043b\u043e\u0432\u0435\u043a \u043f\u043e\u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0435\u00bb \u0432 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0435 \u0414\u0438\u0444\u0444\u0438-\u0425\u0435\u043b\u043b\u043c\u0430\u043d\u0430.<br \/> \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a\u043e\u0439 \u043e\u0431\u0449\u0438\u0439 \u043a\u043b\u044e\u0447  \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435. \u041f\u0440\u0438 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 , \u043d\u043e \u0438\u0437-\u0437\u0430 \u043f\u0440\u043e\u0442\u0438\u0432\u043d\u0438\u043a\u0430 \u043f\u043e\u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0435 A \u0434\u0443\u043c\u0430\u0435\u0442, \u0447\u0442\u043e , \u043f\u043e\u044d\u0442\u043e\u043c\u0443<\/p>\n<p> \u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0441\u0435\u0441\u0441\u0438\u043e\u043d\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u0438\u043c\u0435\u0435\u0442 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0447\u0435\u043c\u0443 M \u043c\u043e\u0436\u0435\u0442 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f.<\/p>\n<h3>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 35: Implement DH with negotiated groups, and break with malicious &#171;g&#187; parameters<\/h3>\n<p>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442, \u0447\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u043c \u0414\u0438\u0444\u0444\u0438-\u0425\u0435\u043b\u043b\u043c\u0430\u043d\u0430 \u043f\u0440\u0438 \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u043e\u043c \u0432\u044b\u0431\u043e\u0440\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 .<\/p>\n<p>\u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0441\u0435\u0441\u0441\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430 \u0434\u043b\u044f \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0430 A: <\/p>\n<ol>\n<li>\n<p>, \u0442\u043e\u0433\u0434\u0430 <\/p>\n<\/li>\n<li>\n<p>, \u0442\u043e\u0433\u0434\u0430 <\/p>\n<\/li>\n<li>\n<p>, \u0442\u043e\u0433\u0434\u0430  \u0438\u043b\u0438 1<\/p>\n<\/li>\n<\/ol>\n<p>\u0412\u043e \u0432\u0441\u0435\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u0435\u0441\u0441\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430 \u043b\u0435\u0433\u043a\u043e \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u043e.<\/p>\n<h3>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 36: Implement Secure Remote Password (SRP)<\/h3>\n<p>\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0437\u0430\u0434\u0430\u043d\u0438\u0435, \u043d\u0443\u0436\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b <a href=\"https:\/\/ru.wikipedia.org\/wiki\/SRP\" rel=\"noopener noreferrer nofollow\">Secure Remote Password<\/a>.<\/p>\n<h3>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 37: Break SRP with a zero key<\/h3>\n<p>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 SRP \u0432 \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u043a\u043b\u0438\u0435\u043d\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 .<br \/> \u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 , \u0438 \u043a\u043b\u044e\u0447 \u0431\u0443\u0434\u0435\u0442 \u0438\u043c\u0435\u0442\u044c \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 .<\/p>\n<h3>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 38: Offline dictionary attack on simplified SRP<\/h3>\n<p>\u041f\u0440\u0438\u0432\u0435\u0434\u0451\u043d\u043d\u044b\u0439 \u0432 \u0437\u0430\u0434\u0430\u043d\u0438\u0438 \u00ab\u0443\u043f\u0440\u043e\u0449\u0451\u043d\u043d\u044b\u0439\u00bb \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b SRP \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0433\u043b\u0430\u0432\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0442\u0435\u043c, \u0447\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435  \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 , \u0430 \u0437\u043d\u0430\u0447\u0438\u0442 \u0438 \u043e\u0442 \u043f\u0430\u0440\u043e\u043b\u044f. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0430\u0442\u0430\u043a\u0443\u044e\u0449\u0435\u043c\u0443 \u043f\u043e\u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0435  \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043e\u0442\u0432\u0435\u0442\u0430 \u043d\u0430 \u0437\u0430\u043f\u0440\u043e\u0441 \u043a\u043b\u0438\u0435\u043d\u0442\u0430, \u0430 \u0437\u0430\u0442\u0435\u043c \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u043e\u0444\u043b\u0430\u0439\u043d \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c \u043f\u0435\u0440\u0435\u0431\u043e\u0440 \u043f\u0430\u0440\u043e\u043b\u044f \u043f\u043e \u0441\u043b\u043e\u0432\u0430\u0440\u044e.<\/p>\n<h3>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 39: Implement RSA<\/h3>\n<p>\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0437\u0430\u0434\u0430\u043d\u0438\u0435, \u043d\u0443\u0436\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u0440\u0438\u043f\u0442\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u0443 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/RSA\" rel=\"noopener noreferrer nofollow\">RSA<\/a>.<\/p>\n<h3>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 40: Implement an E=3 RSA Broadcast attack<\/h3>\n<p>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442 Broadcast attack \u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0443 RSA \u0441 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u043c .<\/p>\n<p>\u0415\u0441\u043b\u0438 \u043e\u0434\u043d\u043e \u0438 \u0442\u043e \u0436\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0431\u044b\u043b\u043e \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043e \u043d\u0430 \u0442\u0440\u0451\u0445 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0445 \u043a\u043b\u044e\u0447\u0430\u0445 RSA, \u0442\u043e:<\/p>\n<p> <\/p>\n<p>\u042d\u0442\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0445 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0439 \u043f\u043e \u043c\u043e\u0434\u0443\u043b\u044e, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0448\u0438\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u041a\u0438\u0442\u0430\u0439\u0441\u043a\u043e\u0439 \u0442\u0435\u043e\u0440\u0435\u043c\u044b \u043e\u0431 \u043e\u0441\u0442\u0430\u0442\u043a\u0430\u0445 \u0438 \u043d\u0430\u0439\u0442\u0438  . \u0418\u0437\u0432\u043b\u0435\u043a\u0430\u044f \u043a\u0443\u0431\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043a\u043e\u0440\u0435\u043d\u044c \u0438\u0437 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435.<\/p>\n<h2>\u0411\u043b\u043e\u043a 6: RSA and DSA<\/h2>\n<p><strong>\u0422\u0435\u043c\u0430:<\/strong>  \u0410\u0442\u0430\u043a\u0438 \u043d\u0430 RSA \u0438 DSA<br \/> <strong>\u0421\u0441\u044b\u043b\u043a\u0430:<\/strong>  <a href=\"https:\/\/cryptopals.com\/sets\/6\" rel=\"noopener noreferrer nofollow\">https:\/\/cryptopals.com\/sets\/6<\/a><\/p>\n<h3>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 41: Implement unpadded message recovery oracle<\/h3>\n<p>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442 \u043c\u0443\u043b\u044c\u0442\u0438\u043f\u043b\u0438\u043a\u0430\u0442\u0438\u0432\u043d\u043e\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e RSA:<br \/> \u0415\u0441\u043b\u0438 , \u0442\u043e<\/p>\n<p> \u042d\u0442\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043e\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043f\u043e\u0434\u043f\u0438\u0441\u044c \u0434\u043b\u044f \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043d\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u043b\u043e\u0441\u044c. \u041f\u043e \u0441\u0443\u0442\u0438 \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u0441\u043b\u0435\u043f\u043e\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u0438.<\/p>\n<h3>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 42: Bleichenbacher&#8217;s e=3 RSA Attack<\/h3>\n<p>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043e \u0430\u0442\u0430\u043a\u0435 Bleichenbacher \u043d\u0430 PKCS1.5 RSA \u0441 .<\/p>\n<p><strong>\u0424\u043e\u0440\u043c\u0430\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f  PKCS1.5<\/strong><br \/> C\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 PKCS1.5 \u0438\u043c\u0435\u0435\u0442 \u0432\u0438\u0434 \u0432\u0438\u0434:<br \/> <code>0x00 0x01 0xff 0xff ... 0xff 0xff 0x00 ASN HASH<\/code>, \u0433\u0434\u0435<br \/> ASN \u2014 \u0441\u043b\u0443\u0436\u0435\u0431\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0449\u0430\u044f \u0445\u0435\u0448-\u0444\u0443\u043d\u043a\u0446\u0438\u044e<br \/> HASH \u2014 \u0445\u0435\u0448 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f<\/p>\n<p>\u0414\u043b\u0438\u043d\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0432 \u0431\u0430\u0439\u0442\u0430\u0445 \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u0440\u0430\u0432\u043d\u0430 \u0434\u043b\u0438\u043d\u0435 \u043c\u043e\u0434\u0443\u043b\u044f  (\u044d\u0442\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0443\u0436\u043d\u044b\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u0431\u0430\u0439\u0442\u043e\u0432 <code>0xff<\/code>).<\/p>\n<p><strong>\u041f\u043e\u0434\u043f\u0438\u0441\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f<\/strong><br \/> \u041f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043f\u0430\u043a\u0435\u0442 \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0442\u0430\u043a:<\/p>\n<ol>\n<li>\n<p>\u041f\u0430\u043a\u0435\u0442 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432 \u0432\u0438\u0434\u0435 \u0447\u0438\u0441\u043b\u0430 <\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f RSA: <\/p>\n<\/li>\n<\/ol>\n<p><strong>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043f\u043e\u0434\u043f\u0438\u0441\u0438<\/strong><br \/> \u041f\u0440\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435 \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u044c \u0441\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f , \u0437\u0430\u0442\u0435\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u0445\u0435\u0448 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f.<\/p>\n<p><strong>\u0410\u0442\u0430\u043a\u0430<\/strong><br \/> \u0410\u0442\u0430\u043a\u0430 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0439 \u0438\u0437-\u0437\u0430 \u043e\u0448\u0438\u0431\u043a\u0438 \u043f\u0440\u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0430\u0437\u0431\u043e\u0440\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f.<\/p>\n<p>\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0440\u0430\u0437\u0431\u043e\u0440\u0430 \u0441 \u043e\u0448\u0438\u0431\u043a\u043e\u0439:<\/p>\n<ol>\n<li>\n<p>\u041d\u0430\u0439\u0442\u0438 \u0431\u0430\u0439\u0442\u044b <code>0x00, 0x01<\/code><\/p>\n<\/li>\n<li>\n<p>\u041d\u0430\u0439\u0442\u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0437\u0430 \u043d\u0438\u043c\u0438 \u0431\u0430\u0439\u0442 <code>0x00<\/code><\/p>\n<\/li>\n<li>\n<p>\u0420\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c <code>ASN<\/code>, \u0443\u0437\u043d\u0430\u0442\u044c \u0434\u043b\u0438\u043d\u0443 \u0445\u0435\u0448\u0430<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043d\u0443\u0436\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0431\u0430\u0439\u0442 \u0445\u0435\u0448\u0430<\/p>\n<\/li>\n<li>\n<p>\u0421\u0432\u0435\u0440\u0438\u0442\u044c \u0445\u0435\u0448<\/p>\n<\/li>\n<\/ol>\n<p>\u041e\u0448\u0438\u0431\u043a\u0430 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043d\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u043d\u0438 \u0434\u043b\u0438\u043d\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f, \u043d\u0438 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0432\u0438\u0434\u0430 <code>0x00 0x01 0x00 ASN.1 HASH SOMEBYTES<\/code> \u0442\u0430\u043a\u0436\u0435 \u0431\u0443\u0434\u0443\u0442 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043d\u044b \u043f\u0430\u0440\u0441\u0435\u0440\u043e\u043c.<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u043f\u043e\u0434\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u043e\u0434\u043f\u0438\u0441\u044c, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0442\u0430\u043a\u043e\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0438 \u0432\u043e\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0438 \u0432 \u043a\u0443\u0431 \u043e\u043d\u043e \u0438\u043c\u0435\u043b\u043e \u0432\u0438\u0434 <code>0x00 0x01 ... 0x00 ASN.1 HASH SOMEBYTES<\/code>.<\/p>\n<ol>\n<li>\n<p>\u0421\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 <code>0x00 0x01 0x00 ASN.1 HASH 0x00...0x00<\/code><\/p>\n<\/li>\n<li>\n<p>\u0418\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u043c \u0438\u0437 \u043d\u0435\u0433\u043e \u043a\u0443\u0431\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043a\u043e\u0440\u0435\u043d\u044c<\/p>\n<\/li>\n<\/ol>\n<h3>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 43: DSA key recovery from nonce<\/h3>\n<p>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0434\u0432\u0443\u0445 \u0447\u0430\u0441\u0442\u0435\u0439:<\/p>\n<ul>\n<li>\n<p>\u041f\u0435\u0440\u0432\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u2014 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/DSA\" rel=\"noopener noreferrer nofollow\">DSA<\/a><\/p>\n<\/li>\n<li>\n<p>\u0412\u0442\u043e\u0440\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442, \u0447\u0442\u043e \u043d\u0435\u043b\u044c\u0437\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f  \u2014 \u044d\u0442\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u0440\u0430\u0441\u043a\u0440\u044b\u0442\u0438\u044e \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430<\/p>\n<\/li>\n<\/ul>\n<p>\u0415\u0441\u043b\u0438  \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u0442\u043e \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u043b\u0435\u0433\u043a\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c: <\/p>\n<p>\u0412 \u0437\u0430\u0434\u0430\u043d\u0438\u0438  \u043b\u0435\u0436\u0438\u0442 \u0432 \u043e\u0442\u0440\u0435\u0437\u043a\u0435 , \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430\u0445\u043e\u0434\u0438\u043c \u0435\u0433\u043e \u043f\u0435\u0440\u0435\u0431\u043e\u0440\u043e\u043c.<\/p>\n<p><strong>\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435:<\/strong> \u0432 \u0437\u0430\u0434\u0430\u043d\u0438\u0438  \u0438  \u0443\u043a\u0430\u0437\u0430\u043d\u044b \u0432  \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0441\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f, \u0432 \u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u0430\u043a \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u0430 \u2014 \u0432 \u0448\u0435\u0441\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u0435\u0440\u0438\u0447\u043d\u043e\u0439.<\/p>\n<h3>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 44: DSA nonce recovery from repeated nonce<\/h3>\n<p>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442, \u0447\u0442\u043e \u043d\u0435\u043b\u044c\u0437\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0449\u0438\u0435\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f  \u0434\u043b\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043f\u043e\u0434\u043f\u0438\u0441\u0438 DSA \u2014 \u044d\u0442\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u0440\u0430\u0441\u043a\u0440\u044b\u0442\u0438\u044e \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430.<\/p>\n<ol>\n<li>\n<p>\u0415\u0441\u043b\u0438  \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435, \u0442\u043e  \u0442\u0430\u043a\u0436\u0435 \u0431\u0443\u0434\u0443\u0442 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435. \u041d\u0430\u0445\u043e\u0434\u0438\u043c \u0432 \u0444\u0430\u0439\u043b\u0435 \u0434\u0432\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0441 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c <\/p>\n<\/li>\n<li>\n<p>\u0420\u0430\u0441\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u043c <\/p>\n<\/li>\n<li>\n<p>\u0420\u0430\u0441\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u043c  \u043f\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u043c\u0443 , \u043a\u0430\u043a \u0432 \u0417\u0430\u0434\u0430\u043d\u0438\u0438 43<\/p>\n<\/li>\n<\/ol>\n<h3>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 45: DSA parameter tampering<\/h3>\n<p>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u0432\u0430\u0436\u043d\u043e \u0442\u0449\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0432 \u043f\u043e\u0434\u043f\u0438\u0441\u0438 DSA.<\/p>\n<ol>\n<li>\n<p>\u0421\u043b\u0443\u0447\u0430\u0439 :<br \/> \u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043b\u044e\u0431\u043e\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0434\u043b\u044f \u043b\u044e\u0431\u043e\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u0432\u0435\u0440\u043d\u043e\u0439, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e<\/p>\n<p> \u0418  \u0432\u0441\u0435\u0433\u0434\u0430 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u0441 <\/p>\n<\/li>\n<li>\n<p>\u0421\u043b\u0443\u0447\u0430\u0439 :<br \/> \u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0442\u0430\u043a\u0443\u044e \u043f\u043e\u0434\u043f\u0438\u0441\u044c, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442\u044c \u043a \u043b\u044e\u0431\u043e\u043c\u0443 \u0442\u0435\u043a\u0441\u0442\u0443:<br \/>  \u2014 \u043b\u044e\u0431\u043e\u0435 \u0447\u0438\u0441\u043b\u043e<\/p>\n<\/li>\n<\/ol>\n<p>\u0422\u043e\u0433\u0434\u0430 \u043f\u0440\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435: <\/p>\n<h3>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 46: RSA parity oracle<\/h3>\n<p>\u0414\u0430\u043d \u043e\u0440\u0430\u043a\u0443\u043b, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0447\u0451\u0442\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e RSA \u0447\u0438\u0441\u043b\u0430.  \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u044d\u0442\u043e\u0442 \u043e\u0440\u0430\u043a\u0443\u043b, \u043d\u0443\u0436\u043d\u043e \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c \u0447\u0438\u0441\u043b\u043e. \u0417\u0430\u0434\u0430\u043d\u0438\u0435 \u0438\u0433\u0440\u0443\u0448\u0435\u0447\u043d\u043e\u0435, \u043d\u043e \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0435 \u0434\u043b\u044f \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e.<\/p>\n<p>\u041f\u0443\u0441\u0442\u044c  \u2014 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e<br \/>  \u2014 \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e<\/p>\n<p>\u041c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u0434\u043b\u044f \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f : <\/p>\n<p>\u041f\u043e\u0434\u0430\u0451\u043c \u044d\u0442\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043d\u0430 \u0432\u0445\u043e\u0434 \u043e\u0440\u0430\u043a\u0443\u043b\u0443:<\/p>\n<ol>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u043e\u0442\u0432\u0435\u0442, \u0447\u0442\u043e \u0447\u0438\u0441\u043b\u043e \u043d\u0435\u0447\u0451\u0442\u043d\u043e\u0435, \u0437\u043d\u0430\u0447\u0438\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043f\u0440\u0435\u0432\u043e\u0441\u0445\u043e\u0434\u0438\u0442  (\u0442\u0430\u043a \u043a\u0430\u043a  \u2014 \u043d\u0435\u0447\u0451\u0442\u043d\u043e\u0435, \u043e\u0441\u0442\u0430\u0442\u043e\u043a \u0431\u0435\u0437 \u043f\u0440\u0435\u0432\u044b\u0448\u0435\u043d\u0438\u044f \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043d\u0435\u0447\u0451\u0442\u043d\u044b\u043c), \u0430 \u0437\u043d\u0430\u0447\u0438\u0442 <\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u043e\u0442\u0432\u0435\u0442 \u0447\u0451\u0442\u043d\u043e\u0435, \u0437\u043d\u0430\u0447\u0438\u0442   <\/p>\n<\/li>\n<\/ol>\n<p>\u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u0447\u0442\u043e . \u041f\u043e\u0432\u0442\u043e\u0440\u044f\u044f \u044d\u0442\u0443 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e \u0434\u043b\u044f , ,&#8230; \u043d\u0430\u0445\u043e\u0434\u0438\u043c .<\/p>\n<h3>\u0417\u0430\u0434\u0430\u043d\u0438\u0435 47-48: Bleichenbacher&#8217;s PKCS 1.5 Padding Oracle<\/h3>\n<p>\u042d\u0442\u043e \u0437\u0430\u0434\u0430\u043d\u0438\u0435 \u0441\u043b\u043e\u0436\u043d\u0435\u0435, \u0447\u0435\u043c \u0432\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0432\u043c\u0435\u0441\u0442\u0435 \u0432\u0437\u044f\u0442\u044b\u0435. \u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0430\u0442\u0430\u043a\u0443, \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u0443\u044e \u0432 \u0441\u0442\u0430\u0442\u044c\u0435 \u00abChosen Ciphertext Attacks Against Protocols Based on the RSA Encryption Standard PKCS #1\u00bb, Daniel Bleichenbacher.<\/p>\n<p><strong>\u0424\u043e\u0440\u043c\u0430\u0442 PKCS<\/strong><br \/> \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f RSA \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 , , . \u0414\u043b\u0438\u043d\u0430  \u0432 \u0431\u0430\u0439\u0442\u0430\u0445 \u0440\u0430\u0432\u043d\u0430 .<\/p>\n<p>\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f PKCS:<br \/> <code>0x00 0x02 PAD 0x00 DATA<\/code>, \u0433\u0434\u0435:<br \/> <code>0x00 0x02<\/code> \u2014 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u043d\u0430\u0447\u0430\u043b\u043e<br \/> <code>PAD<\/code> \u2014 \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u043c\u0438 \u043d\u0435\u043d\u0443\u043b\u0435\u0432\u044b\u043c\u0438 \u0431\u0430\u0439\u0442\u0430\u043c\u0438<br \/> <code>0x00<\/code> \u2014 \u043d\u0443\u043b\u0435\u0432\u043e\u0439 \u0431\u0430\u0439\u0442, \u043f\u0440\u0438\u0437\u043d\u0430\u043a \u043d\u0430\u0447\u0430\u043b\u0430 \u0434\u0430\u043d\u043d\u044b\u0445<br \/> <code>DATA<\/code> \u2014 \u0434\u0430\u043d\u043d\u044b\u0435<br \/> \u041e\u0431\u0449\u0430\u044f \u0434\u043b\u0438\u043d\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0440\u0430\u0432\u043d\u0430 \u0432 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 .<\/p>\n<p>\u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u0432 \u0446\u0435\u043b\u043e\u0435 \u0447\u0438\u0441\u043b\u043e  \u0438 \u0448\u0438\u0444\u0440\u0443\u0435\u0442\u0441\u044f .<\/p>\n<p><strong>\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0430\u0442\u0430\u043a\u0438<\/strong><br \/> \u0410\u0442\u0430\u043a\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0430 \u0438\u0437-\u0437 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0438 \u0438 \u0440\u0430\u0437\u0431\u043e\u0440\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f PKCS. \u041e\u043d\u0430 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043f\u0430\u0440\u0441\u0435\u0440 \u0441\u0440\u0430\u0437\u0443 \u0432\u044b\u0434\u0430\u0451\u0442 \u043a\u0430\u043a\u0443\u044e-\u0442\u043e \u043e\u0441\u043e\u0431\u0443\u044e \u043e\u0448\u0438\u0431\u043a\u0443, \u0435\u0441\u043b\u0438 \u043f\u0435\u0440\u0432\u044b\u0435 \u0434\u0432\u0430 \u0431\u0430\u0439\u0442\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043d\u0435 \u0440\u0430\u0432\u043d\u044b <code>0x00 0x02<\/code>. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0430\u0442\u0430\u043a\u0443\u044e\u0449\u0435\u043c\u0443 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u043f\u0435\u0440\u0432\u044b\u0445 \u0431\u0430\u0439\u0442\u0430\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f.<\/p>\n<p>\u041e\u0431\u043e\u0437\u043d\u0430\u0447\u0438\u043c  <code>0x00 0x01 0x00 ... 0x00<\/code> , \u0432 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0435 <br \/> \u0422\u0430\u043a \u043a\u0430\u043a \u0432 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0438  \u043f\u0435\u0440\u0432\u044b\u0435 \u0434\u0432\u0430 \u0431\u0430\u0439\u0442\u0430 \u0440\u0430\u0432\u043d\u044b <code>0x00 0x02<\/code>, \u0442\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u0447\u0442\u043e<\/p>\n<ol>\n<li>\n<p>, \u0442\u0430\u043a \u043a\u0430\u043a  \u0438\u043c\u0435\u0435\u0442 \u0432\u0438\u0434 <code>0x00 0x02 0x00 ... 0x00<\/code><\/p>\n<\/li>\n<li>\n<p>, \u0442\u0430\u043a \u043a\u0430\u043a  \u0438\u043c\u0435\u0435\u0442 \u0432\u0438\u0434 <code>0x00 0x03 0x00 ... 0x00<\/code><\/p>\n<\/li>\n<\/ol>\n<p>\u0417\u043d\u0430\u044f , \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0434\u043b\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e  \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435<\/p>\n<p> \u0415\u0441\u043b\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435  \u043d\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u043e\u0448\u0438\u0431\u043a\u0438, \u0442\u043e \u043f\u0435\u0440\u0432\u044b\u0435 \u0434\u0432\u0430 \u0431\u0430\u0439\u0442\u0430 \u0432  \u0440\u0430\u0432\u043d\u044b <code>0x00 0x02<\/code>, \u0437\u043d\u0430\u0447\u0438\u0442<br \/> , \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e<\/p>\n<p> \u0427\u0442\u043e \u0434\u0430\u0451\u0442 \u043d\u043e\u0432\u044b\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u044f . \u042d\u0442\u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0443\u0442\u043e\u0447\u043d\u044f\u044e\u0442 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 <br \/> \u041f\u043e\u0432\u0442\u043e\u0440\u044f\u044f \u044d\u0442\u043e\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 .<\/p>\n<p><strong>\u0420\u0435\u0448\u0435\u043d\u0438\u0435<\/strong><\/p>\n<ol>\n<li>\n<p>\u041f\u043e\u043b\u0430\u0433\u0430\u0435\u043c . \u0418\u0449\u0435\u043c  \u0442\u0430\u043a\u043e\u0435, \u0447\u0442\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435  \u043d\u0435 \u0432\u044b\u0437\u043e\u0432\u0435\u0442 \u043e\u0448\u0438\u0431\u043a\u0438.<\/p>\n<\/li>\n<li>\n<p>\u0412\u0435\u0440\u043d\u0430 \u043e\u0446\u0435\u043d\u043a\u0430 ,   . \u0418 \u0447\u0442\u043e\u0431\u044b  \u0434\u043e\u043b\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f  \\frac{n}{3B}&#187; alt=&#187;s_1 > \\frac{n}{3B}&#187; src=&#187;https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/cb\/cb6\/cb6a9cf4c920aae1b3f15ff71ade5921.svg&#187; width=&#187;auto&#187; height=&#187;auto&#187;\/> \u2014 \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435  \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043a\u0430\u043a \u043e\u0442\u043f\u0440\u0430\u0432\u043d\u0443\u044e \u0442\u043e\u0447\u043a\u0443<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u044f : <\/p>\n<\/li>\n<li>\n<p>\u0421\u0442\u0440\u043e\u0438\u043c \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0445 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439 \u0441 \u0442\u0435\u043a\u0443\u0449\u0438\u043c\u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f\u043c\u0438<\/p>\n<\/li>\n<\/ol>\n<p>\u0414\u0430\u043b\u0435\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b \u0442\u0440\u0438 \u0441\u043b\u0443\u0447\u0430\u044f:<\/p>\n<ol>\n<li>\n<p> \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0431\u043e\u043b\u0435\u0435 \u0447\u0435\u043c \u043e\u0434\u043d\u043e\u0433\u043e \u043e\u0442\u0440\u0435\u0437\u043a\u0430. \u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u044b \u043d\u0430\u0445\u043e\u0434\u0438\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435  s_i&#187; alt=&#187;s_{i + 1} > s_i&#187; src=&#187;https:\/\/habrastorage.org\/getpro\/habr\/formulas\/7\/79\/79d\/79d0a181418b8a3677a87c414987c9f3.svg&#187; width=&#187;auto&#187; height=&#187;auto&#187;\/>, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u044f  \u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043d\u0430 \u0448\u0430\u0433 3.<\/p>\n<\/li>\n<li>\n<p> \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0440\u043e\u0432\u043d\u043e \u0438\u0437 \u043e\u0434\u043d\u043e\u0433\u043e \u043e\u0442\u0440\u0435\u0437\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u043e\u0434\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u0438. \u0422\u043e\u0433\u0434\u0430  \u043d\u0430\u0439\u0434\u0435\u043d\u043e<\/p>\n<\/li>\n<li>\n<p> \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0440\u043e\u0432\u043d\u043e \u0438\u0437 \u043e\u0434\u043d\u043e\u0433\u043e \u043e\u0442\u0440\u0435\u0437\u043a\u0430 . \u0422\u043e\u0433\u0434\u0430 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u043e\u0438\u0441\u043a\u0430: \u043d\u0430\u0445\u043e\u0434\u0438\u043c  \u0442\u0430\u043a\u043e\u0435, \u0447\u0442\u043e  (\u043f\u0440\u0438 \u044d\u0442\u043e\u043c ). \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u044f  \u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043d\u0430 \u0448\u0430\u0433 3.<\/p>\n<\/li>\n<\/ol>\n<p><strong>\u041a\u043e\u0434 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u043d\u0430 python:<\/strong> <a href=\"https:\/\/github.com\/seregablog\/cryptopals\" rel=\"noopener noreferrer nofollow\">https:\/\/github.com\/seregablog\/cryptopals<\/a><\/p>\n<hr\/>\n<p>\u0411\u043e\u043b\u044c\u0448\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0433\u043e \u0443 \u043c\u0435\u043d\u044f \u0432 <a href=\"https:\/\/t.me\/+LQI0gTuGj5M0YTky\" rel=\"noopener noreferrer nofollow\">\u0422\u0435\u043b\u0435\u0433\u0440\u0430\u043c-\u043a\u0430\u043d\u0430\u043b\u0435<\/a><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/804905\/\"> https:\/\/habr.com\/ru\/articles\/804905\/<\/a><br \/><\/br><\/br><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-372573","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/372573","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=372573"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/372573\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=372573"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=372573"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=372573"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}