{"id":332529,"date":"2022-04-28T15:01:04","date_gmt":"2022-04-28T15:01:04","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=332529"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=332529","title":{"rendered":"<span>\u0425\u0430\u043a\u0435\u0440\u0441\u043a\u0438\u0439 \u043a\u0432\u0435\u0441\u0442 RUVDS \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u043a \u043a\u043e\u043d\u0446\u0443, \u043d\u043e \u0441\u0440\u0430\u0437\u0438\u0442\u044c\u0441\u044f \u0437\u0430 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u043f\u0440\u0438\u0437 142 857\u00a0 \u0440\u0443\u0431\u043b\u0435\u0439 \u0435\u0449\u0435 \u043d\u0435 \u043f\u043e\u0437\u0434\u043d\u043e<\/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-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\"><a href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/663478\/\"><\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/ds\/al\/-t\/dsal-tnje8zle6pd-qdeu44wuma.jpeg\" data-src=\"https:\/\/habrastorage.org\/webt\/ds\/al\/-t\/dsal-tnje8zle6pd-qdeu44wuma.jpeg\" data-blurred=\"true\"\/><\/div>\n<p><\/a><br \/>  \u041f\u043e\u043a\u0430 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0438 \u043a\u0432\u0435\u0441\u0442\u0430 \u0433\u043e\u0442\u043e\u0432\u044f\u0442\u0441\u044f \u043a \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u043c \u0438\u0441\u043f\u044b\u0442\u0430\u043d\u0438\u044f\u043c, \u0430 \u0441\u043d\u0435\u0433 \u043f\u043e\u0442\u0438\u0445\u043e\u043d\u044c\u043a\u0443 \u0442\u0430\u0435\u0442 \u0432 \u0433\u043e\u0440\u043e\u0434\u0430\u0445, \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u043c \u0434\u043b\u044f \u0442\u0435\u0445, \u043a\u0442\u043e \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u043b \u043d\u0430\u0447\u0430\u043b\u043e, \u043e \u043f\u0440\u043e\u0439\u0434\u0435\u043d\u043d\u044b\u0445 \u044d\u0442\u0430\u043f\u0430\u0445 \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0445\u0430\u043a\u0430\u0442\u043e\u043d\u0430, \u0438 \u0447\u0442\u043e \u0436\u0434\u0430\u0442\u044c \u043e\u0442 \u0444\u0438\u043d\u0430\u043b\u0430.<\/p>\n<p>  \u041d\u0430\u043f\u043e\u043c\u043d\u0438\u043c, \u0441 \u0447\u0435\u0433\u043e \u0432\u0441\u0451 \u043d\u0430\u0447\u0430\u043b\u043e\u0441\u044c: \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0438 \u0443\u0436\u0435 \u0440\u0430\u0441\u043a\u0440\u044b\u043b\u0438\u00a0\u0441\u0435\u043a\u0440\u0435\u0442 <a href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/657119\/#1\">\u00ab\u0417\u0430\u0433\u0430\u0434\u043e\u0447\u043d\u043e\u0439 \u0432\u0438\u0437\u0438\u0442\u043a\u0438\u00bb<\/a>, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b\u0438 \u0434\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u0432\u043e\u043b\u043e\u043a\u043d\u0430 \u0438 \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0437\u0430\u043b\u0435\u0442\u0435\u043b\u0438 \u0432\u00a0<a href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/657119\/#2\">\u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d<\/a>, \u0430 \u0434\u0430\u043b\u0435\u0435 \u0438 \u0432 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/IPFS\">\u043c\u0435\u0436\u043f\u043b\u0430\u043d\u0435\u0442\u043d\u0443\u044e\u00a0\u0444\u0430\u0439\u043b\u043e\u0432\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443<\/a>\u00a0\u0441 \u043d\u043e\u0432\u043e\u0439 \u043f\u043e\u0440\u0446\u0438\u0435\u0439 \u0437\u0430\u0433\u0430\u0434\u043e\u043a.<a name=\"habracut\"><\/a><\/p>\n<p>  \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e \u043f\u0435\u0440\u0432\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u043f\u0440\u043e\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f\u00a0<a href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/657119\/\">\u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435<\/a>.<\/p>\n<h4><font color=\"#3AC1EF\">\u041c\u0438\u043d\u0438-\u043e\u0433\u043b\u0430\u0432\u043b\u0435\u043d\u0438\u0435:<\/font><\/h4>\n<p>  <a href=\"#0\">\u0420\u0430\u0437\u0431\u043e\u0440 \u0437\u0430\u0434\u0430\u043d\u0438\u0435 3.1<\/a><br \/>  <a href=\"#1\">\u0420\u0430\u0437\u0431\u043e\u0440 \u0437\u0430\u0434\u0430\u043d\u0438\u044f 3.2<\/a><br \/>  <a href=\"#2\">\u041a\u043e\u043c\u0443 \u043f\u0435\u043b\u044c\u043c\u0435\u043d\u0435\u0439?<\/a><br \/>  <a href=\"#3\">\u0421\u043c\u0435\u0448\u043d\u044b\u0435 \u043c\u043e\u043c\u0435\u043d\u0442\u044b<\/a><\/p>\n<h2><font color=\"#3AC1EF\">\u0418\u0442\u0430\u043a, \u0447\u0442\u043e \u0436\u0435 \u0436\u0434\u0430\u043b\u043e \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u043e\u0432 \u0434\u0430\u043b\u044c\u0448\u0435?<\/font><\/h2>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/ix\/iy\/fw\/ixiyfweh1z8zonza6dmvuqm0igq.jpeg\" data-src=\"https:\/\/habrastorage.org\/webt\/ix\/iy\/fw\/ixiyfweh1z8zonza6dmvuqm0igq.jpeg\" data-blurred=\"true\"\/><\/p>\n<p>  \u0414\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043f\u0430\u0441\u0442\u044c \u0432\u043e \u0432\u0442\u043e\u0440\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u043a\u0432\u0435\u0441\u0442\u0430, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0431\u044b\u043b\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u043c\u0430\u0442\u0440\u0438\u0446\u0443 \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0438\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u043e\u0442 \u043d\u0430\u0448\u0435\u0433\u043e \u0437\u0430\u0433\u0430\u0434\u043e\u0447\u043d\u043e\u0433\u043e John Roe.<\/p>\n<p>  <a name=\"0\"><\/a><\/p>\n<h3><font color=\"#3AC1EF\">\u258d \u0417\u0430\u0434\u0430\u043d\u0438\u0435 3.1<\/font><\/h3>\n<p>  \u0412\u0441\u043a\u043e\u0440\u0435 \u043f\u043e\u0441\u043b\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f <code>@phuuki4uta:matrix.org<\/code> \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u043f\u0430\u0440\u0443 \u0444\u0430\u0439\u043b\u043e\u0432: code-XXXXX.pyc \u0438 code-XXXXX.pyc.sig (\u0433\u0434\u0435 XXXXX \u2014 5 \u0446\u0438\u0444\u0440) \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435\u043c \u00abI am a colleague of John Doe. He&#8217;ve passed something for you. Good luck!\u00ab. \u041a\u0430\u043a \u0438 \u043f\u0440\u0435\u0436\u0434\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043c \u043f\u043e\u0434\u043f\u0438\u0441\u044c \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 .sig-\u0444\u0430\u0439\u043b\u0430, \u0438 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0443\u0442\u0438\u043b\u0438\u0442\u044b <a href=\"https:\/\/man7.org\/linux\/man-pages\/man1\/file.1.html\">file<\/a> \u0432\u044b\u044f\u0441\u043d\u0438\u043c, \u0447\u0442\u043e \u0432 \u0444\u0430\u0439\u043b\u0435 .pyc \u0431\u0430\u0439\u0442-\u043a\u043e\u0434 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043d\u0430 Python 3.7. \u0412\u043e\u043e\u0440\u0443\u0436\u0438\u043c\u0441\u044f <a href=\"https:\/\/pypi.org\/project\/xdis\/\">xdis<\/a> \u0438 \u0434\u0438\u0437\u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0438\u0440\u0443\u0435\u043c \u043a\u043e\u0434:  <\/p>\n<blockquote>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0414\u0438\u0437\u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u0434<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"python\"># Python bytecode 3.7.0 (3394) # Timestamp in code: 0 (1970-01-01 03:00:00) # Source code size mod 2**32: 1357 bytes # Method Name: \u00a0 \u00a0 \u00a0 &lt;module> # Filename:\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 code-XXXXX.py # Argument count:\u00a0 \u00a0 0 # Keyword-only arguments: 0 # Number of locals:\u00a0 0 # Stack size:\u00a0 \u00a0 \u00a0 \u00a0 6 # Flags: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 0x00000040 (NOFREE) # First Line:\u00a0 \u00a0 \u00a0 \u00a0 3 # Constants: #\u00a0 \u00a0 0: &lt;Code3 code object wies3 at 0x7f699aa41840, file code-XXXXX.py>, line 3 #\u00a0 \u00a0 1: 'wies3' #\u00a0 \u00a0 2: 0 #\u00a0 \u00a0 3: 3 #\u00a0 \u00a0 4: 268435455 #\u00a0 \u00a0 5: 1 #\u00a0 \u00a0 6: 2 #\u00a0 \u00a0 7: 4 #\u00a0 \u00a0 8: 2033349222 #\u00a0 \u00a0 9: 859399546 # \u00a0 10: 1914726229 # \u00a0 11: 545537777 # \u00a0 12: 4259271294 # \u00a0 13: 3762695033 # \u00a0 14: 2530072744 # \u00a0 15: 1774340374 # \u00a0 16: 314947544 # \u00a0 17: 'Ciphertext = ' # \u00a0 18: 'Plaintext = ?' # \u00a0 19: None # Names: #\u00a0 \u00a0 0: wies3 #\u00a0 \u00a0 1: roh3s #\u00a0 \u00a0 2: AssertionError #\u00a0 \u00a0 3: ieng8 #\u00a0 \u00a0 4: kiiv4 #\u00a0 \u00a0 5: op7bi #\u00a0 \u00a0 6: len #\u00a0 \u00a0 7: print \u00a0\u00a03: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 0 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (&lt;Code3 code object wies3 at 0x7f699aa41840, file code-XXXXX.py>, line 3) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a02 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ('wies3') \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a04 MAKE_FUNCTION\u00a0 \u00a0 \u00a0 \u00a0 (Neither defaults, keyword-only args, annotations, nor closures) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a06 STORE_NAME \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (wies3)  \u00a031: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 8 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (0) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a010 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (0) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a012 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (0) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a014 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (0) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a016 BUILD_LIST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 4 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a018 STORE_NAME \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (roh3s)  \u00a032:\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 20 LOAD_NAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (roh3s) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a022 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (3) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a024 BINARY_SUBSCR \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a026 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (268435455) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a028 BINARY_AND \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a030 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (0) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a032 COMPARE_OP \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (!=) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a034 POP_JUMP_IF_TRUE \u00a0 \u00a0 (to 40) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a036 LOAD_GLOBAL\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (AssertionError) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a038 RAISE_VARARGS\u00a0 \u00a0 \u00a0 \u00a0 (exception instance)  \u00a035: \u00a0 \u00a0 >> \u00a0 40 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (0) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a042 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (0) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a044 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (0) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a046 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (0) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a048 BUILD_LIST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 4 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a050 STORE_NAME \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (ieng8)  \u00a036:\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 52 LOAD_NAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (ieng8) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a054 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (3) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a056 BINARY_SUBSCR \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a058 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (268435455) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a060 BINARY_AND \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a062 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (0) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a064 COMPARE_OP \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (!=) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a066 POP_JUMP_IF_TRUE \u00a0 \u00a0 (to 72) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a068 LOAD_GLOBAL\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (AssertionError) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a070 RAISE_VARARGS\u00a0 \u00a0 \u00a0 \u00a0 (exception instance)  \u00a039: \u00a0 \u00a0 >> \u00a0 72 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (0) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a074 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (0) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a076 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (0) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a078 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (0) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a080 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (0) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a082 BUILD_LIST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 5 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a084 STORE_NAME \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (kiiv4)  \u00a040:\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 86 LOAD_NAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (kiiv4) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a088 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (0) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a090 BINARY_SUBSCR \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a092 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (0) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a094 COMPARE_OP \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (!=) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a096 POP_JUMP_IF_FALSE\u00a0 \u00a0 (to 146) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a098 LOAD_NAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (kiiv4) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0100 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (1) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0102 BINARY_SUBSCR \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0104 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (0) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0106 COMPARE_OP \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (!=) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0108 POP_JUMP_IF_FALSE\u00a0 \u00a0 (to 146) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0110 LOAD_NAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (kiiv4) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0112 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (2) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0114 BINARY_SUBSCR \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0116 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (0) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0118 COMPARE_OP \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (!=) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0120 POP_JUMP_IF_FALSE\u00a0 \u00a0 (to 146) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0122 LOAD_NAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (kiiv4) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0124 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (3) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0126 BINARY_SUBSCR \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0128 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (0) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0130 COMPARE_OP \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (!=) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0132 POP_JUMP_IF_FALSE\u00a0 \u00a0 (to 146) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0134 LOAD_NAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (kiiv4) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0136 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (4) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0138 BINARY_SUBSCR \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0140 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (0) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0142 COMPARE_OP \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (!=) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0144 POP_JUMP_IF_TRUE \u00a0 \u00a0 (to 150) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0>>\u00a0 146 LOAD_GLOBAL\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (AssertionError) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0148 RAISE_VARARGS\u00a0 \u00a0 \u00a0 \u00a0 (exception instance)  \u00a042: \u00a0 \u00a0 >>\u00a0 150 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (2033349222) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0152 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (859399546) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0154 BUILD_LIST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 2 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0156 STORE_NAME \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (op7bi)  \u00a044: \u00a0 \u00a0 \u00a0 \u00a0 158 LOAD_NAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (wies3) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0160 LOAD_NAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (op7bi) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0162 LOAD_NAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (len) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0164 LOAD_NAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (op7bi) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0166 CALL_FUNCTION\u00a0 \u00a0 \u00a0 \u00a0 (1 positional argument) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0168 LOAD_NAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (roh3s) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0170 CALL_FUNCTION\u00a0 \u00a0 \u00a0 \u00a0 (3 positional arguments) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0172 POP_TOP  \u00a045: \u00a0 \u00a0 \u00a0 \u00a0 174 LOAD_NAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (wies3) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0176 LOAD_NAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (op7bi) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0178 LOAD_NAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (len) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0180 LOAD_NAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (op7bi) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0182 CALL_FUNCTION\u00a0 \u00a0 \u00a0 \u00a0 (1 positional argument) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0184 LOAD_NAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (ieng8) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0186 CALL_FUNCTION\u00a0 \u00a0 \u00a0 \u00a0 (3 positional arguments) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0188 POP_TOP  \u00a047: \u00a0 \u00a0 \u00a0 \u00a0 190 LOAD_NAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (op7bi) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0192 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (1914726229) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0194 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (545537777) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0196 BUILD_LIST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 2 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0198 COMPARE_OP \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (==) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0200 POP_JUMP_IF_TRUE \u00a0 \u00a0 (to 206) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0202 LOAD_GLOBAL\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (AssertionError) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0204 RAISE_VARARGS\u00a0 \u00a0 \u00a0 \u00a0 (exception instance)  \u00a049: \u00a0 \u00a0 >>\u00a0 206 LOAD_NAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (wies3) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0208 LOAD_NAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (kiiv4) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0210 LOAD_NAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (len) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0212 LOAD_NAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (kiiv4) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0214 CALL_FUNCTION\u00a0 \u00a0 \u00a0 \u00a0 (1 positional argument) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0216 LOAD_NAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (roh3s) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0218 CALL_FUNCTION\u00a0 \u00a0 \u00a0 \u00a0 (3 positional arguments) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0220 POP_TOP  \u00a050: \u00a0 \u00a0 \u00a0 \u00a0 222 LOAD_NAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (wies3) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0224 LOAD_NAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (kiiv4) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0226 LOAD_NAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (len) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0228 LOAD_NAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (kiiv4) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0230 CALL_FUNCTION\u00a0 \u00a0 \u00a0 \u00a0 (1 positional argument) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0232 LOAD_NAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (ieng8) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0234 CALL_FUNCTION\u00a0 \u00a0 \u00a0 \u00a0 (3 positional arguments) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0236 POP_TOP  \u00a052: \u00a0 \u00a0 \u00a0 \u00a0 238 LOAD_NAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (kiiv4) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0240 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (4259271294) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0242 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (3762695033) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0244 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (2530072744) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0246 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (1774340374) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0248 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (314947544) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0250 BUILD_LIST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 5 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0252 COMPARE_OP \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (==) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0254 EXTENDED_ARG \u00a0 \u00a0 \u00a0 \u00a0 (256) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0256 POP_JUMP_IF_TRUE \u00a0 \u00a0 (to 262) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0258 LOAD_GLOBAL\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (AssertionError) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0260 RAISE_VARARGS\u00a0 \u00a0 \u00a0 \u00a0 (exception instance)  \u00a053: \u00a0 \u00a0 >>\u00a0 262 LOAD_NAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (print) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0264 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ('Ciphertext = ') \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0266 LOAD_NAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (kiiv4) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0268 CALL_FUNCTION\u00a0 \u00a0 \u00a0 \u00a0 (2 positional arguments) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0270 POP_TOP  \u00a054: \u00a0 \u00a0 \u00a0 \u00a0 272 LOAD_NAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (print) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0274 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ('Plaintext = ?') \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0276 CALL_FUNCTION\u00a0 \u00a0 \u00a0 \u00a0 (1 positional argument) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0278 POP_TOP \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0280 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (None) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0282 RETURN_VALUE  # Method Name: \u00a0 \u00a0 \u00a0 wies3 # Filename:\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 code-XXXXX.py # Argument count:\u00a0 \u00a0 3 # Keyword-only arguments: 0 # Number of locals:\u00a0 7 # Stack size:\u00a0 \u00a0 \u00a0 \u00a0 6 # Flags: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 0x00000003 (NEWLOCALS | OPTIMIZED) # First Line:\u00a0 \u00a0 \u00a0 \u00a0 3 # Constants: #\u00a0 \u00a0 0: None #\u00a0 \u00a0 1: &lt;Code3 code object fie1z at 0x7f699aa415a0, file code-XXXXX.py>, line 5 #\u00a0 \u00a0 2: 'wies3.&lt;locals>.fie1z' #\u00a0 \u00a0 3: &lt;Code3 code object xaeg4 at 0x7f699aa417b0, file code-XXXXX.py>, line 8 #\u00a0 \u00a0 4: 'wies3.&lt;locals>.xaeg4' #\u00a0 \u00a0 5: 0 #\u00a0 \u00a0 6: 562984899 #\u00a0 \u00a0 7: 1 #\u00a0 \u00a0 8: 6 #\u00a0 \u00a0 9: 52 # \u00a0 10: 2 # \u00a0 11: 3 # Varnames: # fau0m, tuki6, ooch0, fie1z, xaeg4, oon0j, zae3u # Positional arguments: # fau0m, tuki6, ooch0 # Local variables: #\u00a0 \u00a0 3: fie1z #\u00a0 \u00a0 4: xaeg4 #\u00a0 \u00a0 5: oon0j #\u00a0 \u00a0 6: zae3u # Cell variables: #\u00a0 \u00a0 0: aph7a #\u00a0 \u00a0 1: coh1p #\u00a0 \u00a0 2: di5ei #\u00a0 \u00a0 3: eing8 #\u00a0 \u00a0 4: ik4so #\u00a0 \u00a0 5: ooch0 \u00a0\u00a05: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 0 LOAD_CLOSURE \u00a0 \u00a0 \u00a0 \u00a0 (aph7a) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a02 LOAD_CLOSURE \u00a0 \u00a0 \u00a0 \u00a0 (coh1p) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a04 LOAD_CLOSURE \u00a0 \u00a0 \u00a0 \u00a0 (di5ei) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a06 LOAD_CLOSURE \u00a0 \u00a0 \u00a0 \u00a0 (eing8) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a08 LOAD_CLOSURE \u00a0 \u00a0 \u00a0 \u00a0 (ik4so) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a010 LOAD_CLOSURE \u00a0 \u00a0 \u00a0 \u00a0 (ooch0) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a012 BUILD_TUPLE\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 6 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a014 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (&lt;Code3 code object fie1z at 0x7f699aa415a0, file code-XXXXX.py>, line 5) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a016 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ('wies3.&lt;locals>.fie1z') \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a018 MAKE_FUNCTION\u00a0 \u00a0 \u00a0 \u00a0 (closure) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a020 STORE_FAST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (fie1z)  \u00a0\u00a08:\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 22 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (&lt;Code3 code object xaeg4 at 0x7f699aa417b0, file code-XXXXX.py>, line 8) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a024 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ('wies3.&lt;locals>.xaeg4') \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a026 MAKE_FUNCTION\u00a0 \u00a0 \u00a0 \u00a0 (Neither defaults, keyword-only args, annotations, nor closures) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a028 STORE_FAST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (xaeg4)  \u00a011:\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 30 LOAD_FAST\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (fau0m) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a032 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (0) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a034 BINARY_SUBSCR \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a036 STORE_DEREF\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (aph7a)  \u00a012:\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 38 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (0) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a040 STORE_DEREF\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (ik4so)  \u00a013:\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 42 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (562984899) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a044 STORE_FAST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (oon0j)  \u00a014:\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 46 LOAD_FAST\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (fau0m) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a048 LOAD_FAST\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (tuki6) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a050 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (1) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a052 BINARY_SUBTRACT \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a054 BINARY_SUBSCR \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a056 STORE_DEREF\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (di5ei)  \u00a015:\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 58 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (6) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a060 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (52) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a062 LOAD_FAST\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (tuki6) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a064 BINARY_FLOOR_DIVIDE \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a066 BINARY_ADD \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a068 STORE_FAST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (zae3u)  \u00a016:\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 70 SETUP_LOOP \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (to 230) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0>> \u00a0 72 LOAD_FAST\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (zae3u) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a074 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (0) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a076 COMPARE_OP \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (>) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a078 POP_JUMP_IF_FALSE\u00a0 \u00a0 (to 228)  \u00a017:\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 80 LOAD_FAST\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (zae3u) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a082 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (1) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a084 INPLACE_SUBTRACT \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a086 STORE_FAST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (zae3u)  \u00a018:\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 88 LOAD_FAST\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (xaeg4) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a090 LOAD_DEREF \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (ik4so) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a092 LOAD_FAST\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (oon0j) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a094 BINARY_ADD \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a096 CALL_FUNCTION\u00a0 \u00a0 \u00a0 \u00a0 (1 positional argument) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a098 STORE_DEREF\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (ik4so)  \u00a019: \u00a0 \u00a0 \u00a0 \u00a0 100 LOAD_FAST\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (xaeg4) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0102 LOAD_DEREF \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (ik4so) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0104 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (2) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0106 BINARY_RSHIFT \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0108 CALL_FUNCTION\u00a0 \u00a0 \u00a0 \u00a0 (1 positional argument) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0110 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (3) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0112 BINARY_AND \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0114 STORE_DEREF\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (eing8)  \u00a020: \u00a0 \u00a0 \u00a0 \u00a0 116 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (0) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0118 STORE_DEREF\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (coh1p)  \u00a021: \u00a0 \u00a0 \u00a0 \u00a0 120 SETUP_LOOP \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (to 184) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0>>\u00a0 122 LOAD_DEREF \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (coh1p) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0124 LOAD_FAST\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (tuki6) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0126 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (1) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0128 BINARY_SUBTRACT \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0130 COMPARE_OP \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (&lt;) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0132 POP_JUMP_IF_FALSE\u00a0 \u00a0 (to 182)  \u00a022: \u00a0 \u00a0 \u00a0 \u00a0 134 LOAD_FAST\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (fau0m) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0136 LOAD_DEREF \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (coh1p) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0138 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (1) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0140 BINARY_ADD \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0142 BINARY_SUBSCR \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0144 STORE_DEREF\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (aph7a)  \u00a023: \u00a0 \u00a0 \u00a0 \u00a0 146 LOAD_FAST\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (xaeg4) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0148 LOAD_FAST\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (fau0m) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0150 LOAD_DEREF \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (coh1p) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0152 BINARY_SUBSCR \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0154 LOAD_FAST\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (fie1z) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0156 CALL_FUNCTION\u00a0 \u00a0 \u00a0 \u00a0 (0 positional arguments) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0158 BINARY_ADD \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0160 CALL_FUNCTION\u00a0 \u00a0 \u00a0 \u00a0 (1 positional argument) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0162 DUP_TOP \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0164 STORE_DEREF\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (di5ei) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0166 LOAD_FAST\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (fau0m) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0168 LOAD_DEREF \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (coh1p) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0170 STORE_SUBSCR  \u00a024: \u00a0 \u00a0 \u00a0 \u00a0 172 LOAD_DEREF \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (coh1p) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0174 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (1) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0176 INPLACE_ADD \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0178 STORE_DEREF\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (coh1p) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0180 JUMP_ABSOLUTE\u00a0 \u00a0 \u00a0 \u00a0 (to 122) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0>>\u00a0 182 POP_BLOCK  \u00a025: \u00a0 \u00a0 >>\u00a0 184 LOAD_FAST\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (fau0m) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0186 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (0) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0188 BINARY_SUBSCR \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0190 STORE_DEREF\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (aph7a)  \u00a026: \u00a0 \u00a0 \u00a0 \u00a0 192 LOAD_FAST\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (xaeg4) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0194 LOAD_FAST\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (fau0m) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0196 LOAD_FAST\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (tuki6) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0198 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (1) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0200 BINARY_SUBTRACT \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0202 BINARY_SUBSCR \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0204 LOAD_FAST\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (fie1z) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0206 CALL_FUNCTION\u00a0 \u00a0 \u00a0 \u00a0 (0 positional arguments) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0208 BINARY_ADD \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0210 CALL_FUNCTION\u00a0 \u00a0 \u00a0 \u00a0 (1 positional argument) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0212 DUP_TOP \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0214 STORE_DEREF\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (di5ei) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0216 LOAD_FAST\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (fau0m) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0218 LOAD_FAST\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (tuki6) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0220 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (1) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0222 BINARY_SUBTRACT \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0224 STORE_SUBSCR \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0226 JUMP_ABSOLUTE\u00a0 \u00a0 \u00a0 \u00a0 (to 72) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0>>\u00a0 228 POP_BLOCK  \u00a028: \u00a0 \u00a0 >>\u00a0 230 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (None) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0232 RETURN_VALUE  # Method Name: \u00a0 \u00a0 \u00a0 fie1z # Filename:\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 code-XXXXX.py # Argument count:\u00a0 \u00a0 0 # Keyword-only arguments: 0 # Number of locals:\u00a0 0 # Stack size:\u00a0 \u00a0 \u00a0 \u00a0 5 # Flags: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 0x00000013 (NESTED | NEWLOCALS | OPTIMIZED) # First Line:\u00a0 \u00a0 \u00a0 \u00a0 5 # Constants: #\u00a0 \u00a0 0: None #\u00a0 \u00a0 1: 5 #\u00a0 \u00a0 2: 2 #\u00a0 \u00a0 3: 3 #\u00a0 \u00a0 4: 4 # Free variables: #\u00a0 \u00a0 0: aph7a #\u00a0 \u00a0 1: coh1p #\u00a0 \u00a0 2: di5ei #\u00a0 \u00a0 3: eing8 #\u00a0 \u00a0 4: ik4so #\u00a0 \u00a0 5: ooch0 \u00a0\u00a06: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 0 LOAD_DEREF \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (di5ei) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a02 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (5) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a04 BINARY_RSHIFT \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a06 LOAD_DEREF \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (aph7a) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a08 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (2) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a010 BINARY_LSHIFT \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a012 BINARY_XOR \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a014 LOAD_DEREF \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (aph7a) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a016 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (3) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a018 BINARY_RSHIFT \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a020 LOAD_DEREF \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (di5ei) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a022 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (4) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a024 BINARY_LSHIFT \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a026 BINARY_XOR \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a028 BINARY_ADD \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a030 LOAD_DEREF \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (ik4so) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a032 LOAD_DEREF \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (aph7a) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a034 BINARY_XOR \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a036 LOAD_DEREF \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (ooch0) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a038 LOAD_DEREF \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (coh1p) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a040 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (3) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a042 BINARY_AND \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a044 LOAD_DEREF \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (eing8) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a046 BINARY_XOR \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a048 BINARY_SUBSCR \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a050 LOAD_DEREF \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (di5ei) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a052 BINARY_XOR \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a054 BINARY_ADD \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a056 BINARY_XOR \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a058 RETURN_VALUE  # Method Name: \u00a0 \u00a0 \u00a0 xaeg4 # Filename:\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 code-XXXXX.py # Argument count:\u00a0 \u00a0 1 # Keyword-only arguments: 0 # Number of locals:\u00a0 1 # Stack size:\u00a0 \u00a0 \u00a0 \u00a0 2 # Flags: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 0x00000053 (NOFREE | NESTED | NEWLOCALS | OPTIMIZED) # First Line:\u00a0 \u00a0 \u00a0 \u00a0 8 # Constants: #\u00a0 \u00a0 0: None #\u00a0 \u00a0 1: 4294967295 # Varnames: # vaeh7 # Positional arguments: # vaeh7 \u00a0\u00a09: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 0 LOAD_FAST\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (vaeh7) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a02 LOAD_CONST \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (4294967295) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a04 BINARY_AND \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a06 RETURN_VALUE <\/code><\/pre>\n<\/div><\/div>\n<\/blockquote>\n<p>\u0427\u0442\u043e \u0436\u0435, \u0438 \u043f\u0440\u0430\u0432\u0434\u0430 \u043f\u043e\u0445\u043e\u0436\u0435 \u043d\u0430 <a href=\"https:\/\/docs.python.org\/3\/library\/dis.html#opcode-NOP\">\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438<\/a>\u00a0<a href=\"https:\/\/tenthousandmeters.com\/blog\/python-behind-the-scenes-1-how-the-cpython-vm-works\/\">\u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440\u0430 CPython<\/a>, \u044d\u0442\u0430\u043b\u043e\u043d\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u044f\u0437\u044b\u043a\u0430 Python. \u0422\u0430\u043a\u0436\u0435 \u0437\u0430\u043c\u0435\u0442\u0438\u043c, \u0447\u0442\u043e \u0438\u043c\u0435\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043f\u043e-\u0432\u0438\u0434\u0438\u043c\u043e\u043c\u0443 \u043e\u0431\u0444\u0443\u0441\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0434\u043b\u044f \u0437\u0430\u0442\u0440\u0443\u0434\u043d\u0435\u043d\u0438\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430.<\/p>\n<p>  \u0414\u0438\u0437\u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440 \u2014 \u044d\u0442\u043e \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0445\u043e\u0440\u043e\u0448\u043e, \u043d\u043e \u0432\u0435\u0434\u044c \u043f\u0440\u043e\u0433\u0440\u0435\u0441\u0441 \u043d\u0430 \u043d\u0438\u0445 \u043d\u0435 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0441\u044f, \u0438 \u0441 <a href=\"https:\/\/pypi.org\/project\/uncompyle6\/\">\u0434\u0435\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u043c<\/a> \u043d\u0430\u043f\u0435\u0440\u0435\u0432\u0435\u0441 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u044b\u0439 \u043d\u0430\u0442\u0443\u0440\u0430\u043b\u044c\u043d\u043e\u043c\u0443 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0447\u0438\u0442\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043b\u0435\u0433\u0447\u0435:  <\/p>\n<blockquote>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0414\u0435\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u0434<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"python\"># Python bytecode 3.7.0 (3394) # Embedded file name: code-XXXXX.py # Size of source mod 2**32: 1357 bytes \u00a0 def wies3(fau0m, tuki6, ooch0): \u00a0  def fie1z(): \u00a0\u00a0\u00a0\u00a0 \u00a0  return (di5ei >> 5 ^ aph7a &lt;&lt; 2) + (aph7a >> 3 ^ di5ei &lt;&lt; 4) ^ (ik4so ^ aph7a) + (ooch0[(coh1p &amp; 3 ^ eing8)] ^ di5ei) \u00a0  def xaeg4(vaeh7): \u00a0\u00a0\u00a0\u00a0 \u00a0  return vaeh7 &amp; 0xFFFFFFFF \u00a0  aph7a = fau0m[0]  ik4so = 0  oon0j = 562984899  di5ei = fau0m[(tuki6 - 1)]  zae3u = 6 + 52 \/\/ tuki6  while zae3u > 0: \u00a0\u00a0\u00a0\u00a0 zae3u -= 1 \u00a0\u00a0\u00a0\u00a0 ik4so = xaeg4(ik4so + oon0j) \u00a0\u00a0\u00a0\u00a0 eing8 = xaeg4(ik4so >> 2) &amp; 3 \u00a0\u00a0\u00a0\u00a0 coh1p = 0 \u00a0\u00a0\u00a0\u00a0 while coh1p &lt; tuki6 - 1: \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 aph7a = fau0m[(coh1p + 1)] \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 di5ei = fau0m[coh1p] = xaeg4(fau0m[coh1p] + fie1z()) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 coh1p += 1 \u00a0 \u00a0\u00a0\u00a0\u00a0 aph7a = fau0m[0] \u00a0\u00a0\u00a0\u00a0 di5ei = fau0m[tuki6 - 1] = xaeg4(fau0m[(tuki6 - 1)] + fie1z()) \u00a0 \u00a0 roh3s = [0, 0, 0, 0] assert roh3s[3] &amp; 0x0FFFFFFF != 0 \u00a0 ieng8 = [0, 0, 0, 0] assert ieng8[3] &amp; 0x0FFFFFFF != 0 \u00a0 kiiv4 = [0, 0, 0, 0, 0] if not (kiiv4[0] != 0 and kiiv4[1] != 0 and kiiv4[2] != 0 and kiiv4[3] != 0 and kiiv4[4] != 0):  raise AssertionError \u00a0 op7bi = [2033349222, 859399546] wies3(op7bi, len(op7bi), roh3s) wies3(op7bi, len(op7bi), ieng8) assert op7bi == [1914726229, 545537777] \u00a0 wies3(kiiv4, len(kiiv4), roh3s) wies3(kiiv4, len(kiiv4), ieng8) assert kiiv4 == [4259271294, 3762695033, 2530072744, 1774340374, 314947544] \u00a0 print('Ciphertext = ', kiiv4) print('Plaintext = ?')<\/code><\/pre>\n<\/div><\/div>\n<\/blockquote>\n<p>\u041f\u0440\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0432 \u043a\u043e\u0434, \u0432\u044b\u044f\u0441\u043d\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<ul>\n<li>\u0424\u0443\u043d\u043a\u0446\u0438\u044f wies3 \u043f\u043e-\u0432\u0438\u0434\u0438\u043c\u043e\u043c\u0443 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442 \u043d\u0435\u043a\u043e\u0435 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u0438 \u0435\u0451 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b \u2014 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u0442\u0435\u043a\u0441\u0442, \u0435\u0433\u043e \u0434\u043b\u0438\u043d\u0430 \u0438 \u043a\u043b\u044e\u0447. \u0422\u0430\u043a\u043e\u0439 \u0432\u044b\u0432\u043e\u0434 \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c, \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0440\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0432 \u0435\u0451, \u0434\u0430 \u0438 \u0441\u0442\u0440\u043e\u043a\u0438 \u00abCiphertext\u00bb\/\u00abPlaintext\u00bb \u0440\u044f\u0434\u043e\u043c \u0441 \u0432\u044b\u0432\u043e\u0434\u043e\u043c \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u0435\u0451 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0432 \u043a\u043e\u043d\u0446\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043d\u0430\u043c\u0435\u043a\u0430\u044e\u0442 \u043d\u0430 \u044d\u0442\u043e;<\/li>\n<li>Assert-\u044b \u043d\u0430\u043c\u0435\u043a\u0430\u044e\u0442 \u043d\u0430 \u0437\u0430\u0434\u0443\u043c\u0430\u043d\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0438\u043b\u0438 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u044b \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439, \u0437\u0430\u0442\u0451\u0440\u0442\u044b\u0445 \u0438\u0437 \u043a\u043e\u0434\u0430 \u0434\u0430\u043d\u043d\u044b\u0445;<\/li>\n<li>\u0423 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0434\u0432\u0430 \u043d\u0435\u0438\u0437\u043c\u0435\u043d\u043d\u044b\u0445 \u043a\u043b\u044e\u0447\u0430, \u043e\u043d\u0438 \u0437\u0430\u0434\u0430\u044e\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438 roh3s \u0438 ieng8, \u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u043e\u043d\u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u0442.\u0435. \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0434\u0432\u0430 \u0440\u0430\u0437\u0430: \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0430 \u043a\u043b\u044e\u0447\u0435 roh3s, \u0430 \u0437\u0430\u0442\u0435\u043c \u2014 \u043d\u0430 ieng8. \u0417\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0438 assert-\u044b \u043d\u0430\u043c\u0435\u043a\u0430\u044e\u0442 \u043d\u0430 \u0444\u043e\u0440\u043c\u0430\u0442 \u0437\u0430\u0442\u0451\u0440\u0442\u044b\u0445 \u0438\u0437 \u043a\u043e\u0434\u0430 \u043a\u043b\u044e\u0447\u0435\u0439: 4 32-\u0431\u0438\u0442\u043d\u044b\u0445 \u0441\u043b\u043e\u0432\u0430, \u043f\u0435\u0440\u0432\u044b\u0435 3 \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0443\u043b\u0435\u0432\u044b\u0435, \u0430 \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u043c \u0441\u043b\u043e\u0432\u0435 \u043d\u0435\u043d\u0443\u043b\u0435\u0432\u044b\u043c\u0438 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 28 \u0431\u0438\u0442;<\/li>\n<li>\u0422\u0430\u043a\u0436\u0435 \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0434\u0432\u0430 \u0448\u0438\u0444\u0440\u043e\u0442\u0435\u043a\u0441\u0442\u0430, \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u0445 assert-\u0430\u043c\u0438 \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 op7bi \u0438 kiiv4, \u0438 \u0434\u043b\u044f \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0438\u0437 \u043d\u0438\u0445 \u0435\u0441\u0442\u044c \u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u0442\u0435\u043a\u0441\u0442, \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u0439 \u0432 \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0438 op7bi;<\/li>\n<li>\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043d\u0430\u0439\u0442\u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u0434\u043b\u044f \u0448\u0438\u0444\u0440\u043e\u0442\u0435\u043a\u0441\u0442\u0430 \u0438\u0437 kiiv4.<\/li>\n<\/ul>\n<p>  \u0424\u0443\u043d\u043a\u0446\u0438\u044f \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0435\u0432\u0435\u043b\u0438\u043a\u0430, \u0438 \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c \u0435\u0451 \u0432\u0440\u0443\u0447\u043d\u0443\u044e, \u043e\u0434\u043d\u0430\u043a\u043e \u0435\u0441\u043b\u0438 \u043f\u0440\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0451 \u0434\u0430\u043b\u0435\u0435 \u0438\u043b\u0438 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u0432 \u0447\u0430\u0442\u0435 \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u043e\u0439 \u00ab\u0435\u0441\u043b\u0438 \u0441\u043e\u0432\u0441\u0435\u043c \u0437\u0430\u043f\u0443\u0442\u0430\u043b\u0438\u0441\u044c \u0438 \u0443\u0441\u0442\u0430\u043b\u0438 \u2014 \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u0432\u0430\u0440\u0438\u0442\u0435 <a href=\"https:\/\/en.wikipedia.org\/wiki\/Tea\">\u0447\u0430\u044e<\/a>?\u00bb \u2014 \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u044f\u0441\u043d\u0438\u0442\u044c, \u0447\u0442\u043e \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 <a href=\"https:\/\/www.schneier.com\/blog\/archives\/2011\/04\/schneiers_law.html\">\u0437\u0430\u0432\u0435\u0442\u0430\u043c\u0438<\/a> \u0411\u0440\u044e\u0441\u0430 \u0428\u043d\u0430\u0439\u0435\u0440\u0430 \u0432 \u0444\u043e\u0440\u043c\u0435 \u00abdon\u2019t roll your own crypto\u00ab \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442 \u0432\u043f\u043e\u043b\u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c <a href=\"https:\/\/en.wikipedia.org\/wiki\/XXTEA#Reference_code\">XXTEA<\/a>, \u043f\u043e\u0442\u043e\u043c\u043e\u043a \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0448\u0438\u0444\u0440\u0430 TEA, \u043f\u0440\u0438\u043c\u0435\u043d\u0451\u043d\u043d\u044b\u0439 \u043a\u043e\u0433\u0434\u0430-\u0442\u043e \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0435\u0439 Microsoft \u0432 \u0441\u0432\u043e\u0435\u043c Xbox (\u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, \u0447\u0442\u043e \u0432 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u043d \u0431\u044b\u043b \u043f\u0440\u0438\u043c\u0435\u043d\u0451\u043d \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u043e \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0445\u0435\u0448-\u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0447\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u043b\u043e \u043a <a href=\"https:\/\/en.wikipedia.org\/wiki\/Tiny_Encryption_Algorithm#Properties\">\u0432\u0437\u043b\u043e\u043c\u0443 \u0438\u0433\u0440\u043e\u0432\u043e\u0439 \u043a\u043e\u043d\u0441\u043e\u043b\u0438<\/a>, \u043d\u043e \u044d\u0442\u043e \u0441\u043e\u0432\u0441\u0435\u043c \u0434\u0440\u0443\u0433\u0430\u044f \u0438\u0441\u0442\u043e\u0440\u0438\u044f).<\/p>\n<p>  \u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u0435\u043d, \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u043a\u0430\u043a\u0438\u043c-\u043b\u0438\u0431\u043e \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0435\u0433\u043e \u0432\u0437\u043b\u043e\u043c\u0443 (\u0442.\u0435. \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043d\u0430\u0434\u0451\u0436\u0435\u043d), \u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440; \u043e\u0434\u043d\u0430\u043a\u043e \u043f\u043e\u0434\u0431\u0438\u0440\u0430\u0442\u044c 28\u00d72 = 56 \u0431\u0438\u0442 \u043a\u043b\u044e\u0447\u0435\u0439 \u0437\u0430\u043d\u044f\u0442\u0438\u0435 \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u043c\u044f\u0433\u043a\u043e \u0433\u043e\u0432\u043e\u0440\u044f \u043d\u0435\u0431\u044b\u0441\u0442\u0440\u043e\u0435 (\u043d\u0430 Core i5 \u044d\u0442\u043e \u0431\u044b \u0437\u0430\u043d\u044f\u043b\u043e \u043e\u043a\u043e\u043b\u043e 548 \u043b\u0435\u0442). \u0423\u0447\u0438\u0442\u044b\u0432\u0430\u044f \u043c\u0435\u0442\u043e\u0434 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u0434\u0432\u043e\u0439\u043d\u043e\u0435 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043a\u043b\u044e\u0447\u0430\u0445 \u2014 \u043c\u043e\u0436\u043d\u043e \u0432\u0441\u043f\u043e\u043c\u043d\u0438\u0442\u044c \u043f\u0440\u043e \u0437\u0430\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D0%B2%D1%81%D1%82%D1%80%D0%B5%D1%87%D0%B8_%D0%BF%D0%BE%D1%81%D0%B5%D1%80%D0%B5%D0%B4%D0%B8%D0%BD%D0%B5\">\u00ab\u0432\u0441\u0442\u0440\u0435\u0447\u0430 \u043f\u043e\u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0435\u00bb<\/a>, \u0438\u043b\u0438 \u00abmeet in the middle\u00bb, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u043d\u0430\u043c \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043e\u043a\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u0431\u043e\u0440\u0430 \u0441 2<sup>28<\/sup>\u00d72<sup>28<\/sup> \u0434\u043e 2<sup>28<\/sup>+2<sup>28<\/sup>, \u043d\u043e \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u043d\u0435 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e, \u0430 \u0437\u0430 \u0441\u0447\u0435\u0442 \u043f\u0430\u043c\u044f\u0442\u0438. \u0412 \u043f\u0430\u043c\u044f\u0442\u0438 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u043f\u0435\u0440\u0432\u043e\u043c \u043a\u043b\u044e\u0447\u0435, \u0438 \u043f\u0440\u043e\u0431\u0443\u044f \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430 \u0432\u0442\u043e\u0440\u043e\u043c \u043a\u043b\u044e\u0447\u0435 \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043a\u0430\u0442\u044c \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0449\u0438\u0439 \u0448\u0438\u0444\u0440\u043e\u0442\u0435\u043a\u0441\u0442, \u0432\u043e\u0442 \u0442\u0430\u043a:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/post_images\/9b5\/ec7\/abb\/9b5ec7abb909d053d5db3329299a1af0.png\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/9b5\/ec7\/abb\/9b5ec7abb909d053d5db3329299a1af0.png\"\/><\/div>\n<p>  \u0414\u043b\u044f \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f \u043c\u043e\u0436\u043d\u043e \u0432\u0437\u044f\u0442\u044c \u0433\u043e\u0442\u043e\u0432\u0443\u044e <a href=\"https:\/\/pypi.org\/project\/xxtea\/\">\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443<\/a>, \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0443\u044e \u0448\u0438\u0444\u0440 XXTEA \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043c\u043e\u0434\u0443\u043b\u044f Python, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 C, \u043d\u0435 \u0437\u0430\u0431\u044b\u0432 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0435\u0440\u0435\u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0435\u0451, \u0437\u0430\u043c\u0435\u043d\u0438\u0432 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0443\u044e \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0443 delta \u0440\u0430\u0432\u043d\u0443\u044e 0x9E3779B9 \u043d\u0430 \u0437\u0430\u0434\u0430\u043d\u043d\u0443\u044e \u0432 \u043a\u043e\u0434\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b 0x218E77C3. \u041f\u0440\u0438\u043c\u0435\u0440\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u0442\u0430\u043a\u043e\u0439:<\/p>\n<pre><code class=\"python\">import xxtea   for firstKeyPart in range(0, 2**28):   fullKey = (b'\\x00' * 12) + firstKeyPart.to_bytes(4, byteorder='little')   cipherText = xxtea.encrypt(givenPlainText, fullKey, padding=False)   encryptionTable[cipherText] = firstKeyPart   for secondKeyPart in range(0, 2**28):   fullKey = (b'\\x00' * 12) + secondKeyPart.to_bytes(4, byteorder='little')   cipherText = xxtea.decrypt(givenCipherText, fullKey, padding=False)      if cipherText in encryptionTable:         print(\"Key 1: \", (b'\\x00' * 12) + encryptionTable[cipherText])         print(\"Key 2: \", fullKey)         break <\/code><\/pre>\n<p>  \u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u043e\u0434\u043e\u0431\u043d\u043e\u0439 \u0445\u0435\u0448-\u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0432 Python \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u0435\u0442 \u043e\u043a\u043e\u043b\u043e 28 \u0413\u0411 \u041e\u0417\u0423, \u0447\u0435\u0433\u043e \u043d\u0435 \u043a\u0430\u0436\u0434\u044b\u0439 \u0441\u0435\u0431\u0435 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442\u044c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043b\u044f \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u0435\u0451 \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u044f \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0439\u0442\u0438 \u043d\u0430 \u0445\u0438\u0442\u0440\u043e\u0441\u0442\u044c \u2014 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u043f\u0435\u0440\u0432\u044b\u0439 \u0446\u0438\u043a\u043b (\u0433\u0434\u0435 \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0448\u0438\u0444\u0440\u043e\u0442\u0435\u043a\u0441\u0442\u043e\u0432 \u0438 \u0438\u0434\u0451\u0442 \u043f\u043e\u0434\u0431\u043e\u0440 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430) \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0447\u0430\u0441\u0442\u0435\u0439 (2, 4, 8, 16 \u2014 \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f), \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u044f \u043a\u0430\u043a \u0431\u044b \u00ab\u043e\u043a\u043d\u043e\u00bb, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0435\u0435 \u043b\u0438\u0448\u044c \u0447\u0430\u0441\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u044b. <\/p>\n<p>  \u0412\u0442\u043e\u0440\u043e\u0439 \u0436\u0435 \u0446\u0438\u043a\u043b (\u0434\u043b\u044f \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430) \u0432 \u0442\u0430\u043a\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043a\u0430\u043a \u0435\u0441\u0442\u044c, \u0446\u0435\u043b\u0438\u043a\u043e\u043c, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0440\u0430\u0432\u043d\u043e\u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u043c\u0443,\u00a0 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438-\u00bb\u0445\u043e\u0440\u043e\u0448\u0435\u043c\u0443\u00bb \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0445 \u0448\u0438\u0444\u0440\u043e\u0442\u0435\u043a\u0441\u0442\u043e\u0432 \u043f\u043e \u0431\u0438\u0442\u043e\u0432\u043e\u043c\u0443 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0443 \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0447\u0442\u043e \u0432 \u0438\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u00ab\u043e\u043a\u043d\u0430\u00bb \u0431\u044b \u0441\u043e\u0448\u043b\u0438\u0441\u044c. \u0422\u0430\u043a, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u043d\u0430 4 \u0447\u0430\u0441\u0442\u0438 \u2014 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u043a\u043e\u043b\u043e 7.5 \u0413\u0411 \u041e\u0417\u0423, \u0447\u0442\u043e \u0443\u0436\u0435 \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u0440\u0435\u0430\u043b\u0438\u0441\u0442\u0438\u0447\u043d\u0435\u0435 (\u0432 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043a\u0430\u043a \u0440\u0430\u0437 \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0435 \u0438 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u00ab\u043e\u043a\u043d\u0430\u00bb \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430):<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/post_images\/04a\/caf\/645\/04acaf645d6c3304c89cba4b6c049442.png\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/04a\/caf\/645\/04acaf645d6c3304c89cba4b6c049442.png\"\/><\/div>\n<p>  \u0415\u0441\u043b\u0438 \u0438 \u044d\u0442\u043e \u043d\u0435\u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043e\u0431\u044a\u0451\u043c \u2014 \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u043d\u0435 \u043d\u0430 4, \u0430 \u043d\u0430 8 \u0447\u0430\u0441\u0442\u0435\u0439, \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435 \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u044f \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438, \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0446\u0435\u043d\u043e\u0439 \u0431\u043e\u043b\u0435\u0435 \u0434\u043e\u043b\u0433\u043e\u0433\u043e \u043f\u043e\u0434\u0431\u043e\u0440\u0430. <a href=\"https:\/\/en.wikipedia.org\/wiki\/Space%E2%80%93time_tradeoff\">\u041a\u043e\u043c\u043f\u0440\u043e\u043c\u0438\u0441\u0441 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0438 \u043f\u0430\u043c\u044f\u0442\u0438<\/a> \u0432 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0438! \u041f\u0440\u0438 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0438 \u043d\u0430 4 \u0447\u0430\u0441\u0442\u0438 \u043a\u0430\u0436\u0434\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u043d\u0430 1 \u044f\u0434\u0440\u0435 Core i5 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043b\u0430\u0441\u044c \u0437\u0430 18 \u043c\u0438\u043d\u0443\u0442, \u0438 \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043f\u043e\u043b\u043d\u044b\u0439 \u043f\u043e\u0434\u0431\u043e\u0440 \u0437\u0430\u043d\u044f\u043b \u0431\u044b 72 \u043c\u0438\u043d\u0443\u0442\u044b (\u0432\u0441\u0435 \u0435\u0449\u0451 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043b\u0443\u0447\u0448\u0435 \u0447\u0435\u043c 548 \u043b\u0435\u0442), \u0430 \u0435\u0441\u043b\u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0438 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043f\u043e \u044f\u0434\u0440\u0430\u043c \u2014 \u0442\u043e \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0438 \u0435\u0449\u0451 \u0431\u044b\u0441\u0442\u0440\u0435\u0435.<\/p>\n<p>  \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0434\u043b\u044f \u043f\u0440\u0438\u0432\u0435\u0434\u0451\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u043d\u0430\u0439\u0434\u0443\u0442\u0441\u044f \u043a\u043b\u044e\u0447\u0438 0x0000000000000000000000007257BEB \u0438 0x0000000000000000000000002E3E626, \u0430 \u0441\u043b\u0435\u0434\u043e\u043c \u0437\u0430 \u043d\u0438\u043c\u0438 \u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 616E7377 65723A6B 39423132 3851746C 46566944 (\u0434\u0435\u0440\u0436\u0438\u043c \u0432 \u0443\u043c\u0435, \u0447\u0442\u043e XXTEA \u0437\u0434\u0435\u0441\u044c \u043e\u043f\u0435\u0440\u0438\u0440\u0443\u0435\u0442 32-\u0431\u0438\u0442\u043d\u044b\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438), \u0438\u043b\u0438 \u00abanswer:k9B128QtlFViD\u00bb. \u0415\u0441\u043b\u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u043e\u0442\u0432\u0435\u0442 John Roe \u0432 matrix, \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435 \u0437\u0430\u0434\u0430\u043d\u0438\u0435.<\/p>\n<p>  <a name=\"1\"><\/a><\/p>\n<h3><font color=\"#3AC1EF\">\u258d \u0417\u0430\u0434\u0430\u043d\u0438\u0435 3.2<\/font><\/h3>\n<p>  \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0437\u0430\u0434\u0430\u043d\u0438\u044f \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0444\u0430\u0439\u043b\u044b text-XXXXX.txt \u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0430\u044f \u0435\u043c\u0443 \u043f\u043e\u0434\u043f\u0438\u0441\u044c. \u0412\u043d\u0443\u0442\u0440\u0438 \u0444\u0430\u0439\u043b\u0430 \u0443\u0432\u0438\u0434\u0438\u043c \u0447\u0442\u043e-\u0442\u043e \u043f\u043e\u0434\u043e\u0431\u043d\u043e\u0435:  <\/p>\n<blockquote>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0422\u0435\u043a\u0441\u0442<\/b>                         <\/p>\n<div class=\"spoiler_text\"><code>bD+7BojXe2BbTH8Q0h+Ni3e9JKGXZcHcgDdIydgwfsRW+IiUWMlvubnJKVS\/H4wc<br \/>  1D6fLsYt9dOVyTkwpTVTtj3n9tEj0QaAzQOgqfXReNVWl7w0nt8qitlk68uLY3xC<br \/>  rySFDhJoPxA0jmKEaPW4G+l5Ri6es4kA23XKtbf8EqOvAX3Tafy0AT3v5MNyBVDJ<br \/>  cdpl1e+08ETYPLVLymt5pv\/UReGSIlEuZ\/aiOrikrWjMJCMiXfzjxT6Yi\/wW+dOD<br \/>  9BgJc\/OsEAGbrvBZ3LYhJZ+QOpUDPy0IFh4u8A24NEJx+hA0V\/PDOxYcNQ3ePvtf<br \/>  IJOMHdcGLh8c6\/tM9u21JBLdOdmwm+ZUFbYTPr9nT0Brwtqj8Jqplkf++i\/6gIT6<br \/>  Z6mcNftenDCuRgTkGJCypmsKlVzH\/TESjrZGPQSO1\/clsylGRhDogVq3BoddGXsP<br \/>  +vTzfhm48AdXETY3psD+LB9+QQgo1D5b8pRamKUD8ekid74eitKKt8dHGVNeV1JG<br \/>  MIIG4wIBAAKCAYEArMqFwTxD2SUd\/zMlIp9LDX1\/pRFQ\/WU9reebFam0jdLwMv7Q<br \/>  Q5bNIGS1cDbVzUCcpEGp5TlOiTijJTCzcv5AGHq0Fniii\/HMSQVTLsPTzYabN2I4<br \/>  4EXs9dxZHyncnOqwN66JYeOk5IAT8hlcQDydyviov0oBVaB6JvJ9tCGkOKmfohlZ<br \/>  T4oWULLnBzX+1Q65HBPG5emxIXFLFRInqr3pFmqCni8HTa2v67Hx7r+vtabQZjfl<br \/>  IMVyCO+pfxL9LukqQHoGSRxYLrhg6h\/WYvrf4LGTOxWVIiLUys4+LdVgN+ONDA6a<br \/>  fzoMuEN04fiF9Pz7wc4PNXMN1DfWbnGxry38DYLeTZWHE\/7TpP5YXS7g9I9dchEr<br \/>  jMBQUo29qYwqu0nsOGLPY3D0gck7HdwgrNPIMTKEISOif5FB16FV9cAKxwgkx3UP<br \/>  48xd7cpG\/L9xbPsx6aGXuEfnn++XzUsw8YOdRDz+cmLgLoH6J56KnGSRIdbeC4b\/<br \/>  kY6LYK\/1nGgRWlk\/AgMBAAECggGAZfMocBcqwRhRVp3Kr17lXZRKmA5bhucROWaJ<br \/>  7oIu8e8fojcOkpKLfS1ukEMKawxQX+oOYB0r5XLxb6QIfTTehJMBZrDO11tXeU4X<br \/>  AmSwt3dQZaEihdE8OuREAUsly7\/9MR1eGc\/DHr8jBZlJAO3C\/Fsy1YrItsj0yb4R<br \/>  xRKEXppWgcILHA8Rk5O7FFobfYIuXg6dMFJuHJlH\/6qylN9wg7VcVBDTclWkkqBv<br \/>  arrW5YsDMwyPuIJHAlbF3yBJGkCfoEK\/QlvmKRvjabGIu43w2g6lp3ZVYZtUZQgy<br \/>  YG5hsyylONnukEf\/FbBi21OgDWfXey5FPQ97KHLZJrxrjkna6rhwzFiCJsQgutbc<br \/>  XahjElJY\/hn\/9JP5co9FgGlk+aZ\/bofJLQ5urMSFMm7NgCD7aWRQx6Zkcow899Gg<br \/>  KBFgNZdVWdj3lkAELO6NZSSpRDNxiaFb59aplIOj6bq3QwUuHSWtpO3gCuvn6EZU<br \/>  ohDyvUDa6fbtX\/hHx2MGbofxb<\/code><\/div>\n<\/p><\/div>\n<\/blockquote>\n<p>\u041d\u0430\u043c\u0451\u0442\u0430\u043d\u043d\u044b\u0439 \u0433\u043b\u0430\u0437 \u0431\u0435\u0437\u043e\u0448\u0438\u0431\u043e\u0447\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u043d\u044b\u0435 \u00ab<code>MIIG<\/code>\u00bb \u0432 \u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0435 \u0442\u0435\u043a\u0441\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0435\u043a\u043e\u0434\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0438\u0437 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/Base64\">Base64 <\/a>\u043a\u0430\u043a 0x30 0x82 0x06. \u0412 \u043d\u043e\u0442\u0430\u0446\u0438\u0438<a href=\"https:\/\/ru.wikipedia.org\/wiki\/ASN.1\"> ASN.1<\/a> 0x30 \u0437\u043d\u0430\u043c\u0435\u043d\u0443\u0435\u0442 \u043d\u0430\u0447\u0430\u043b\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 (sequence) \u0434\u0430\u043d\u043d\u044b\u0445, 0x82 (0x82<a href=\"https:\/\/letsencrypt.org\/docs\/a-warm-welcome-to-asn1-and-der\/#a-little-bonus\">-0x80<\/a> = 2) \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u0434\u043b\u0438\u043d\u0430 \u043f\u043e\u043b\u044f \u0434\u043b\u0438\u043d\u044b \u044d\u0442\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u2013 2 \u0431\u0430\u0439\u0442\u0430, \u0438 \u0441\u0442\u0430\u0440\u0448\u0438\u0439 \u0431\u0430\u0439\u0442 \u0434\u043b\u0438\u043d\u044b \u0440\u0430\u0432\u0435\u043d 0x06. \u0414\u0435\u043a\u043e\u0434\u0438\u0440\u0443\u0435\u043c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u0431\u0430\u0439\u0442\u044b \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u0434\u0435\u043a\u043e\u0434\u0435\u0440\u043e\u043c<a href=\"https:\/\/www.cs.auckland.ac.nz\/~pgut001\/dumpasn1.c\"> dumpasn1<\/a> (\u0438\u043b\u0438 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f<a href=\"https:\/\/lapo.it\/asn1js\/\"> \u043e\u043d\u043b\u0430\u0439\u043d-\u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u043c<\/a>) \u0438 \u0440\u0430\u0437\u0431\u0435\u0440\u0451\u043c \u0438\u0445 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e:<\/p>\n<p>  <a href=\"https:\/\/habrastorage.org\/webt\/ys\/2f\/75\/ys2f75lqxnrloe_0lii0drkji1e.png\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/ys\/2f\/75\/ys2f75lqxnrloe_0lii0drkji1e.png\" data-src=\"https:\/\/habrastorage.org\/webt\/ys\/2f\/75\/ys2f75lqxnrloe_0lii0drkji1e.png\"\/><\/a><br \/>  <i><font color=\"#999999\">\u041a\u0430\u0440\u0442\u0438\u043d\u043a\u0430 \u043a\u043b\u0438\u043a\u0430\u0431\u0435\u043b\u044c\u043d\u0430<\/font><\/i>  <\/p>\n<blockquote>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0412 \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c\u043e\u043c \u0432\u0438\u0434\u0435<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"plaintext\">&lt;30 82 06 E3>    0 1763: SEQUENCE { &lt;02 01>    41:   INTEGER 0 (0x00) &lt;02 82 01 81>    7  385:   INTEGER          00 AC CA 85 C1 3C 43 D9 25 1D FF 33 25 22 9F 4B          0D 7D 7F A5 11 50 FD 65 3D AD E7 9B 15 A9 B4 8D          D2 F0 32 FE D0 43 96 CD 20 64 B5 70 36 D5 CD 40          9C A4 41 A9 E5 39 4E 89 38 A3 25 30 B3 72 FE 40          18 7A B4 16 78 A2 8B F1 CC 49 05 53 2E C3 D3 CD          86 9B 37 62 38 E0 45 EC F5 DC 59 1F 29 DC 9C EA          B0 37 AE 89 61 E3 A4 E4 80 13 F2 19 5C 40 3C 9D          CA F8 A8 BF 4A 01 55 A0 7A 26 F2 7D B4 21 A4 38          A9 9F A2 19 59 4F 8A 16 50 B2 E7 07 35 FE D5 0E          B9 1C 13 C6 E5 E9 B1 21 71 4B 15 12 27 AA BD E9          16 6A 82 9E 2F 07 4D AD AF EB B1 F1 EE BF AF B5          A6 D0 66 37 E5 20 C5 72 08 EF A9 7F 12 FD 2E E9          2A 40 7A 06 49 1C 58 2E B8 60 EA 1F D6 62 FA DF          E0 B1 93 3B 15 95 22 22 D4 CA CE 3E 2D D5 60 37          E3 8D 0C 0E 9A 7F 3A 0C B8 43 74 E1 F8 85 F4 FC          FB C1 CE 0F 35 73 0D D4 37 D6 6E 71 B1 AF 2D FC          0D 82 DE 4D 95 87 13 FE D3 A4 FE 58 5D 2E E0 F4          8F 5D 72 11 2B 8C C0 50 52 8D BD A9 8C 2A BB 49          EC 38 62 CF 63 70 F4 81 C9 3B 1D DC 20 AC D3 C8          31 32 84 21 23 A2 7F 91 41 D7 A1 55 F5 C0 0A C7          08 24 C7 75 0F E3 CC 5D ED CA 46 FC BF 71 6C FB          31 E9 A1 97 B8 47 E7 9F EF 97 CD 4B 30 F1 83 9D          44 3C FE 72 62 E0 2E 81 FA 27 9E 8A 9C 64 91 21          D6 DE 0B 86 FF 91 8E 8B 60 AF F5 9C 68 11 5A 59          3F &lt;02 03>  3963:   INTEGER 65537 (0x10001) &lt;02 82 01 80>  401  384:   INTEGER          65 F3 28 70 17 2A C1 18 51 56 9D CA AF 5E E5 5D          94 4A 98 0E 5B 86 E7 11 39 66 89 EE 82 2E F1 EF          1F A2 37 0E 92 92 8B 7D 2D 6E 90 43 0A 6B 0C 50          5F EA 0E 60 1D 2B E5 72 F1 6F A4 08 7D 34 DE 84          93 01 66 B0 CE D7 5B 57 79 4E 17 02 64 B0 B7 77          50 65 A1 22 85 D1 3C 3A E4 44 01 4B 25 CB BF FD          31 1D 5E 19 CF C3 1E BF 23 05 99 49 00 ED C2 FC          5B 32 D5 8A C8 B6 C8 F4 C9 BE 11 C5 12 84 5E 9A          56 81 C2 0B 1C 0F 11 93 93 BB 14 5A 1B 7D 82 2E          5E 0E 9D 30 52 6E 1C 99 47 FF AA B2 94 DF 70 83          B5 5C 54 10 D3 72 55 A4 92 A0 6F 6A BA D6 E5 8B          03 33 0C 8F B8 82 47 02 56 C5 DF 20 49 1A 40 9F          A0 42 BF 42 5B E6 29 1B E3 69 B1 88 BB 8D F0 DA          0E A5 A7 76 55 61 9B 54 65 08 32 60 6E 61 B3 2C          A5 38 D9 EE 90 47 FF 15 B0 62 DB 53 A0 0D 67 D7          7B 2E 45 3D 0F 7B 28 72 D9 26 BC 6B 8E 49 DA EA          B8 70 CC 58 82 26 C4 20 BA D6 DC 5D A8 63 12 52          58 FE 19 FF F4 93 F9 72 8F 45 80 69 64 F9 A6 7F          6E 87 C9 2D 0E 6E AC C4 85 32 6E CD 80 20 FB 69          64 50 C7 A6 64 72 8C 3C F7 D1 A0 28 11 60 35 97          55 59 D8 F7 96 40 04 2C EE 8D 65 24 A9 44 33 71          89 A1 5B E7 D6 A9 94 83 A3 E9 BA B7 43 05 2E 1D          25 AD A4 ED E0 0A EB E7 E8 46 54 A2 10 F2 BD 40          DA E9 F6 ED 5F F8 47 C7 63 06 6E 87 F1          Error: Unexpected EOF, 3 bytes missing. Error: Inconsistent object length, 981 bytes difference.        } Error: Inconsistent object length, 980 bytes difference.<\/code><\/pre>\n<\/div><\/div>\n<\/blockquote>\n<p>\u041f\u043e\u043c\u0435\u0447\u0435\u043d\u043e:<\/p>\n<ul>\n<li> <b><font color=\"#8abc69\">\u0437\u0435\u043b\u0451\u043d\u044b\u043c <\/font><\/b>\u2013 \u0442\u0438\u043f \u0437\u0430\u043f\u0438\u0441\u0438; 30 \u2013 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c (sequence), 02 \u2013 \u0446\u0435\u043b\u043e\u0435 \u0447\u0438\u0441\u043b\u043e (integer);<\/li>\n<li><b><font color=\"#a9bee4\">\u0433\u043e\u043b\u0443\u0431\u044b\u043c <\/font><\/b>\u2013 \u0434\u043b\u0438\u043d\u0430 \u0434\u043b\u0438\u043d\u044b \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0438\u0441\u0438, \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u00ab\u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0431\u0430\u0439\u0442 + 0x80\u00bb;<\/li>\n<li><b><font color=\"#4472c4\">\u0441\u0438\u043d\u0438\u043c <\/font><\/b>\u2013 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043b\u0438\u043d\u044b \u0437\u0430\u043f\u0438\u0441\u0438;<\/li>\n<li><b>\u043f\u043e\u043b\u0443\u0436\u0438\u0440\u043d\u044b\u043c \u0447\u0451\u0440\u043d\u044b\u043c <\/b>\u2013 \u0441\u0430\u043c\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435.<\/li>\n<\/ul>\n<p>  \u0421 \u0443\u0447\u0451\u0442\u043e\u043c \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u0432\u0438\u0434\u0438\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0438\u0437 4\u0445 \u0446\u0435\u043b\u044b\u0445 \u0447\u0438\u0441\u0435\u043b: \u043d\u0443\u043b\u044f, \u0434\u043b\u0438\u043d\u043d\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f 65535 \u0438 \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e\u0433\u043e \u0434\u043b\u0438\u043d\u043d\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442 3\u0445 \u0431\u0430\u0439\u0442. \u0422\u0430\u043a\u0436\u0435 \u043f\u043e \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0443 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u0432\u0441\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u0434\u043b\u0438\u043d\u043e\u0439 1763 \u0431\u0430\u0439\u0442\u0430, \u0430 \u0443 \u043d\u0430\u0441 \u0442\u043e\u043b\u044c\u043a\u043e 786 \u0431\u0430\u0439\u0442. \u0421\u0430\u043c\u044b\u0435 \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0443\u0436\u0435 \u043c\u043e\u0433\u043b\u0438 \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u0432\u043e\u043e\u0431\u0449\u0435-\u0442\u043e \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0435\u0449\u0451 6 \u0431\u0438\u0442 \u043e\u0442 \u0441\u0438\u043c\u0432\u043e\u043b\u0430 \u00abb\u00bb \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u043c base64, \u0438 \u0432\u043e\u0442 \u043e\u043d\u0438: 0b011011. \u041e\u043d\u0438 \u0435\u0449\u0451 \u0441\u043e\u0441\u043b\u0443\u0436\u0430\u0442 \u043d\u0430\u043c \u0441\u0432\u043e\u044e \u0441\u043b\u0443\u0436\u0431\u0443 \u043f\u043e\u0437\u0436\u0435.<\/p>\n<p>  \u0422\u0435 \u0438\u0437 \u043d\u0430\u0441, \u043a\u0442\u043e \u043a\u043e\u0433\u0434\u0430-\u043d\u0438\u0431\u0443\u0434\u044c \u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u0447\u0442\u043e \u0436\u0435 \u0441\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u00ab\u0431\u0435\u043b\u0438\u0431\u0435\u0440\u0434\u0435\u00bb \u043c\u0435\u0436\u0434\u0443 \u00ab&#8212;&#8212;BEGIN RSA PRIVATE KEY&#8212;&#8212;\u00bb \u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u044e\u0449\u0435\u0439 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0443\u0436\u0435 \u043f\u043e\u043d\u044f\u043b\u0438, \u043a \u0447\u0435\u043c\u0443 \u0432\u0441\u0451 \u0438\u0434\u0451\u0442. \u0414\u0430, \u0432\u0441\u0451 \u0432\u0435\u0440\u043d\u043e, \u0432\u0441\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0434\u043e \u0431\u043e\u043b\u0438 \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442<a href=\"https:\/\/etherhack.co.uk\/asymmetric\/docs\/rsa_key_breakdown.html\"> \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 RSA<\/a>, \u0430 \u0442\u043e\u0447\u043d\u0435\u0435 \u2013 RSA-3072 (\u043e\u0431\u0440\u0430\u0442\u0438\u043c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u0434\u043b\u0438\u043d\u0443 \u043c\u043e\u0434\u0443\u043b\u044f n \u0432 3072 \u0431\u0438\u0442\u0430).<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u043c\u044b \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c \u043a\u043b\u044e\u0447 \u0442\u0430\u043a\u043e\u0439 \u0436\u0435 \u0434\u043b\u0438\u043d\u044b \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 <code>openssl genrsa -out private_key.pem 3072<\/code>, \u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u043f\u0440\u0438\u043c\u0435\u0440 \u0434\u043b\u044f \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f. \u0412 \u043d\u0451\u043c \u043c\u044b \u0443\u0432\u0438\u0434\u0438\u043c \u0438 \u0432\u0441\u0435 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u044e\u0449\u0438\u0435 \u043d\u0430\u043c \u0447\u0438\u0441\u043b\u0430, \u043e\u043d\u0438 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438<a href=\"https:\/\/tls.mbed.org\/kb\/cryptography\/asn1-key-structures-in-der-and-pem\"> \u0432 \u0442\u0430\u043a\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435<\/a>:<\/p>\n<ul>\n<li>\u0432\u0435\u0440\u0441\u0438\u044f (\u043e\u0431\u044b\u0447\u043d\u043e \u0437\u0430\u0434\u0430\u0451\u0442\u0441\u044f \u043a\u0430\u043a 0);<\/li>\n<li>\u043c\u043e\u0434\u0443\u043b\u044c (n);<\/li>\n<li>\u043e\u0442\u043a\u0440\u044b\u0442\u0430\u044f \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0430 (e);<\/li>\n<li>\u0441\u0435\u043a\u0440\u0435\u0442\u043d\u0430\u044f \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0430 (d);<\/li>\n<li>\u043f\u0440\u043e\u0441\u0442\u043e\u0435 \u0447\u0438\u0441\u043b\u043e (p);<\/li>\n<li>\u043f\u0440\u043e\u0441\u0442\u043e\u0435 \u0447\u0438\u0441\u043b\u043e (q);<\/li>\n<li><a href=\"https:\/\/en.wikipedia.org\/wiki\/RSA_(cryptosystem)#Example\">\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0434\u043b\u044f \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439<\/a> (dp);<\/li>\n<li>\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0434\u043b\u044f \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 (dq);<\/li>\n<li>\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0434\u043b\u044f \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 (qInv).<\/li>\n<\/ul>\n<p>  \u0412 \u043d\u0430\u0448\u0435\u043c \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e\u043c \u043a\u043b\u044e\u0447\u0435 \u0435\u0441\u0442\u044c \u0432\u0435\u0440\u0441\u0438\u044f (\u0437\u0430\u0434\u0430\u043d\u0430 \u043a\u0430\u043a 0), \u043c\u043e\u0434\u0443\u043b\u044c (n, \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e), \u043e\u0442\u043a\u0440\u044b\u0442\u0430\u044f \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0430 (e, \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e, \u0440\u0430\u0432\u043d\u0430 65535), \u0438 \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u0430\u044f \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u0430\u044f \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0430 (d, \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442 3\u00d78-6 = 18 \u0431\u0438\u0442 \u0438\u0437 3072 \u0431\u0438\u0442, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0445 \u0432 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0435 \u044d\u0442\u043e\u0433\u043e \u0446\u0435\u043b\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430). \u0412\u0441\u043f\u043e\u043c\u043d\u0438\u043c, \u043a\u0430\u043a \u0432\u043e\u043e\u0431\u0449\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0430 \u0432 RSA, \u0438 \u043a\u0430\u043a\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043d\u0430\u043c \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b.<\/p>\n<p>  \u0428\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/post_images\/bc1\/3ea\/7a4\/bc13ea7a4ed4ba0a9ee996f9c8c2f23a.png\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/bc1\/3ea\/7a4\/bc13ea7a4ed4ba0a9ee996f9c8c2f23a.png\"\/><\/div>\n<p>  \u0420\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0430:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/post_images\/933\/e1e\/f18\/933e1ef1857e9eaf29fa39528eb079fb.png\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/933\/e1e\/f18\/933e1ef1857e9eaf29fa39528eb079fb.png\"\/><\/div>\n<p>  \u0414\u043b\u044f \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0443\u0436\u043d\u044b e \u0438 n, \u0438 \u043e\u043d\u0438 \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0432 \u043f\u043e\u043b\u043d\u043e\u043c \u0432\u0438\u0434\u0435. \u0410 \u0432\u043e\u0442 \u0434\u043b\u044f \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0438 \u043a\u0440\u043e\u043c\u0435 n \u043d\u0443\u0436\u043d\u0430 \u0435\u0449\u0451 \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u0430\u044f \u044d\u043a\u0441\u043f\u043e\u043d\u0435\u043d\u0442\u0430 d, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u043b\u0438\u0448\u044c \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e. \u0411\u043b\u0430\u0433\u043e, \u0447\u0442\u043e 2<sup>18<\/sup> \u2013 \u0432\u0441\u0435\u0433\u043e \u043b\u0438\u0448\u044c 262144 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0438, \u0438 \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e \u043f\u043e\u0434\u043e\u0431\u0440\u0430\u0442\u044c \u043d\u0435\u0445\u0432\u0430\u0442\u0430\u044e\u0449\u0438\u0435 \u0431\u0438\u0442\u044b d, \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0443 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0438, \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u0432 \u043b\u044e\u0431\u043e\u0435 \u043f\u043e\u043d\u0440\u0430\u0432\u0438\u0432\u0448\u0435\u0435\u0441\u044f \u0447\u0438\u0441\u043b\u043e (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 863) \u0438 \u043f\u044b\u0442\u0430\u044f\u0441\u044c \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0441 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u044b\u043c d, \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u044f \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0430 \u0438 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0430 \u2013 \u043d\u0435\u0445\u0432\u0430\u0442\u0430\u044e\u0449\u0438\u0435 \u0431\u0438\u0442\u044b d \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043f\u043e\u0434\u043e\u0431\u0440\u0430\u043d\u044b. \u0422\u0430\u043a, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c<a href=\"https:\/\/gist.github.com\/djego\/97db0d1bc3d16a9dcb9bab0930d277ff\"> \u043f\u0435\u0440\u0432\u0443\u044e \u0436\u0435 \u043f\u043e\u043f\u0430\u0432\u0448\u0443\u044e\u0441\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e RSA \u043d\u0430 Python<\/a>, \u0442\u043e \u043a\u043e\u0434 \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u043a\u0430\u043a-\u0442\u043e \u0442\u0430\u043a:  <\/p>\n<blockquote>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u041a\u043e\u0434<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"python\">def rsa_encrypt(pk, plaintext):   key, n = pk   cipher = pow(plaintext, key, n)   return cipher    def rsa_decrypt(pk, ciphertext):   key, n = pk   plain = pow(ciphertext, key, n)   return plain   e = 65537 n = 0x00ACCA85C13C43D9251DFF3325229F4B0D7D7FA51150FD653DADE79B15A9B48DD2F032FED04396CD2064B57036D5CD409CA441A9E5394E8938A32530B372FE40187AB41678A28BF1CC4905532EC3D3CD869B376238E045ECF5DC591F29DC9CEAB037AE8961E3A4E48013F2195C403C9DCAF8A8BF4A0155A07A26F27DB421A438A99FA219594F8A1650B2E70735FED50EB91C13C6E5E9B121714B151227AABDE9166A829E2F074DADAFEBB1F1EEBFAFB5A6D06637E520C57208EFA97F12FD2EE92A407A06491C582EB860EA1FD662FADFE0B1933B15952222D4CACE3E2DD56037E38D0C0E9A7F3A0CB84374E1F885F4FCFBC1CE0F35730DD437D66E71B1AF2DFC0D82DE4D958713FED3A4FE585D2EE0F48F5D72112B8CC050528DBDA98C2ABB49EC3862CF6370F481C93B1DDC20ACD3C83132842123A27F9141D7A155F5C00AC70824C7750FE3CC5DEDCA46FCBF716CFB31E9A197B847E79FEF97CD4B30F1839D443CFE7262E02E81FA279E8A9C649121D6DE0B86FF918E8B60AFF59C68115A593F dPart = (0x65F32870172AC11851569DCAAF5EE55D944A980E5B86E711396689EE822EF1EF1FA2370E92928B7D2D6E90430A6B0C505FEA0E601D2BE572F16FA4087D34DE84930166B0CED75B57794E170264B0B7775065A12285D13C3AE444014B25CBBFFD311D5E19CFC31EBF2305994900EDC2FC5B32D58AC8B6C8F4C9BE11C512845E9A5681C20B1C0F119393BB145A1B7D822E5E0E9D30526E1C9947FFAAB294DF7083B55C5410D37255A492A06F6ABAD6E58B03330C8FB882470256C5DF20491A409FA042BF425BE6291BE369B188BB8DF0DA0EA5A77655619B54650832606E61B32CA538D9EE9047FF15B062DB53A00D67D77B2E453D0F7B2872D926BC6B8E49DAEAB870CC588226C420BAD6DC5DA863125258FE19FFF493F9728F45806964F9A67F6E87C92D0E6EACC485326ECD8020FB696450C7A664728C3CF7D1A028116035975559D8F79640042CEE8D6524A944337189A15BE7D6A99483A3E9BAB743052E1D25ADA4EDE00AEBE7E84654A210F2BD40DAE9F6ED5FF847C763066E87F1 &lt;&lt; 6) | 0b011011   publicKey = (e, n) encryptedPlain = rsa_encrypt(publicKey, 863)   for keyPart in range(0, 2**18):   dFull = (dPart &lt;&lt; 18) | keyPart   privateKey = (dFull, n)   decryptedPlain = rsa_decrypt(privateKey, encryptedPlain)   if decryptedPlain == 863:         print hex(dFull)         break <\/code><\/pre>\n<\/div><\/div>\n<\/blockquote>\n<p>\u0414\u043b\u044f \u043f\u0440\u0438\u0432\u0435\u0434\u0451\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u043a\u043e\u0434 \u043d\u0430\u0439\u0434\u0451\u0442 \u043d\u0435\u0445\u0432\u0430\u0442\u0430\u044e\u0449\u0438\u0435 \u0431\u0438\u0442\u044b, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u0432 \u0432\u0438\u0434\u0435 \u0442\u0435\u0445 \u0441\u0430\u043c\u044b\u0445 \u0442\u0440\u0451\u0445 \u043d\u0435\u0445\u0432\u0430\u0442\u0430\u044e\u0449\u0438\u0445 \u0431\u0430\u0439\u0442\u043e\u0432 \u0438\u0445 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043a\u0430\u043a 0x6D 0xBD 0x61. \u0414\u0430\u043b\u0435\u0435 \u043f\u0440\u0438 \u0436\u0435\u043b\u0430\u043d\u0438\u0438<a href=\"https:\/\/gist.github.com\/ddddavidee\/b34c2b67757a54ce75cb\"> \u043c\u043e\u0436\u043d\u043e \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0438 p \u0438 q<\/a>, \u0430 \u0438\u0437 \u043d\u0438\u0445 \u2013 \u0438 \u043f\u043e\u043b\u043d\u044b\u0439 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438:  <\/p>\n<blockquote>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0412\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u043a\u043b\u044e\u0447<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"plaintext\">-----BEGIN RSA PRIVATE KEY----- MIIG4wIBAAKCAYEArMqFwTxD2SUd\/zMlIp9LDX1\/pRFQ\/WU9reebFam0jdLwMv7Q Q5bNIGS1cDbVzUCcpEGp5TlOiTijJTCzcv5AGHq0Fniii\/HMSQVTLsPTzYabN2I4 4EXs9dxZHyncnOqwN66JYeOk5IAT8hlcQDydyviov0oBVaB6JvJ9tCGkOKmfohlZ T4oWULLnBzX+1Q65HBPG5emxIXFLFRInqr3pFmqCni8HTa2v67Hx7r+vtabQZjfl IMVyCO+pfxL9LukqQHoGSRxYLrhg6h\/WYvrf4LGTOxWVIiLUys4+LdVgN+ONDA6a fzoMuEN04fiF9Pz7wc4PNXMN1DfWbnGxry38DYLeTZWHE\/7TpP5YXS7g9I9dchEr jMBQUo29qYwqu0nsOGLPY3D0gck7HdwgrNPIMTKEISOif5FB16FV9cAKxwgkx3UP 48xd7cpG\/L9xbPsx6aGXuEfnn++XzUsw8YOdRDz+cmLgLoH6J56KnGSRIdbeC4b\/ kY6LYK\/1nGgRWlk\/AgMBAAECggGAZfMocBcqwRhRVp3Kr17lXZRKmA5bhucROWaJ 7oIu8e8fojcOkpKLfS1ukEMKawxQX+oOYB0r5XLxb6QIfTTehJMBZrDO11tXeU4X AmSwt3dQZaEihdE8OuREAUsly7\/9MR1eGc\/DHr8jBZlJAO3C\/Fsy1YrItsj0yb4R xRKEXppWgcILHA8Rk5O7FFobfYIuXg6dMFJuHJlH\/6qylN9wg7VcVBDTclWkkqBv arrW5YsDMwyPuIJHAlbF3yBJGkCfoEK\/QlvmKRvjabGIu43w2g6lp3ZVYZtUZQgy YG5hsyylONnukEf\/FbBi21OgDWfXey5FPQ97KHLZJrxrjkna6rhwzFiCJsQgutbc XahjElJY\/hn\/9JP5co9FgGlk+aZ\/bofJLQ5urMSFMm7NgCD7aWRQx6Zkcow899Gg KBFgNZdVWdj3lkAELO6NZSSpRDNxiaFb59aplIOj6bq3QwUuHSWtpO3gCuvn6EZU ohDyvUDa6fbtX\/hHx2MGbofxbb1hAoHBAOVsPoFwTJk3Qdlekkdb8Z4v8CKZXdDs jLKOvGunmjrxSptb0s\/zrAZYtjL4\/lvuS9xzDX6DdGxPlISta6sBnu6LDoD0hrnH BBG+qn6rOvFqgKGcz5HpcQcWOyk39n\/RMFvVRuCJ+Hh0GQyyAAzHwRXfabmODlyC \/tLBSKg+N72V7GdWLPecFuPmrt6YF3u3WPUq8RTeFKxJc8yq1uoQtCO2ADDoTR3T jCC1wHJM9B+2QweuAGBmqgv7pYt8e3T\/cwKBwQDAzs9LIi1lB28Of2qGncNHnubE 72FKlj0TbKmOezEz6DhkyYFcV+Lr6mxoCXAgzdPCQWVexepVujiv3fIamBV72Bbz aonFgeJHONoktm+S++ZRexJy\/OnKky7SHLcjbfmcQpdxB5Xf8l6IM1EsaSreNNHs jhwxxmt02YmfslZXOfQLY88lVsrirYeEBAj7UsxXq\/mmp1T7qjdMc\/YnkYQi6Xy3 PytUm45VacbaACvqj6tV7d5w91Bspt\/aKqOaNAUCgcAgjXpU\/W0w9EE4qY2R6H7h FiY5ko9YPKg+Ebi0gcSFhoUyhBXmgcmv4NiBZQkaXDaRYhXRFK\/pSmVlagHz8rft WvfE3m1bYNy389jXPk6PwK\/dvpVJO9lYyxO75n\/oZPM6pIl5BLqnxLllLsCJD7La +qdSt9Bb2g50Mw6vKJzaHrK7euPIgnJRBgNb\/DKg0EQkDWLFtjkytP1kVf1GmvYk dweR6PRAPisM3R0gWsDs2vyp00ukYgzQxHUZ1KDj2fcCgcB2LEuRWVlJWs0Orbm0 2G0gMJxwh+ext3OnvCoQUiFOFz65R2gqGRPUVNIs0dwPvxfTMBHZjKSb9o9X+0iw VBaW2VL3zoyyqXDvBkFtzwODqzD3L9+W6rzAlIVV8pOs+3LJ+2amuGd74yldgVZ3 Sd4kY2tm+ZL+Twb9j3dykfOpcrPJZ1tHH3MqjAFLQM3gfFcSRS22n0jPFvzdtxVg GyhJ3aG7DtSX\/t+2Kibe5swD8BqriCeWRX7dmUoKhafQk6ECgcEAibMBzXrXa\/rx SK4EogYqXqnBfxLFrun\/E2xBCSOSkb37nEvlaavunDUuFvLey5+xYxCUENSQ2WRZ AJR+oDVRuktW95YvJC2x5XaxuWreMejbXIwhEGkCjXjWZzvl7VeL3IlUNeAuUp+1 8vwtcaX3pqUWEpjV9b51lPRFjX8hBPsRpa2wHo5+gyrfRMZ3OtRsrduc963zlQN7 jlc5RnMsUd1mAECUhhWU2f4n2d9Xzot\/QoAuGoa4mnzTVReuaBcy -----END RSA PRIVATE KEY----- <\/code><\/pre>\n<\/div><\/div>\n<\/blockquote>\n<p>\u0410 \u0437\u0430\u0442\u0435\u043c \u0438 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0432\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 (\u043d\u0435 \u0437\u0430\u0431\u044b\u0432 \u0440\u0430\u0441\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0451) \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 <code>openssl rsautl -decrypt -in encrypted.txt -inkey priv.pem<\/code>, \u0438 \u0441\u043d\u043e\u0432\u0430 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043e\u0442\u0432\u0435\u0442 answer:WBfilGenxrLUdZ67qwYj. \u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u0443\u044e \u0438\u043d\u0444\u0443 John\u0443 \u0438 \u0434\u0430\u043b\u044c\u0448\u0435\u2026 \u0436\u0434\u0451\u043c \ud83d\ude42<br \/>  \u00a0<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/s6\/0m\/ct\/s60mctcbxwcmmrzaeq8l8yjruk8.jpeg\" data-src=\"https:\/\/habrastorage.org\/webt\/s6\/0m\/ct\/s60mctcbxwcmmrzaeq8l8yjruk8.jpeg\" data-blurred=\"true\"\/><\/p>\n<p>  \u041f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u043e\u0439 \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u0437\u0430\u0434\u0430\u043d\u0438\u044e \u0431\u044b\u043b\u0430 \u043e\u043d\u043b\u0430\u0439\u043d-\u0438\u0433\u0440\u0430, \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u043d\u0430 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u0439 \u0438\u0433\u0440\u0435 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/Sokoban\">\u0441\u043e\u043a\u043e\u0431\u0430\u043d <\/a>\u2013 \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043f\u0430\u0441\u0442\u044c \u0432 \u043d\u0435\u0451, \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u043e \u043d\u0430\u0434\u043e \u0431\u044b\u043b\u043e \u043f\u0440\u043e\u0439\u0442\u0438 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0435 \u0437\u0430\u0434\u0430\u043d\u0438\u044f \u0438 \u043f\u0440\u0438\u0441\u043b\u0430\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0435 \u043e\u0442\u0432\u0435\u0442\u044b \u0414\u0436\u043e\u043d\u0443.<\/p>\n<p>  <a name=\"2\"><\/a><\/p>\n<h2><font color=\"#3AC1EF\">\u041a\u043e\u043c\u0443 \u043f\u0435\u043b\u044c\u043c\u0435\u043d\u0435\u0439?<\/font><\/h2>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/ux\/a9\/mp\/uxa9mpolq8gpcr5ior4ivwvxtre.png\" data-src=\"https:\/\/habrastorage.org\/webt\/ux\/a9\/mp\/uxa9mpolq8gpcr5ior4ivwvxtre.png\"\/><\/p>\n<p>  \u0412\u0441\u0435\u043c \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u043f\u0430\u043b\u0430 \u0432 \u0434\u0443\u0448\u0443 \u0438\u0434\u0435\u044f \u0441 <b><font color=\"#3AC1EF\">\u00ab\u043f\u0435\u043b\u044c\u043c\u0435\u043d\u044f\u043c\u0438 \u043e\u0442 \u0440\u0443\u0432\u0434\u0441\u00bb<\/font><\/b>, \u0447\u0442\u043e \u043c\u044b \u0434\u0430\u0436\u0435 \u0437\u0430\u0434\u0443\u043c\u0430\u043b\u0438\u0441\u044c \u2013 \u0431\u044b\u0442\u044c \u043c\u043e\u0436\u0435\u0442 \u0441\u0442\u043e\u0438\u0442 \u0440\u0430\u0441\u0448\u0438\u0440\u0438\u0442\u044c \u0441\u0432\u043e\u044e \u043b\u0438\u043d\u0435\u0439\u043a\u0443 \u043c\u0435\u0440\u0447\u0430 \ud83d\ude42<\/p>\n<p>  \u0412 \u0438\u0442\u043e\u0433\u043e\u0432\u043e\u043c \u043f\u043e\u0441\u0442\u0435 \u043c\u044b \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0440\u0430\u0437\u0431\u0435\u0440\u0451\u043c \u0432\u0441\u0435 \u0441\u0430\u043c\u044b\u0435 \u0431\u0435\u0437\u0443\u043c\u043d\u044b\u0435 \u0438\u0434\u0435\u0438 \u043e\u0442 <i>\u043a\u0432\u0435\u0441\u0442\u0443\u044e\u0449\u0438\u0445\u0441\u044f<\/i> (\u043a\u0430\u043a \u043e\u043d\u0438 \u0441\u0435\u0431\u044f \u043e\u043a\u0440\u0435\u0441\u0442\u0438\u043b\u0438) \u0438 \u0441\u0430\u043c \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u043a\u0432\u0435\u0441\u0442\u0430.<\/p>\n<p>  <b><font color=\"#3AC1EF\">\u0412\u043f\u0435\u0440\u0435\u0434\u0438 <\/font><\/b>\u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u043e\u0432 \u0436\u0434\u0435\u0442 \u0441\u0430\u043c\u0430\u044f \u0430\u043a\u0442\u0438\u0432\u043d\u0430\u044f \u0444\u0430\u0437\u0430 \u0437\u0430\u0434\u0430\u043d\u0438\u0439, \u043f\u0440\u0438\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0438 \u043c\u0435\u0433\u0430 \u0434\u0432\u0438\u0436. \u0418\u0433\u0440\u043e\u043a\u0430\u043c \u043f\u0440\u0435\u0434\u0441\u0442\u043e\u0438\u0442 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u0442\u044c\u0441\u044f, \u0432\u0435\u0434\u044c \u0432\u044b\u0438\u0433\u0440\u044b\u0448 \u2014 <b><font color=\"#3AC1EF\">142 857 \u0440\u0443\u0431\u043b\u0435\u0439 <\/font><\/b>\u0437\u0430\u0431\u0435\u0440\u0451\u0442 <a href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/657119\/#0\">\u043a\u043e\u043c\u0430\u043d\u0434\u0430<\/a> \u043b\u0443\u0447\u0448\u0438\u0445. <\/p>\n<p>  \u0422\u0435\u043c, \u043a\u0442\u043e \u0432\u0441\u0451 \u0435\u0449\u0451 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u0442 \u0437\u0430 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u043c \u0441\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u2013 \u043d\u0435 \u0441\u0442\u043e\u0438\u0442 \u0437\u0430\u0442\u044f\u0433\u0438\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0451 \u0432\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435 \u0432 \u0438\u0433\u0440\u0443 \u2013 \u043d\u0430 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043c\u0430\u043b\u043e\u2026 <\/p>\n<p>  <b><font color=\"#3AC1EF\">\u0412\u0441\u0435\u0433\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u043d\u0435\u0439\u2026 \u0438\u043b\u0438 \u0447\u0430\u0441\u043e\u0432?<\/font><\/b><\/p>\n<p>  \u041f\u0440\u0438\u0441\u043e\u0435\u0434\u0438\u043d\u0438\u0442\u044c\u0441\u044f \u043a \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u044e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043d\u0430\u0441\u0443\u0449\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447 \u0441\u043e\u0440\u0435\u0432\u043d\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u043e\u0436\u043d\u043e \u0432 \u043d\u0430\u0448\u0435\u043c <a href=\"https:\/\/t.me\/+7_-_ZjGCDTJhNTQy\">\u0443\u044e\u0442\u043d\u043e\u043c \u0442\u0435\u043b\u0435\u0433\u0440\u0430\u043c \u0447\u0430\u0442\u0435<\/a>, \u0438\u043b\u0438 \u0436\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u0432\u043e\u0439 \u0438 \u043e\u0431\u0441\u0443\u0436\u0434\u0430\u0442\u044c \u0438\u0434\u0435\u0438 \u0442\u0430\u043c. <\/p>\n<p>  <a name=\"3\"><\/a>\u041f\u043e \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043f\u043e\u0434\u0431\u043e\u0440\u043a\u043e\u0439 \u0441\u043c\u0435\u0448\u043d\u044b\u0445 \u0441\u043a\u0440\u0438\u043d\u043e\u0432 \u043e\u0442 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u043e\u0432, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0435\u043b\u044c\u043c\u0435\u043d\u0438 \u0438 \u0447\u0435\u0440\u0435\u043f\u043e\u043a \u042e\u0440\u0438\u0439 \u0441\u0442\u0430\u043b\u0438 \u043a\u0443\u043b\u044c\u0442\u043e\u0432\u044b\u043c\u0438 \u043c\u0435\u043c\u0430\u043c\u0438 \u043a\u0432\u0435\u0441\u0442\u0430:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/de\/fj\/_f\/defj_faajdstcnndnphmi2v1q3u.png\" data-src=\"https:\/\/habrastorage.org\/webt\/de\/fj\/_f\/defj_faajdstcnndnphmi2v1q3u.png\"\/>  <\/p>\n<blockquote>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0411\u043e\u043b\u044c\u0448\u0435 \u0441\u043c\u0435\u0448\u043d\u044b\u0445 \u0441\u043a\u0440\u0438\u043d\u043e\u0432<\/b>                         <\/p>\n<div class=\"spoiler_text\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/zu\/nw\/0i\/zunw0inhcxev_myw_fgvmfvlyaw.png\" data-src=\"https:\/\/habrastorage.org\/webt\/zu\/nw\/0i\/zunw0inhcxev_myw_fgvmfvlyaw.png\"\/><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/ux\/a9\/mp\/uxa9mpolq8gpcr5ior4ivwvxtre.png\" data-src=\"https:\/\/habrastorage.org\/webt\/ux\/a9\/mp\/uxa9mpolq8gpcr5ior4ivwvxtre.png\"\/><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/gq\/gz\/55\/gqgz55lw5lnpubjmr3dzmyvrpzo.png\" data-src=\"https:\/\/habrastorage.org\/webt\/gq\/gz\/55\/gqgz55lw5lnpubjmr3dzmyvrpzo.png\"\/>  <\/div>\n<\/p><\/div>\n<\/blockquote>\n<p><a href=\"http:\/\/ruvds.com\/ru-rub?utm_source=habr&amp;utm_medium=article&amp;utm_campaign=xakerskij_kvest_ruvds_podxodit_k_koncu,_no_srazitsya_za_glavnyj_priz_142_857__rublej_eshhe_ne_pozdno&amp;utm_content=dolina\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/ou\/g5\/kh\/oug5kh6sjydt9llengsiebnp40w.png\" data-src=\"https:\/\/habrastorage.org\/webt\/ou\/g5\/kh\/oug5kh6sjydt9llengsiebnp40w.png\"\/><\/a><\/div>\n<\/div>\n<\/div>\n<div class=\"v-portal\" style=\"display:none;\"><\/div>\n<\/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\/company\/ruvds\/blog\/663478\/\"> https:\/\/habr.com\/ru\/company\/ruvds\/blog\/663478\/<\/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-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\"><a href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/663478\/\"><\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/ds\/al\/-t\/dsal-tnje8zle6pd-qdeu44wuma.jpeg\" data-src=\"https:\/\/habrastorage.org\/webt\/ds\/al\/-t\/dsal-tnje8zle6pd-qdeu44wuma.jpeg\" data-blurred=\"true\"\/><\/div>\n<p><\/a><br \/>  \u041f\u043e\u043a\u0430 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0438 \u043a\u0432\u0435\u0441\u0442\u0430 \u0433\u043e\u0442\u043e\u0432\u044f\u0442\u0441\u044f \u043a \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u043c \u0438\u0441\u043f\u044b\u0442\u0430\u043d\u0438\u044f\u043c, \u0430 \u0441\u043d\u0435\u0433 \u043f\u043e\u0442\u0438\u0445\u043e\u043d\u044c\u043a\u0443 \u0442\u0430\u0435\u0442 \u0432 \u0433\u043e\u0440\u043e\u0434\u0430\u0445, \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u043c \u0434\u043b\u044f \u0442\u0435\u0445, \u043a\u0442\u043e \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u043b \u043d\u0430\u0447\u0430\u043b\u043e, \u043e \u043f\u0440\u043e\u0439\u0434\u0435\u043d\u043d\u044b\u0445 \u044d\u0442\u0430\u043f\u0430\u0445 \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0445\u0430\u043a\u0430\u0442\u043e\u043d\u0430, \u0438 \u0447\u0442\u043e \u0436\u0434\u0430\u0442\u044c \u043e\u0442 \u0444\u0438\u043d\u0430\u043b\u0430.<\/p>\n<p>  \u041d\u0430\u043f\u043e\u043c\u043d\u0438\u043c, \u0441 \u0447\u0435\u0433\u043e \u0432\u0441\u0451 \u043d\u0430\u0447\u0430\u043b\u043e\u0441\u044c: \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0438 \u0443\u0436\u0435 \u0440\u0430\u0441\u043a\u0440\u044b\u043b\u0438\u00a0\u0441\u0435\u043a\u0440\u0435\u0442 <a href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/657119\/#1\">\u00ab\u0417\u0430\u0433\u0430\u0434\u043e\u0447\u043d\u043e\u0439 \u0432\u0438\u0437\u0438\u0442\u043a\u0438\u00bb<\/a>, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b\u0438 \u0434\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u0432\u043e\u043b\u043e\u043a\u043d\u0430 \u0438 \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0437\u0430\u043b\u0435\u0442\u0435\u043b\u0438 \u0432\u00a0<a href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/657119\/#2\">\u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d<\/a>, \u0430 \u0434\u0430\u043b\u0435\u0435 \u0438 \u0432 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/IPFS\">\u043c\u0435\u0436\u043f\u043b\u0430\u043d\u0435\u0442\u043d\u0443\u044e\u00a0\u0444\u0430\u0439\u043b\u043e\u0432\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443<\/a>\u00a0\u0441 \u043d\u043e\u0432\u043e\u0439 \u043f\u043e\u0440\u0446\u0438\u0435\u0439 \u0437\u0430\u0433\u0430\u0434\u043e\u043a.<\/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-332529","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/332529","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=332529"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/332529\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=332529"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=332529"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=332529"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}