{"id":80,"date":"2024-07-12T23:04:00","date_gmt":"2024-07-12T15:04:00","guid":{"rendered":"http:\/\/www.triode.cc\/?p=80"},"modified":"2025-09-28T09:39:44","modified_gmt":"2025-09-28T01:39:44","slug":"jnf-and-mdlp","status":"publish","type":"post","link":"https:\/\/www.triode.cc\/index.php\/2024\/07\/12\/jnf-and-mdlp\/","title":{"rendered":"\u82e5\u5c14\u5f53\u6807\u51c6\u578b\u4e0e\u77e9\u9635\u79bb\u6563\u5bf9\u6570\u95ee\u9898"},"content":{"rendered":"\n<p><s>\u60f3\u5199\u8fd9\u7bc7\u597d\u4e45\u4e86\uff0c\u4e00\u76f4\u6ca1\u7a7a\uff0c\u8003\u5b8c\u671f\u672b\u6c34\u4e00\u4e0b<\/s><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u7b2c\u4e00\u90e8\u5206\uff1a\u82e5\u5c14\u5f53\u6807\u51c6\u578b\u6982\u8ff0<\/h2>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u53c2\u8003\u8d44\u6599\uff1a\u300a\u9ad8\u7b49\u4ee3\u6570\uff08\u7b2c\u4e94\u7248\uff09\u300b\uff08\u5317\u4eac\u5927\u5b66\u6570\u5b66\u7cfb\u524d\u4ee3\u6570\u5c0f\u7ec4 \u7f16\uff09:P213-P219,P236-P239<\/p>\n<\/blockquote>\n\n\n\n<p><strong>\u5b9a\u4e49\uff1a<\/strong>\u5f62\u4e3a<\/p>\n\n\n\n<p>$$\\pmb{J}(\\lambda_0,k)= \\left(\\begin{matrix} \\lambda_0&amp;0&amp;0&amp;\\cdots&amp;0&amp;0&amp;0\\\\ 1&amp;\\lambda_0&amp;0&amp;\\cdots&amp;0&amp;0&amp;0\\\\ 0&amp;1&amp;\\lambda_0&amp;\\cdots&amp;0&amp;0&amp;0\\\\ \\vdots&amp;\\vdots&amp;\\vdots&amp; &amp;\\vdots&amp;\\vdots&amp;\\vdots\\\\ 0&amp;0&amp;0&amp;\\cdots&amp;1&amp;\\lambda_0&amp;0\\\\ 0&amp;0&amp;0&amp;\\cdots&amp;0&amp;1&amp;\\lambda_0 \\end{matrix}\\right)_{k\u00d7k}$$<\/p>\n\n\n\n<p>\u7684\u77e9\u9635\u79f0\u4e3a<strong>\u82e5\u5c14\u5f53\u5757<\/strong>\uff0c\u5176\u4e2d\\(\\lambda_0\\)\u4e3a\u590d\u6570.\u7531\u82e5\u5e72\u4e2a\u82e5\u5c14\u5f53\u5757\u7ec4\u6210\u7684\u51c6\u5bf9\u89d2\u77e9\u9635<\/p>\n\n\n\n<p>$$\\pmb{A}=\\left( \\begin{matrix} \\pmb{J}(\\lambda_1,k_1)&amp;&amp;&amp;\\\\ &amp;\\pmb{J}(\\lambda_2,k_2)&amp;&amp;\\\\ &amp;&amp;\\ddots&amp;&amp;\\\\ &amp;&amp;&amp;\\pmb{J}(\\lambda_s,k_s) \\end{matrix} \\right)$$<\/p>\n\n\n\n<p>\u79f0\u4e3a<strong>\u82e5\u5c14\u5f53\u5f62\u77e9\u9635<\/strong>\uff0c\u5176\u4e2d\\(\\lambda_1,\\lambda_2,\\cdots,\\lambda_s\\)\u4e3a\u590d\u6570\uff0c\u6709\u4e00\u4e9b\u53ef\u4ee5\u76f8\u540c.<\/p>\n\n\n\n<p>\u4f8b\u5982\u77e9\u9635<\/p>\n\n\n\n<p>$$\\pmb{A}=\\left( \\begin{matrix} 1&amp;0&amp;0\\\\ 1&amp;1&amp;0\\\\ 0&amp;1&amp;1 \\end{matrix} \\right)=\\pmb{J}(1,3)$$<\/p>\n\n\n\n<p>\u4e3a\u82e5\u5c14\u5f53\u5f62\u77e9\u9635\uff08\u540c\u65f6\u5b83\u4e5f\u662f\u4e00\u4e2a\u82e5\u5c14\u5f53\u5757\uff09.<\/p>\n\n\n\n<p>\u4e0b\u9762\u7ed9\u51fa\u7684\u662f\u8ddf\u82e5\u5c14\u5f53\u5f62\u77e9\u9635\u76f8\u5173\u7684\u4e00\u4e2a\u91cd\u8981\u7ed3\u8bba\uff0c\u4e5f\u662f\u540e\u9762\u901a\u8fc7\u82e5\u5c14\u5f53\u5f62\u77e9\u9635\u89e3\u51b3\u77e9\u9635\u79bb\u6563\u5bf9\u6570\u95ee\u9898\u7684\u91cd\u8981\u7406\u8bba\u652f\u6491.<\/p>\n\n\n\n<p><strong>\u5b9a\u7406\uff1a<\/strong>\u6bcf\u4e2a\\(n\\)\u9636\u590d\u77e9\u9635\\(\\pmb{A}\\)\u4e00\u5b9a\u4e0e\u4e00\u4e2a\u82e5\u5c14\u5f53\u5f62\u77e9\u9635\u76f8\u4f3c.\u8fd9\u4e2a\u82e5\u5c14\u5f53\u5f62\u77e9\u9635\u9664\u53bb\u5176\u4e2d\u82e5\u5c14\u5f53\u5757\u7684\u6392\u5217\u987a\u5e8f\u5916\u7531\\(\\pmb{A}\\)\u552f\u4e00\u786e\u5b9a\uff0c\u6211\u4eec\u79f0\u8be5\u82e5\u5c14\u5f53\u5f62\u77e9\u9635\u4e3a\\(\\pmb{A}\\)\u7684<strong>\u82e5\u5c14\u5f53\u6807\u51c6\u578b<\/strong>.\u800c\u82e5\u5c14\u5f53\u6807\u51c6\u578b\u4e2d\u4e3b\u5bf9\u89d2\u7ebf\u4e0a\u5143\u7d20\u4e3a\\(\\pmb{A}\\)\u7684\u6240\u6709\u7279\u5f81\u503c.<\/p>\n\n\n\n<p>\u7531\u4e0a\u8ff0\u5b9a\u7406\u6211\u4eec\u53ef\u4ee5\u77e5\u9053\uff1a\u5bf9\u4e8e\u590d\u77e9\u9635\\(\\pmb{A}\\)\u7684\u82e5\u5c14\u5f53\u6807\u51c6\u578b\\(\\pmb{J}\\)\uff0c\u5fc5\u5b58\u5728\u4e00\u53ef\u9006\u77e9\u9635\\(\\pmb{P}\\)\uff0c\u4f7f\u5f97\\(\\pmb{J}=\\pmb{P}^{-1}\\pmb{A}\\pmb{P}\\).<\/p>\n\n\n\n<p>\u5b9e\u9645\u4e0a\uff0c\u5bf9\u4e8e\u4e0a\u9762\u7684\u82e5\u5c14\u5f53\u5f62\u77e9\u9635\uff1a<\/p>\n\n\n\n<p>$$\\pmb{A}=\\left( \\begin{matrix} \\pmb{J}(\\lambda_1,k_1)&amp;&amp;&amp;\\\\ &amp;\\pmb{J}(\\lambda_2,k_2)&amp;&amp;\\\\ &amp;&amp;\\ddots&amp;&amp;\\\\ &amp;&amp;&amp;\\pmb{J}(\\lambda_s,k_s) \\end{matrix} \\right)$$<\/p>\n\n\n\n<p>\u5176\u8f6c\u7f6e\\(\\pmb{A}^T\\)\u4e5f\u53ef\u88ab\u79f0\u4e3a\u82e5\u5c14\u5f53\u5f62\u77e9\u9635\uff0c\u4f8b\u5982\u5bf9\u4e8e\u77e9\u9635<\/p>\n\n\n\n<p>$$\\pmb{A}=\\left( \\begin{matrix} 1&amp;0&amp;0\\\\ 1&amp;1&amp;0\\\\ 0&amp;1&amp;1\\\\ \\end{matrix} \\right)$$<\/p>\n\n\n\n<p>\u77e9\u9635\\(\\pmb{A}^T=\\left(\\begin{matrix}1&amp;1&amp;0\\\\0&amp;1&amp;1\\\\0&amp;0&amp;1\\end{matrix}\\right)\\)\u4e5f\u662f\u82e5\u5c14\u5f53\u5f62\u77e9\u9635.<\/p>\n\n\n\n<p>\u4e0b\u9762\u4ecb\u7ecd\u4e00\u79cd\u6c42\u77e9\u9635\u7684\u82e5\u5c14\u5f53\u6807\u51c6\u578b\u7684\u65b9\u6cd5\u2014\u2014\u901a\u8fc7\u77e9\u9635\u7684\u7279\u5f81\u503c\u6c42\u51fa\u5176\u82e5\u5c14\u5f53\u6807\u51c6\u578b\uff1a<\/p>\n\n\n\n<p>\u7b2c\u4e00\u6b65\uff1a\u5bf9\u4e8e\u4e00\u77e9\u9635\\(\\pmb{A}_{n\\times n}\\)\uff0c\u6c42\u51fa\u5176\u7279\u5f81\u503c\\(\\lambda_1,\\lambda_2,\\cdots,\\lambda_s\\)\uff1b<\/p>\n\n\n\n<p>\u7b2c\u4e8c\u6b65\uff1a\u6c42\u51fa\u6bcf\u4e2a\u7279\u5f81\u503c\u7684\u51e0\u4f55\u91cd\u6570\uff08\u76f8\u7b49\u7279\u5f81\u503c\u53ea\u9700\u6c42\u4e00\u6b21\uff0c\u8868\u793a\u8be5\u7279\u5f81\u503c\u5bf9\u5e94\u7684\u82e5\u5c14\u5f53\u5757\u7684\u4e2a\u6570\uff09\uff0c\u5176\u4e2d\u5bf9\u4e8e\u7279\u5f81\u503c\\(\\lambda_i\\)\uff0c\u51e0\u4f55\u91cd\u6570\u4e3a\\(n-r(\\lambda_i\\pmb{I}-\\pmb{A})\\)<\/p>\n\n\n\n<p>\u7b2c\u4e09\u6b65\uff1a\u6c42\u6bcf\u4e2a\u7279\u5f81\u503c\u5bf9\u5e94\u7684\u82e5\u5c14\u5f53\u5757\u7684\u6700\u5927\u9636\u6570\uff0c\u5373\u627e\u5230\u7279\u5f81\u503c\\(\\lambda_i\\)\u5bf9\u5e94\u7684\u4e00\u4e2a\u503c\\(k_i\\)\uff0c\u4f7f\u5f97\\(k_i\\)\u4e3a\u6ee1\u8db3\\(r[(\\lambda_i\\pmb{I}-\\pmb{A})^{k_i}]=r[(\\lambda_i\\pmb{I}-\\pmb{A})^{k_i+1}]\\)\u7684\u6700\u5c0f\u6b63\u6574\u6570<\/p>\n\n\n\n<p>\u4e3e\u4e2a\u4f8b\u5b50\uff0c\u5bf9\u77e9\u9635\\(\\pmb{A}=\\left(\\begin{matrix}9&amp;0&amp;-36\\\\6&amp;0&amp;-27\\\\0&amp;1&amp;0\\end{matrix}\\right)\\)\uff0c\u6c42\u5176\u5bf9\u5e94\u7684\u82e5\u5c14\u5f53\u6807\u51c6\u578b\uff1a<\/p>\n\n\n\n<p>\u7b2c\u4e00\u6b65\uff0c\u6c42\u77e9\u9635\\(\\pmb{A}\\)\u5bf9\u5e94\u7684\u7279\u5f81\u503c\uff0c\u5373\u89e3\u65b9\u7a0b\\(\\det(\\lambda \\pmb{I}-A)=0\\)\uff0c\u89e3\u5f97\u552f\u4e00\u89e3\\(\\lambda=3\\)\uff1b<\/p>\n\n\n\n<p>\u7b2c\u4e8c\u6b65\uff0c\u5bf9\u552f\u4e00\u7279\u5f81\\(\\lambda=3\\)\uff0c\u6709\\(3\\pmb{I}-\\pmb{A}=\\left(\\begin{matrix}-6&amp;0&amp;36\\\\ -6&amp;3&amp;27\\\\0&amp;-1&amp;3\\end{matrix}\\right)\\sim\\left(\\begin{matrix}1&amp;0&amp;-6\\\\0&amp;1&amp;-3\\\\0&amp;0&amp;0\\end{matrix}\\right)\\)\uff0c\u6240\u4ee5\u5176\u51e0\u4f55\u91cd\u6570\u4e3a\\(3-r(3\\pmb{I}-\\pmb{A})=1\\)\uff0c\u6240\u4ee5\u7279\u5f81\u503c\\(\\lambda=3\\)\u5bf9\u5e94\u7684\u82e5\u5c14\u5f53\u5757\u7684\u4e2a\u6570\u4e3a\\(1\\)\uff1b<\/p>\n\n\n\n<p>\u7b2c\u4e09\u6b65\uff1a\u5bf9\\(3\\pmb{I}-\\pmb{A}\\)\u6709\\(r[(3\\pmb{I}-\\pmb{A})^1]=2,r[(3\\pmb{I}-\\pmb{A})^2]=1,r[(3\\pmb{I}-\\pmb{A})^3]=0,r[(3\\pmb{I}-\\pmb{A})^4]=0\\)\uff0c\u6240\u4ee5\u8be5\u7279\u5f81\u503c\u5bf9\u5e94\u7684\u82e5\u5c14\u5f53\u5757\u7684\u6700\u5927\u9636\u6570\u4e3a\\(3\\)\uff0c\u6240\u4ee5\\(\\lambda=3\\)\u5bf9\u5e94\u7684\u4e00\u4e2a\u4e09\u9636\u7684\u82e5\u5c14\u5f53\u5757\\(\\pmb{J}(3,3)=\\left(\\begin{matrix}3&amp;1&amp;0\\\\0&amp;3&amp;1\\\\0&amp;0&amp;3\\end{matrix}\\right)\\)\u6216\u8005\\(\\pmb{J}(3,3)=\\left(\\begin{matrix}3&amp;0&amp;0\\\\1&amp;3&amp;0\\\\0&amp;1&amp;3\\end{matrix}\\right)\\)\uff0c\u6240\u4ee5\u77e9\u9635\\(\\pmb{A}=\\left(\\begin{matrix}9&amp;0&amp;-36\\\\6&amp;0&amp;-27\\\\0&amp;1&amp;0\\end{matrix}\\right)\\)\u5bf9\u5e94\u7684\u82e5\u5c14\u5f53\u6807\u51c6\u578b\u4e3a\\(\\left(\\begin{matrix}3&amp;1&amp;0\\\\0&amp;3&amp;1\\\\0&amp;0&amp;3\\end{matrix}\\right)\\)\u6216\u8005\\(\\left(\\begin{matrix}3&amp;0&amp;0\\\\1&amp;3&amp;0\\\\0&amp;1&amp;3\\end{matrix}\\right)\\).<\/p>\n\n\n\n<p>\u7531\u4e8e\u672c\u6587\u4e3b\u8981\u8ba8\u8bba\u7684\u662f\u901a\u8fc7\u82e5\u5c14\u5f53\u6807\u51c6\u578b\u6c42\u89e3\u77e9\u9635\u7684\u79bb\u6563\u5bf9\u6570\u95ee\u9898\uff0c\u6240\u4ee5\u5c31\u4e0d\u518d\u6df1\u5165\u4ecb\u7ecd\u82e5\u5c14\u5f53\u6807\u51c6\u578b\u4e86\u3002<\/p>\n\n\n\n<p>\u5728\u8fd9\u4e00\u90e8\u5206\u7684\u6700\u540e\uff0c\u6211\u4eec\u4ecb\u7ecdsage\u4e2d\u6c42\u65b9\u9635\u7684\u82e5\u5c14\u5f53\u6807\u51c6\u578b\u7684\u65b9\u6cd5\uff0c\u8fd9\u4e2a\u5728\u540e\u9762\u4e5f\u4f1a\u7528\u5230\uff1a<\/p>\n\n\n\n<p>\u5728sage\u4e2d\u6709\u51fd\u6570<code>jordan_form()<\/code>\uff0c\u5176\u4f5c\u7528\u662f\u8fd4\u56de<code>self<\/code>\u7684\u82e5\u5c14\u5f53\u6807\u51c6\u578b\uff0c\u5176\u51fd\u6570\u539f\u578b\u4e3a<code>jordan_form(subdivide=True,transformation=False)<\/code>\uff0c\u5176\u63a5\u6536\u4e09\u4e2a\u53c2\u6570\uff0c\u5206\u522b\u4e3a\u4e00\u4e2a\u65b9\u9635<code>self<\/code>\uff0c\u4e00\u4e2a\u5e03\u5c14\u578b\u53d8\u91cf<code>subdivide<\/code>\uff08\u9ed8\u8ba4\u4e3a<code>True<\/code>\uff09\uff0c\u4e00\u4e2a\u5e03\u5c14\u578b\u53d8\u91cf<code>transformation<\/code>\uff08\u9ed8\u8ba4\u4e3a<code>False<\/code>\uff09\u3002<\/p>\n\n\n\n<p>\u82e5<code>subdivide=True<\/code>\uff0c\u5219\u8fd4\u56de\u7684\u77e9\u9635\u4e2d\u4f1a\u6839\u636e\u82e5\u5c14\u5f53\u5757\u8fdb\u884c\u5206\u5757\u6807\u51fa.<\/p>\n\n\n\n<p>\u82e5<code>transformation=True<\/code>\uff0c\u5219\u4f1a\u8fd4\u56de\u4e00\u4e2a\u77e9\u9635\u7ec4<code>(J,P)<\/code>\uff0c\u5176\u4e2d<code>J<\/code>\u4e3a<code>self<\/code>\u7684\u82e5\u5c14\u5f53\u6807\u51c6\u578b\uff0c\u800c<code>P<\/code>\u4e3a\u4f7f\u5f97\\(self=\\pmb{P}\\pmb{J}\\pmb{P}^{-1}\\)\u6210\u7acb\u7684\u65b9\u9635\uff1b\u82e5<code>transformation=False<\/code>\uff0c\u5219\u53ea\u4f1a\u8fd4\u56de<code>self<\/code>\u7684\u82e5\u5c14\u5f53\u6807\u51c6\u578b<code>J<\/code>.<\/p>\n\n\n\n<p>\u4f8b\uff1a\u6c42\u77e9\u9635\\(\\pmb{A}=\\left(\\begin{matrix}9&amp;0&amp;-36\\\\6&amp;0&amp;-27\\\\0&amp;1&amp;0\\end{matrix}\\right)\\)\u7684\u82e5\u5c14\u5f53\u6807\u51c6\u578b\\(\\pmb{J}\\)\u5e76\u6c42\u77e9\u9635\\(\\pmb{P}\\)\u4f7f\u5f97\\(\\pmb{P}^{-1}\\pmb{A}\\pmb{P}=\\pmb{J}\\)<\/p>\n\n\n\n<p>sage\u4ee3\u7801\u5982\u4e0b\uff1a<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"\u590d\u5236\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sage: A = [&#91;9,0,-36&#93;,&#91;6,0,-27&#93;,&#91;0,1,0&#93;]\nsage: J,P = matrix(A).jordan_form(subdivide = False,transformation = True)\nsage: J\n&#91;3 1 0&#93;\n&#91;0 3 1&#93;\n&#91;0 0 3&#93;\nsage: P\n&#91;36  6  1&#93;\n&#91;18  6  0&#93;\n&#91; 6  0  0&#93;\nsage: P^-1 * matrix(A) * P\n&#91;3 1 0&#93;\n&#91;0 3 1&#93;\n&#91;0 0 3&#93;<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #88C0D0\">sage:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">A<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">=<\/span><span style=\"color: #D8DEE9FF\"> [&#91;9,0,-36&#93;,<\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #B48EAD\">6<\/span><span style=\"color: #D8DEE9FF\">,0,-27<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><span style=\"color: #D8DEE9FF\">,<\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #D8DEE9FF\">,1,0<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><span style=\"color: #D8DEE9FF\">]<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">sage:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">J,P<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">matrix<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">A<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #A3BE8C\">.jordan_form<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">subdivide<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">False,transformation<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">True<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">sage:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">J<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #B48EAD\">3<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">3<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">3<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">sage:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">P<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #B48EAD\">36<\/span><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #B48EAD\">6<\/span><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #B48EAD\">18<\/span><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #B48EAD\">6<\/span><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">6<\/span><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">sage:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">P^-1<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">matrix<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">A<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">P<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #B48EAD\">3<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">3<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">3<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\u53ef\u4ee5\u5f97\u51fa\u77e9\u9635\\(\\pmb{A}=\\left(\\begin{matrix}9&amp;0&amp;-36\\\\6&amp;0&amp;-27\\\\0&amp;1&amp;0\\end{matrix}\\right)\\)\u7684\u82e5\u5c14\u5f53\u6807\u51c6\u578b\u4e3a\\(\\pmb{J}=\\left(\\begin{matrix}3&amp;1&amp;0\\\\0&amp;3&amp;1\\\\0&amp;0&amp;3\\end{matrix}\\right)\\)\uff0c\u4e14\u6709\u77e9\u9635\\(\\pmb{P}=\\left(\\begin{matrix}36&amp;6&amp;1\\\\18&amp;6&amp;0\\\\6&amp;0&amp;0\\end{matrix}\\right)\\)\u4f7f\u5f97\\(\\pmb{P}^{-1}\\pmb{A}\\pmb{P}=\\pmb{J}\\).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u7b2c\u4e8c\u90e8\u5206\uff1a\u5229\u7528\u82e5\u5c14\u5f53\u6807\u51c6\u578b\u89e3\u51b3\u77e9\u9635\u79bb\u6563\u5bf9\u6570\u95ee\u9898<\/h2>\n\n\n\n<p>\u5728\u89e3\u51b3\u77e9\u9635\u79bb\u6563\u5bf9\u6570\u95ee\u9898\u4e4b\u524d\uff0c\u6211\u4eec\u5148\u8981\u4e86\u89e3\u4f55\u8c13\u77e9\u9635\u79bb\u6563\u5bf9\u6570\uff1a\u5728\u6709\u9650\u57df\\(GF(p)\\)\uff08\\(p\\)\u4e3a\u8d28\u6570\uff09\u4e2d\uff0c\u5df2\u77e5\\(n\\)\u9636\u77e9\u9635\\(\\pmb{G}\\)\u548c\\(\\pmb{H}\\)\uff0c\u6ee1\u8db3\\(\\pmb{G}^x=\\pmb{H}\\)\uff0c\u6c42\u5176\u4e2d\\(x\\)\u7684\u95ee\u9898\u5373\u4e3a\u77e9\u9635\u7684\u79bb\u6563\u5bf9\u6570\u95ee\u9898.<\/p>\n\n\n\n<p>\u7531\u4e0a\u9762\u7684\u90e8\u5206\u6211\u4eec\u53ef\u4ee5\u77e5\u9053\uff0c\u5bf9\u4e8e\u77e9\u9635\\(\\pmb{G}\\)\uff0c\u5b58\u5728\u4e00\u4e2a\u53ef\u9006\u77e9\u9635\\(\\pmb{P}\\)\u4f7f\u5f97\\(\\pmb{G}=\\pmb{P}\\pmb{J}\\pmb{P}^{-1}\\)\uff0c\u5176\u4e2d\u77e9\u9635\\(\\pmb{J}\\)\u4e3a\\(\\pmb{G}\\)\u5bf9\u5e94\u7684\u82e5\u5c14\u5f53\u6807\u51c6\u578b\uff0c\u90a3\u4e48\u6211\u4eec\u53ef\u4ee5\u77e5\u9053\uff1a<\/p>\n\n\n\n<p>$$<br>\\pmb{G}^x=(\\pmb{P}\\pmb{J}\\pmb{P}^{-1})(\\pmb{P}\\pmb{J}\\pmb{P}^{-1})\\cdots(\\pmb{P}\\pmb{J}\\pmb{P}^{-1})=\\pmb{P}\\pmb{J}\\pmb{P}^{-1}\\pmb{P}\\pmb{J}\\pmb{P}^{-1}\\cdots\\pmb{P}\\pmb{J}\\pmb{P}^{-1}=\\pmb{P}\\pmb{J}^x\\pmb{P}^{-1}<br>$$<\/p>\n\n\n\n<p>\u5176\u4e2d\uff1a<\/p>\n\n\n\n<p>$$<br>\\pmb{J}= \\left( \\begin{matrix} \\pmb{J}_1&amp;&amp;&amp;\\\\ &amp;\\pmb{J}_2&amp;&amp;\\\\ &amp;&amp;\\ddots&amp;\\\\ &amp;&amp;&amp;\\pmb{J}_s \\end{matrix} \\right)<br>$$<\/p>\n\n\n\n<p>\uff08\\(\\pmb{J}_1,\\pmb{J}_2,\\cdots,\\pmb{J}_s\\)\u5747\u4e3a\u82e5\u5c14\u5f53\u5757\uff09<\/p>\n\n\n\n<p>\u7531\u4e8e\\(\\pmb{J}\\)\u4e3a\u51c6\u5bf9\u89d2\u77e9\u9635\uff0c\u6211\u4eec\u6709\uff1a<\/p>\n\n\n\n<p>$$<br>\\pmb{J}^n= \\left( \\begin{matrix} \\pmb{J}_1&amp;&amp;&amp;\\\\ &amp;\\pmb{J}_2&amp;&amp;\\\\ &amp;&amp;\\ddots&amp;\\\\ &amp;&amp;&amp;\\pmb{J}_s \\end{matrix} \\right)^n= \\left( \\begin{matrix} \\pmb{J}_1^n&amp;&amp;&amp;\\\\ &amp;\\pmb{J}_2^n&amp;&amp;\\\\ &amp;&amp;\\ddots&amp;\\\\ &amp;&amp;&amp;\\pmb{J}_s^n \\end{matrix} \\right)<br>$$<\/p>\n\n\n\n<p>\u5bf9\u4e8e\u4efb\u610f\u82e5\u5c14\u5f53\u5757<\/p>\n\n\n\n<p>$$<br>\\pmb{J}(\\lambda,k)=\\left(\\begin{matrix} \\lambda&amp;1&amp;0&amp;\\cdots&amp;0&amp;0&amp;0\\\\ 0&amp;\\lambda&amp;1&amp;\\cdots&amp;0&amp;0&amp;0\\\\ 0&amp;0&amp;\\lambda&amp;\\cdots&amp;0&amp;0&amp;0\\\\ \\vdots&amp;\\vdots&amp;\\vdots&amp; &amp;\\vdots&amp;\\vdots&amp;\\vdots\\\\ 0&amp;0&amp;0&amp;\\cdots&amp;0&amp;\\lambda&amp;1\\\\ 0&amp;0&amp;0&amp;\\cdots&amp;0&amp;0&amp;\\lambda \\end{matrix}\\right)_{k\u00d7k}<br>$$<\/p>\n\n\n\n<p>\u800c\u82e5\u5c14\u5f53\u5757\u53ef\u4ee5\u5206\u4e3a\u4e24\u90e8\u5206\uff1a<\/p>\n\n\n\n<p>$$<br>\\pmb{J}(\\lambda,k)=\\pmb{\\Lambda}+\\pmb{E}= \\left( \\begin{matrix} \\lambda&amp;&amp;&amp;\\\\ &amp;\\lambda&amp;&amp;\\\\ &amp;&amp;\\ddots&amp;\\\\ &amp;&amp;&amp;\\lambda \\end{matrix} \\right)+ \\left( \\begin{matrix} 0&amp;1&amp;0&amp;\\cdots&amp;0&amp;0\\\\ 0&amp;0&amp;1&amp;\\cdots&amp;0&amp;0\\\\ 0&amp;0&amp;0&amp;\\cdots&amp;0&amp;0\\\\ \\vdots&amp;\\vdots&amp;\\vdots&amp;&amp;\\vdots&amp;\\vdots\\\\ 0&amp;0&amp;0&amp;\\cdots&amp;0&amp;1\\\\ 0&amp;0&amp;0&amp;\\cdots&amp;0&amp;0 \\end{matrix} \\right)<br>$$<\/p>\n\n\n\n<p>\u6240\u4ee5<\/p>\n\n\n\n<p>$$<br>\\pmb{J}(\\lambda,k)^n=(\\pmb{\\Lambda}+\\pmb{E})^n=\\sum_{m=0}^{n} \\left( \\begin{matrix} n\\\\ m \\end{matrix} \\right)\\pmb{\\Lambda}^{n-m}\\pmb{E}^m<br>$$<\/p>\n\n\n\n<p>\u800c\u6211\u4eec\u5f88\u5bb9\u6613\u53ef\u4ee5\u77e5\u9053\uff1a<\/p>\n\n\n\n<p>$$<br>\\pmb{E}= \\left( \\begin{matrix} 0&amp;1&amp;0&amp;\\cdots&amp;0&amp;0\\\\ 0&amp;0&amp;1&amp;\\cdots&amp;0&amp;0\\\\ 0&amp;0&amp;0&amp;\\cdots&amp;0&amp;0\\\\ \\vdots&amp;\\vdots&amp;\\vdots&amp;&amp;\\vdots&amp;\\vdots\\\\ 0&amp;0&amp;0&amp;\\cdots&amp;0&amp;1\\\\ 0&amp;0&amp;0&amp;\\cdots&amp;0&amp;0 \\end{matrix} \\right), \\pmb{E}^2=\\left( \\begin{matrix} 0&amp;0&amp;1&amp;\\cdots&amp;0&amp;0\\\\ 0&amp;0&amp;0&amp;\\cdots&amp;0&amp;0\\\\ 0&amp;0&amp;0&amp;\\cdots&amp;0&amp;0\\\\ \\vdots&amp;\\vdots&amp;\\vdots&amp;&amp;\\vdots&amp;\\vdots\\\\ 0&amp;0&amp;0&amp;\\cdots&amp;0&amp;0\\\\ 0&amp;0&amp;0&amp;\\cdots&amp;0&amp;0 \\end{matrix} \\right),\\cdots, \\pmb{E}^{k-1}=\\left( \\begin{matrix} 0&amp;0&amp;0&amp;\\cdots&amp;0&amp;1\\\\ 0&amp;0&amp;0&amp;\\cdots&amp;0&amp;0\\\\ 0&amp;0&amp;0&amp;\\cdots&amp;0&amp;0\\\\ \\vdots&amp;\\vdots&amp;\\vdots&amp;&amp;\\vdots&amp;\\vdots\\\\ 0&amp;0&amp;0&amp;\\cdots&amp;0&amp;0\\\\ 0&amp;0&amp;0&amp;\\cdots&amp;0&amp;0 \\end{matrix} \\right), \\pmb{E}^k=\\pmb{O}<br>$$<\/p>\n\n\n\n<p>\u6240\u4ee5\\(\\pmb{J}(\\lambda,k)^n=\\left(\\begin{matrix}n\\\\0\\end{matrix}\\right)\\pmb{\\Lambda}^n+\\left(\\begin{matrix}n\\\\1\\end{matrix}\\right)\\pmb{\\Lambda}^{n-1}\\pmb{E}+\\cdots+\\left(\\begin{matrix}n\\\\k-1\\end{matrix}\\right)\\pmb{\\Lambda}^{n-k+1}\\pmb{E}^{k-1}\\)<\/p>\n\n\n\n<p>\u53ef\u5f97\uff1a<\/p>\n\n\n\n<p>$$<br>\\pmb{J}(\\lambda,k)^n= \\left[ \\begin{matrix} \\lambda^n&amp;n\\lambda^{n-1}&amp;\\frac{n(n-1)}{2}\\lambda^{n-2}&amp;\\cdots&amp;\\left(\\begin{matrix}n\\\\k-2\\end{matrix}\\right)\\lambda^{n-k+2}&amp;\\left(\\begin{matrix}n\\\\k-1\\end{matrix}\\right)\\lambda^{n-k+1}\\\\ 0&amp;\\lambda^n&amp;n\\lambda^{n-1}&amp;\\cdots&amp;\\left(\\begin{matrix}n\\\\k-3\\end{matrix}\\right)\\lambda^{n-k+3}&amp;\\left(\\begin{matrix}n\\\\k-2\\end{matrix}\\right)\\lambda^{n-k+2}\\\\ 0&amp;0&amp;\\lambda^{n}&amp;\\cdots&amp;\\left(\\begin{matrix}n\\\\k-4\\end{matrix}\\right)\\lambda^{n-k+4}&amp;\\left(\\begin{matrix}n\\\\k-3\\end{matrix}\\right)\\lambda^{n-k+3}\\\\ \\vdots&amp;\\vdots&amp;\\vdots&amp;&amp;\\vdots&amp;\\vdots\\\\ 0&amp;0&amp;0&amp;\\cdots&amp;\\lambda^{n}&amp;n\\lambda^{n-1}\\\\ 0&amp;0&amp;0&amp;\\cdots&amp;0&amp;\\lambda^{n} \\end{matrix} \\right]<br>$$<\/p>\n\n\n\n<p>\u5bf9\u4e8e\u4e00\u822c\u7684\u77e9\u9635\u79bb\u6563\u5bf9\u6570\u95ee\u9898\uff0c\u5373\u7ed9\u51fa\u6709\u9650\u57df\\(GF(p)\\)\u4e0b\u4e24\u4e2a\u77e9\u9635\\(\\pmb{G}\\)\u548c\\(\\pmb{H}\\)\uff0c\u6c42\u6ee1\u8db3\\(\\pmb{G}^x=\\pmb{H}\\)\u7684\u6574\u6570\\(x\\)\uff0c\u6211\u4eec\u53ef\u4ee5\u76f4\u63a5\u5bf9\u6bd4\u4e24\u4e2a\u77e9\u9635\u8fdb\u884c\u6c42\u89e3\u5373\u53ef\uff0c\u5927\u81f4\u6b65\u9aa4\u5982\u4e0b\uff1a<\/p>\n\n\n\n<p>\u5148\u6c42\\(\\pmb{G}\\)\u7684\u82e5\u5c14\u5f53\u6807\u51c6\u578b\\(\\pmb{J}\\)\u5e76\u6c42\u53ef\u9006\u77e9\u9635\\(\\pmb{P}\\)\u4f7f\u5f97\\(\\pmb{P}^{-1}\\pmb{G}\\pmb{P}=\\pmb{J}\\)\uff0c\u7531\u4e8e\\(\\pmb{H}=\\pmb{G}^x=(\\pmb{P}\\pmb{J}\\pmb{P}^{-1})^x=\\pmb{P}\\pmb{J}^{x}\\pmb{P}^{-1}\\)\uff0c\u6240\u4ee5\u6709\\(\\pmb{P}^{-1}\\pmb{H}\\pmb{P}=\\pmb{J}^x\\)\uff0c\u53d6\u77e9\u9635\\(\\pmb{J}\\)\u5176\u4e2d\u4e00\u4e2a\u9636\u6570\u5927\u4e8e\u7b49\u4e8e2\u7684\u82e5\u5c14\u5f53\u5757\\(\\pmb{J}(\\lambda,k)\\)\uff0c\u5728\u77e9\u9635\\(\\pmb{P}^{-1}\\pmb{H}\\pmb{P}\\)\u53d6\u8be5\u82e5\u5c14\u5f53\u5757\u5bf9\u5e94\u533a\u57df\u4e2d\u6700\u540e\u4e24\u884c\u7684\u6700\u540e\u4e00\u4e2a\u5143\u7d20\uff0c\u5b9e\u9645\u4e0a\u5c31\u662f\\(\\pmb{J}(\\lambda,k)^x\\)\u6700\u540e\u4e24\u884c\u4e2d\u7684\\(\\lambda^x\\)\u4e0e\\(x\\lambda^{x-1}\\)\uff08\u7531\u4e0a\u9762\u7684\u77e9\u9635\u53ef\u4ee5\u5f97\u77e5\uff09\uff0c\u4ece\u800c\u6709\uff1a<\/p>\n\n\n\n<p>$$<br>\\frac{x\\lambda^{x-1}}{\\lambda^{x}}\\equiv \\frac{x}{\\lambda}\\equiv x\\lambda^{-1}\\pmod{p}<br>$$<\/p>\n\n\n\n<p>\u7531\u4e8e\u6211\u4eec\u77e5\u9053\u8be5\u82e5\u5c14\u5f53\u5757\u5bf9\u5e94\u7684\u7279\u5f81\u503c\\(\\lambda\\)\uff0c\u6240\u4ee5\u6211\u4eec\u5c31\u53ef\u4ee5\u901a\u8fc7\u4e58\u4e0a\u4e00\u4e2a\\(\\lambda\\)\u6c42\u51fa\u6211\u4eec\u9700\u8981\u7684\\(x\\).<\/p>\n\n\n\n<p>\u4e3e\u4e2a\u4f8b\u5b50\uff0c\u5f53\\(p=31\\)\u65f6\uff0c\u5728\\(GF(p)\\)\u4e0b\u6709\u77e9\u9635\\(\\pmb{G}=\\left(\\begin{matrix}17&amp;0&amp;6\\\\0&amp;3&amp;0\\\\9&amp;0&amp;18\\end{matrix}\\right)\\)\uff0c\u4e14\u6709\\(\\pmb{H}=\\pmb{G}^x=\\left(\\begin{matrix}25&amp;0&amp;3\\\\0&amp;28&amp;0\\\\20&amp;0&amp;10\\end{matrix}\\right)\\)\uff0c\u6c42\\(x\\).<\/p>\n\n\n\n<p>\u5148\u6c42\u51fa\\(\\pmb{G}\\)\u7684\u82e5\u5c14\u5f53\u6807\u51c6\u578b\\(\\pmb{J}\\)\u53ca\u4f7f\u5f97\\(\\pmb{P}^{-1}\\pmb{G}\\pmb{P}=\\pmb{J}\\)\u6210\u7acb\u7684\u77e9\u9635\\(\\pmb{P}\\)\u5982\u4e0b\uff08\u6b64\u5904\u4e3a\u4e86\u51cf\u5c11\u7bc7\u5e45\u4f7f\u7528sage\u6c42\u4e24\u4e2a\u77e9\u9635\uff09\uff1a<\/p>\n\n\n\n<p>$$<br>\\pmb{J}= \\left( \\begin{matrix} 3&amp;0&amp;0\\\\ 0&amp;2&amp;1\\\\ 0&amp;0&amp;2 \\end{matrix} \\right) ,\\pmb{P}= \\left( \\begin{matrix} 0&amp;15&amp;1\\\\ 1&amp;0&amp;0\\\\ 0&amp;9&amp;0 \\end{matrix} \\right)<br>$$<\/p>\n\n\n\n<p>\u901a\u8fc7\\(\\pmb{P}\\)\u6c42\u51fa\\(\\pmb{J}^x=\\pmb{P}^{-1}\\pmb{H}\\pmb{P}=\\left(\\begin{matrix}28&amp;0&amp;0\\\\0&amp;2&amp;16\\\\0&amp;0&amp;2\\end{matrix}\\right)\\)\uff0c\u7531\u4e8e\\(\\pmb{J}\\)\u4e2d\u6709\u4e00\u4e2a2\u9636\u7684\u82e5\u5c14\u5f53\u5757\\(\\left(\\begin{matrix}2&amp;1\\\\0&amp;2\\end{matrix}\\right)\\)\uff0c\u5176\u5bf9\u5e94\u7684\\(\\pmb{G}\\)\u7684\u7279\u5f81\u503c\u4e3a\\(\\lambda=2\\)\uff0c\u6240\u4ee5\u53d6\\(\\pmb{J}^x\\)\u4e2d\u5bf9\u5e94\u7684\u5757\\(\\left(\\begin{matrix}2&amp;16\\\\0&amp;2\\end{matrix}\\right)\\)\uff0c\u6709:<\/p>\n\n\n\n<p>$$<br>8\\equiv x\\lambda^{-1}\\pmod{p}<br>$$<\/p>\n\n\n\n<p>\u4e24\u8fb9\u540c\u4e58\u4e00\u4e2a\\(\\lambda=2\\)\u53ef\u5f97\\(x\\equiv16\\pmod{31}\\).<\/p>\n\n\n\n<p>\u6b64\u7c7b\u77e9\u9635\u79bb\u6563\u5bf9\u6570\u95ee\u9898\u7684\u6c42\u89e3\u4ee3\u7801\u6a21\u677f\u5982\u4e0b\uff08\u5047\u8bbe\u82e5\u5c14\u5f53\u5f62\u77e9\u9635\\(\\pmb{J}\\)\u6700\u53f3\u4e0b\u89d2\u4e00\u4e2a\u82e5\u5c14\u5f53\u5757\u9636\u6570\u5927\u4e8e2\uff09\uff1a<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"\u590d\u5236\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>from Crypto.Util.number import*\nfrom sage.all import*\n\nG = []\nH = []\n\np = \nn = \t#\u77e9\u9635\u7684\u9636\u6570\n\nM_G = matrix(GF(p),G)\nM_H = matrix(GF(p),H)\n\nJ, P = M_G.jordan_form(subdivide = False,transformation = True)\n\nlambda0 = J&#91;n-1&#93;&#91;n-1&#93;\nM_H_trans = P**-1 * M_H * P\n\nx = lambda0 * M_H_trans&#91;n-2&#93;&#91;n-1&#93; * inverse(int(M_H_trans&#91;n-1&#93;&#91;n-1&#93;),p) % p\n\nprint(x)<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #81A1C1\">from<\/span><span style=\"color: #D8DEE9FF\"> Crypto<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">Util<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">number <\/span><span style=\"color: #81A1C1\">import*<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">from<\/span><span style=\"color: #D8DEE9FF\"> sage<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">all <\/span><span style=\"color: #81A1C1\">import*<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">G <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">[]<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">H <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">[]<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">p <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">n <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> \t<\/span><span style=\"color: #616E88\">#\u77e9\u9635\u7684\u9636\u6570<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">M_G <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">matrix<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">GF<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">p<\/span><span style=\"color: #ECEFF4\">),<\/span><span style=\"color: #D8DEE9FF\">G<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">M_H <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">matrix<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">GF<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">p<\/span><span style=\"color: #ECEFF4\">),<\/span><span style=\"color: #D8DEE9FF\">H<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">J<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> P <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> M_G<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #88C0D0\">jordan_form<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9\">subdivide<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">False<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9\">transformation<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">True<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">lambda0 <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> J<\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #D8DEE9FF\">n<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #ECEFF4\">&#93;&#91;<\/span><span style=\"color: #D8DEE9FF\">n<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">M_H_trans <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> P<\/span><span style=\"color: #81A1C1\">**-<\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #D8DEE9FF\"> M_H <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #D8DEE9FF\"> P<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">x <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> lambda0 <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #D8DEE9FF\"> M_H_trans<\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #D8DEE9FF\">n<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #B48EAD\">2<\/span><span style=\"color: #ECEFF4\">&#93;&#91;<\/span><span style=\"color: #D8DEE9FF\">n<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">inverse<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">int<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">M_H_trans<\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #D8DEE9FF\">n<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #ECEFF4\">&#93;&#91;<\/span><span style=\"color: #D8DEE9FF\">n<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #ECEFF4\">&#93;),<\/span><span style=\"color: #D8DEE9FF\">p<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">%<\/span><span style=\"color: #D8DEE9FF\"> p<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">print<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">x<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\u8fd8\u6709\u4e00\u79cd\u7c7b\u578b\u7684\u77e9\u9635\u79bb\u6563\u5bf9\u6570\u95ee\u9898\uff0c\u5373\u4e3a\u7ed9\u51fa\\(GF(p)\\)\u4e0b\u7684\u77e9\u9635\\(\\pmb{G}\\)\u53ca\u4e00\u4e2a\u521d\u59cb\u5411\u91cf\\(\\pmb{v}\\)\uff0c\u4e14\u7ed9\u51fa\\(\\pmb{y}=\\pmb{G}^x\\pmb{v}\\)\uff0c\u6c42\\(x\\).\u5bf9\u4e8e\u8fd9\u79cd\u7c7b\u578b\u7684\u77e9\u9635\u79bb\u6563\u5bf9\u6570\u7684\u6c42\u89e3\u5927\u81f4\u6b65\u9aa4\u5982\u4e0b\uff1a<\/p>\n\n\n\n<p>\u8bbe\\(\\pmb{v}=\\left(v_1,v_2,\\cdots,v_n\\right)^T,\\pmb{y}=\\left(y_1,y_2,\\cdots,y_n\\right)^T\\)\uff0c\u6c42\u51fa\u77e9\u9635\\(\\pmb{G}\\)\u7684\u82e5\u5c14\u5f53\u6807\u51c6\u578b\\(\\pmb{J}\\)\u5e76\u6c42\u53ef\u9006\u77e9\u9635\\(\\pmb{P}\\)\u4f7f\u5f97\\(\\pmb{P}^{-1}\\pmb{G}\\pmb{P}=\\pmb{J}\\).\u4e3a\u65b9\u4fbf\u89e3\u91ca\uff0c\u5728\u8fd9\u91cc\u6211\u4eec\u5047\u5b9a\\(\\pmb{G}\\)\u7684\u82e5\u5c14\u5f53\u6807\u51c6\u578b\\(\\pmb{P}\\)\u7684\u6700\u53f3\u4e0b\u89d2\u7684\u82e5\u5c14\u5f53\u5757\u9636\u6570\u5927\u4e8e\u7b49\u4e8e2\uff08\u5b9e\u9645\u4e0a\uff0c\u4e00\u4e2a\u77e9\u9635\u7684\u82e5\u5c14\u5f53\u6807\u51c6\u578b\u53ef\u4ee5\u901a\u8fc7\u82e5\u5c14\u5f53\u5757\u7684\u987a\u5e8f\u6765\u53d8\u6210\u8be5\u77e9\u9635\u7684\u53e6\u5916\u4e00\u4e2a\u82e5\u5c14\u5f53\u6807\u51c6\u578b\uff09.<\/p>\n\n\n\n<p>\u6240\u4ee5\u6709\uff1a<\/p>\n\n\n\n<p>$$<br>\\pmb{G}^x\\pmb{v}=\\pmb{P}\\pmb{J}^x\\pmb{P}^{-1}\\pmb{v}=\\pmb{y}<br>$$<\/p>\n\n\n\n<p>\u8bbe\\(\\pmb{t}=\\pmb{P}^{-1}\\pmb{v}\\)\uff0c\\(\\pmb{z}=\\pmb{P}^{-1}\\pmb{y}\\)\uff0c\u5c31\u53ef\u4ee5\u5f97\u5230\uff1a\\(\\pmb{P}\\pmb{J}^x\\pmb{t}=\\pmb{P}\\pmb{z}\\)\uff0c\u800c\u7531\u4e8e\u77e9\u9635\\(\\pmb{P}\\)\u53ef\u9006\uff0c\u5219\u6709\\(\\pmb{J}^x\\pmb{t}=\\pmb{z}\\).<\/p>\n\n\n\n<p>\u7531\u4e8e\u6211\u4eec\u5df2\u77e5\\(\\pmb{v}\\)\u53ca\\(\\pmb{y}\\)\uff0c\u6240\u4ee5\u6211\u4eec\u53ef\u4ee5\u901a\u8fc7\\(\\pmb{P}\\)\u6c42\u51fa\\(\\pmb{t}\\)\u53ca\\(\\pmb{z}\\)\uff0c\u5728\u8fd9\u91cc\u6211\u4eec\u8bbe\\(\\pmb{t}=\\left(t_1,t_2,\\cdots,t_n\\right)^T,\\pmb{z}=\\left(z_1,z_2,\\cdots,z_n\\right)^T\\)\uff0c\u7531\u4e8e\u4e0a\u9762\u6211\u4eec\u5047\u8bbe\u4e86\\(\\pmb{J}\\)\u6700\u53f3\u4e0b\u89d2\u7684\u82e5\u5c14\u5f53\u5757\u7684\u9636\u6570\u5927\u4e8e\u7b49\u4e8e2\uff0c\u5728\u8fd9\u91cc\u6211\u4eec\u5047\u8bbe\u5b83\u5bf9\u5e94\u7684\u7279\u5f81\u503c\u4e3a\\(\\lambda\\)\uff0c\u5c31\u53ef\u4ee5\u5f97\u51fa\u82e5\u5c14\u5f53\u6807\u51c6\u578b\\(\\pmb{J}\\)\u6700\u540e\u4e24\u884c\u5bf9\u5e94\u7684\u7ebf\u6027\u5173\u7cfb\u4e3a\uff1a<\/p>\n\n\n\n<p>$$<br>\\begin{cases} \\lambda^{x}t_{n-1}&amp;+&amp;x\\lambda^{x-1}t_n&amp;\\equiv&amp;z_{n-1}&amp;\\pmod{p}\\\\ &amp;&amp;\\lambda^xt_n&amp;\\equiv&amp;z_n&amp;\\pmod{p} \\end{cases}<br>$$<\/p>\n\n\n\n<p>\u6211\u4eec\u53ef\u4ee5\u77e5\u9053\\(\\lambda^{x}\\equiv\\frac{z_n}{t_n}\\pmod{p}\\)\uff0c\u4ee3\u5165\u7b2c\u4e00\u884c\u7684\u5f0f\u5b50\u53ef\u4ee5\u5f97\u5230\uff1a<\/p>\n\n\n\n<p>$$<br>\\frac{z_nt_{n-1}}{t_n}+\\frac{xz_n}{\\lambda}\\equiv z_{n-1}\\pmod{p}<br>$$<\/p>\n\n\n\n<p>\u6574\u7406\u53ef\u5f97\uff1a<\/p>\n\n\n\n<p>$$<br>x\\equiv\\frac{\\lambda(z_{n-1}t_n-z_nt_{n-1})}{t_nz_n}\\pmod{p}<br>$$<\/p>\n\n\n\n<p>\u8fd9\u6837\u6211\u4eec\u5c31\u53ef\u4ee5\u6c42\u51fa\u6211\u4eec\u8981\u6c42\u7684x\u4e86.<\/p>\n\n\n\n<p>\u4f8b\u5982\uff0c\u5f53\\(p=31\\)\u65f6\uff0c\u5728\\(GF(p)\\)\u4e0b\u6709\u77e9\u9635\\(\\pmb{G}=\\left(\\begin{matrix}17&amp;0&amp;6\\\\0&amp;3&amp;0\\\\9&amp;0&amp;18\\end{matrix}\\right)\\)\uff0c\u4e14\u6709\\(\\pmb{v}=(1,2,3)^T\\)\uff0c\u6709\\(\\pmb{G}^x\\pmb{v}=\\pmb{y}=(13,30,25)^T\\)\uff0c\u6c42\\(x\\).<\/p>\n\n\n\n<p>\u8fd9\u4e2a\u77e9\u9635\\(\\pmb{G}\\)\u7684\u82e5\u5c14\u5f53\u6807\u51c6\u578b\\(\\pmb{J}\\)\u548c\u5bf9\u5e94\u7684\u77e9\u9635\\(\\pmb{P}\\)\u5728\u4e0a\u9762\u5df2\u7ecf\u6c42\u51fa\uff0c\u6240\u4ee5\u8fd9\u91cc\u6211\u4eec\u76f4\u63a5\u642c\u4e0b\u6765\u7528\uff1a<\/p>\n\n\n\n<p>$$<br>\\pmb{J}= \\left( \\begin{matrix} 3&amp;0&amp;0\\\\ 0&amp;2&amp;1\\\\ 0&amp;0&amp;2 \\end{matrix} \\right) ,\\pmb{P}= \\left( \\begin{matrix} 0&amp;15&amp;1\\\\ 1&amp;0&amp;0\\\\ 0&amp;9&amp;0 \\end{matrix} \\right)<br>$$<\/p>\n\n\n\n<p>\u6240\u4ee5\u6709\\(\\pmb{t}=\\pmb{P}^{-1}\\pmb{v}=(2,21,27)^T\\)\uff0c\\(\\pmb{z}=\\pmb{P}^{-1}\\pmb{y}=(30,20,23)^T\\)\uff0c\u800c\u77e9\u9635\\(\\pmb{J}\\)\u7684\u6700\u53f3\u4e0b\u89d2\u7684\u82e5\u5c14\u5f53\u5757\u5bf9\u5e94\u7684\u7279\u5f81\u503c\\(\\lambda=2\\)\uff0c\u6240\u4ee5\u6709\uff1a<\/p>\n\n\n\n<p>$$<br>x\\equiv\\frac{\\lambda(z_{2}t_3-z_3t_{2})}{t_3z_3}\\equiv\\frac{2\\cdot(20\\cdot27-23\\cdot21)}{27\\cdot23}\\equiv21\\pmod{31}<br>$$<\/p>\n\n\n\n<p>\u6240\u4ee5\u53ef\u4ee5\u5f97\u51fa\u8981\u6c42\u7684\\(x = 21\\).<\/p>\n\n\n\n<p>\u6b64\u7c7b\u77e9\u9635\u79bb\u6563\u5bf9\u6570\u95ee\u9898\u7684\u6c42\u89e3\u4ee3\u7801\u6a21\u677f\u5982\u4e0b\uff08\u5047\u8bbe\u82e5\u5c14\u5f53\u5f62\u77e9\u9635\\(\\pmb{J}\\)\u6700\u53f3\u4e0b\u89d2\u4e00\u4e2a\u82e5\u5c14\u5f53\u5757\u9636\u6570\u5927\u4e8e2\uff09\uff1a<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"\u590d\u5236\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>from Crypto.Util.number import*\nfrom sage.all import*\n\nG = []\nV = []\nY = []\n\np = 31\nn = 3\n\nM_G = matrix(GF(p),G)\nv = matrix(GF(p),V)\ny = matrix(GF(p),Y)\n\nJ, P = M_G.jordan_form(subdivide = False,transformation = True)\nt = P**-1 * v\nz = P**-1 * y\nlambda0 = J&#91;n-1&#93;&#91;n-1&#93;\n\nx = lambda0 * (t&#91;n-1&#93;&#91;0&#93;*z&#91;n-2&#93;&#91;0&#93; - t&#91;n-2&#93;&#91;0&#93;*z&#91;n-1&#93;&#91;0&#93;) * inverse(int(t&#91;n-1&#93;&#91;0&#93;*z&#91;n-1&#93;&#91;0&#93;),p) % p\n\nprint(x)<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #81A1C1\">from<\/span><span style=\"color: #D8DEE9FF\"> Crypto<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">Util<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">number <\/span><span style=\"color: #81A1C1\">import*<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">from<\/span><span style=\"color: #D8DEE9FF\"> sage<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">all <\/span><span style=\"color: #81A1C1\">import*<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">G <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">[]<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">V <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">[]<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">Y <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">[]<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">p <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">31<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">n <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">3<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">M_G <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">matrix<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">GF<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">p<\/span><span style=\"color: #ECEFF4\">),<\/span><span style=\"color: #D8DEE9FF\">G<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">v <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">matrix<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">GF<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">p<\/span><span style=\"color: #ECEFF4\">),<\/span><span style=\"color: #D8DEE9FF\">V<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">y <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">matrix<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">GF<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">p<\/span><span style=\"color: #ECEFF4\">),<\/span><span style=\"color: #D8DEE9FF\">Y<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">J<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> P <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> M_G<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #88C0D0\">jordan_form<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9\">subdivide<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">False<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9\">transformation<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">True<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">t <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> P<\/span><span style=\"color: #81A1C1\">**-<\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #D8DEE9FF\"> v<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">z <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> P<\/span><span style=\"color: #81A1C1\">**-<\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #D8DEE9FF\"> y<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">lambda0 <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> J<\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #D8DEE9FF\">n<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #ECEFF4\">&#93;&#91;<\/span><span style=\"color: #D8DEE9FF\">n<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">x <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> lambda0 <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">t<\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #D8DEE9FF\">n<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #ECEFF4\">&#93;&#91;<\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #D8DEE9FF\">z<\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #D8DEE9FF\">n<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #B48EAD\">2<\/span><span style=\"color: #ECEFF4\">&#93;&#91;<\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\"> t<\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #D8DEE9FF\">n<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #B48EAD\">2<\/span><span style=\"color: #ECEFF4\">&#93;&#91;<\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #D8DEE9FF\">z<\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #D8DEE9FF\">n<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #ECEFF4\">&#93;&#91;<\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #ECEFF4\">&#93;)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">inverse<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">int<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">t<\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #D8DEE9FF\">n<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #ECEFF4\">&#93;&#91;<\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #D8DEE9FF\">z<\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #D8DEE9FF\">n<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #ECEFF4\">&#93;&#91;<\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #ECEFF4\">&#93;),<\/span><span style=\"color: #D8DEE9FF\">p<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">%<\/span><span style=\"color: #D8DEE9FF\"> p<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">print<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">x<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\u8fd8\u6709\u4e00\u79cd\u7279\u6b8a\u60c5\u51b5\u5c31\u662f\\(\\pmb{G}^x=\\pmb{H}\\)\u4e2d\\(\\pmb{G}\\)\u7684\u82e5\u5c14\u5f53\u6807\u51c6\u578b\u4e3a\u5bf9\u89d2\u77e9\u9635.\u8fd9\u79cd\u60c5\u51b5\u5b9e\u9645\u4e0a\u53ea\u9700\u8981\u6c42\u51fa\\(\\pmb{G}\\)\u7684\u6807\u51c6\u578b\\(\\pmb{J}\\)\u4e0e\u5176\u5bf9\u5e94\u7684\\(\\pmb{P}\\)\u4e4b\u540e\uff0c\u901a\u8fc7\\(\\pmb{P}^{-1}\\pmb{H}\\pmb{P}\\)\u6c42\u51fa\\(\\pmb{J}^x\\)\uff0c\u518d\u901a\u8fc7\u6c42\u89e3\u6574\u6570\u7684\u79bb\u6563\u5bf9\u6570\u95ee\u9898\u7684\u65b9\u6cd5\u6c42\u89e3\u5c31\u884c\uff08\u5b9e\u9645\u4e0a\u5e94\u8be5\u53ea\u6709\u8fd9\u4e00\u79cd\u65b9\u6cd5\uff09.<\/p>\n\n\n\n<p>\u4e0b\u9762\u901a\u8fc7\u4e00\u9053\u9898\u5c55\u793a\u4e00\u4e0b\u77e9\u9635\u79bb\u6563\u5bf9\u6570\u5728\u5bc6\u7801\u5b66\u4e0a\u7684\u5e94\u7528\uff1a<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">[XYCTF2024]fakeRSA<\/h3>\n\n\n\n<p>\u52a0\u5bc6\u4ee3\u7801\u5982\u4e0b\uff1a<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"\u590d\u5236\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>from Crypto.Util.number import *\n\nflag = b'XYCTF{******}'\nn = ZZ(bytes_to_long(flag))\np = getPrime(int(320))\nprint(p)\n\nG = Zmod(p)\n\ndef function(X, Y, Z):\n    def part(a, b, c):\n        return vector(&#91;9 * a - 36 * c, 6 * a - 27 * c, b&#93;)\n    def parts(n):\n        Gx.&lt;a, b, c> = G[]\n        if n == 0: return vector(&#91;a, b, c&#93;)\n        mid = parts(n \/\/ 2)\n        result = mid(*mid)\n        if n % 2 == 0: return result\n        else: return part(*result)\n    return parts(n)(X, Y, Z)\n\nprint(function(69, 48, 52))\n#\u8f93\u51fa\u6570\u636e\u7565<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #81A1C1\">from<\/span><span style=\"color: #D8DEE9FF\"> Crypto<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">Util<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">number <\/span><span style=\"color: #81A1C1\">import<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">*<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">flag <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">b<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">XYCTF{******}<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">n <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">ZZ<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">bytes_to_long<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">flag<\/span><span style=\"color: #ECEFF4\">))<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">p <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">getPrime<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">int<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #B48EAD\">320<\/span><span style=\"color: #ECEFF4\">))<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">print<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">p<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">G <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">Zmod<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">p<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">def<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">function<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9\">X<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">Y<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">Z<\/span><span style=\"color: #ECEFF4\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">def<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">part<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9\">a<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">b<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">c<\/span><span style=\"color: #ECEFF4\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #81A1C1\">return<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">vector<\/span><span style=\"color: #ECEFF4\">(&#91;<\/span><span style=\"color: #B48EAD\">9<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #D8DEE9FF\"> a <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">36<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #D8DEE9FF\"> c<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">6<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #D8DEE9FF\"> a <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">27<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #D8DEE9FF\"> c<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> b<\/span><span style=\"color: #ECEFF4\">&#93;)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">def<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">parts<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9\">n<\/span><span style=\"color: #ECEFF4\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        Gx<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #81A1C1\">&lt;<\/span><span style=\"color: #D8DEE9FF\">a<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> b<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> c<\/span><span style=\"color: #81A1C1\">&gt;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> G<\/span><span style=\"color: #ECEFF4\">[]<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #81A1C1\">if<\/span><span style=\"color: #D8DEE9FF\"> n <\/span><span style=\"color: #81A1C1\">==<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">return<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">vector<\/span><span style=\"color: #ECEFF4\">(&#91;<\/span><span style=\"color: #D8DEE9FF\">a<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> b<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> c<\/span><span style=\"color: #ECEFF4\">&#93;)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        mid <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">parts<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">n <\/span><span style=\"color: #81A1C1\">\/\/<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">2<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        result <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">mid<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #D8DEE9FF\">mid<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #81A1C1\">if<\/span><span style=\"color: #D8DEE9FF\"> n <\/span><span style=\"color: #81A1C1\">%<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">2<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">==<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">return<\/span><span style=\"color: #D8DEE9FF\"> result<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #81A1C1\">else<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">return<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">part<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #D8DEE9FF\">result<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">return<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">parts<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">n<\/span><span style=\"color: #ECEFF4\">)(<\/span><span style=\"color: #D8DEE9FF\">X<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> Y<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> Z<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">print<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">function<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #B48EAD\">69<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">48<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">52<\/span><span style=\"color: #ECEFF4\">))<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#\u8f93\u51fa\u6570\u636e\u7565<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\u7531\u4ee3\u7801\u53ef\u4ee5\u770b\u51fafunction\u7684\u4f5c\u7528\u662f\u5728\\(GF(p)\\)\u4e2d\u5bf9\u5411\u91cf\\((X,Y,Z)^T\\)\u8fdb\u884c\\(n\\)\u6b21\u53d8\u6362\\((X&#8217;,Y&#8217;,Z&#8217;)^T=(9X-36Z,6X-27Z,Y)^T\\)\u540e\u5f97\u5230\u8f93\u51fa\u7684\u5411\u91cf\uff0c\u5199\u51fa\u53d8\u6362\u7684\u77e9\u9635\u5f62\u5f0f\u5982\u4e0b\uff1a<\/p>\n\n\n\n<p>$$<br>\\left(\\begin{matrix}9&amp;0&amp;-36\\\\6&amp;0&amp;-27\\\\0&amp;1&amp;0\\end{matrix}\\right)\\left(\\begin{matrix}X\\\\Y\\\\Z\\end{matrix}\\right)=\\left(\\begin{matrix}X&#8217;\\\\Y&#8217;\\\\Z&#8217;\\end{matrix}\\right)<br>$$<\/p>\n\n\n\n<p>\u8bbe\u539f\u5411\u91cf\u4e3a\\((x_1,x_2,x_3)^T\\)\uff0c\u6700\u7ec8\u5411\u91cf\u4e3a\\((y_1,y_2,y_3)^T\\)\uff0c\u5219\u6709\uff1a<\/p>\n\n\n\n<p>$$<br>\\left(\\begin{matrix}9&amp;0&amp;-36\\\\6&amp;0&amp;-27\\\\0&amp;1&amp;0\\end{matrix}\\right)^n\\left(\\begin{matrix}x_1\\\\x_2\\\\x_3\\end{matrix}\\right)=\\left(\\begin{matrix}y_1\\\\y_2\\\\y_3\\end{matrix}\\right)<br>$$<\/p>\n\n\n\n<p>\u901a\u8fc7\u4e0a\u9762\u4ecb\u7ecd\u7684\u65b9\u6cd5\u6c42\u89e3\u5373\u53ef\u5f97\u51fa\\(n\\)\uff0c\u4ee3\u7801\u5982\u4e0b\uff1a<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"\u590d\u5236\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>from Crypto.Util.number import*\nfrom sage.all import*\n\nG = [&#91;9,0,-36&#93;,&#91;6,0,-27&#93;,&#91;0,1,0&#93;]\nV = [&#91;69&#93;,&#91;48&#93;,&#91;52&#93;]\nY = ...\t#\u9898\u76ee\u4e2d\u8f93\u51fa\u7684\u5411\u91cf\n\np = 1849790472911267366045392456893126092698743308291512220657006129900961168811898822553602045875909\nn = 3\n\nM_G = matrix(GF(p),G)\nv = matrix(GF(p),V)\ny = matrix(GF(p),Y)\n\nJ, P = M_G.jordan_form(subdivide = False,transformation = True)\nt = P**-1 * v\nz = P**-1 * y\nlambda0 = J&#91;n-1&#93;&#91;n-1&#93;\n\nx = lambda0 * (t&#91;n-1&#93;&#91;0&#93;*z&#91;n-2&#93;&#91;0&#93; - t&#91;n-2&#93;&#91;0&#93;*z&#91;n-1&#93;&#91;0&#93;) * inverse(int(t&#91;n-1&#93;&#91;0&#93;*z&#91;n-1&#93;&#91;0&#93;),p) % p\n\nprint(long_to_bytes(int(x)))<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #88C0D0\">from<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">Crypto.Util.number<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">import<\/span><span style=\"color: #81A1C1\">*<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">from<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">sage.all<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">import<\/span><span style=\"color: #81A1C1\">*<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">G<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">=<\/span><span style=\"color: #D8DEE9FF\"> [&#91;9,0,-36&#93;,<\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #B48EAD\">6<\/span><span style=\"color: #D8DEE9FF\">,0,-27<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><span style=\"color: #D8DEE9FF\">,<\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #D8DEE9FF\">,1,0<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><span style=\"color: #D8DEE9FF\">]<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">V<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">=<\/span><span style=\"color: #D8DEE9FF\"> [&#91;69&#93;,<\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #B48EAD\">48<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><span style=\"color: #D8DEE9FF\">,<\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #B48EAD\">52<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><span style=\"color: #D8DEE9FF\">]<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">Y<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">...<\/span><span style=\"color: #D8DEE9FF\">\t<\/span><span style=\"color: #616E88\">#\u9898\u76ee\u4e2d\u8f93\u51fa\u7684\u5411\u91cf<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">p<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">1849790472911267366045392456893126092698743308291512220657006129900961168811898822553602045875909<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">n<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">3<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">M_G<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">matrix<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">GF(p<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #A3BE8C\">,G<\/span><span style=\"color: #D8DEE9FF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">v<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">matrix<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">GF(p<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #A3BE8C\">,V<\/span><span style=\"color: #D8DEE9FF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">y<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">matrix<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">GF(p<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #A3BE8C\">,Y<\/span><span style=\"color: #D8DEE9FF\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">J,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">P<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">M_G.jordan_form<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">subdivide<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">False,transformation<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">True<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">t<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">P<\/span><span style=\"color: #81A1C1\">**<\/span><span style=\"color: #A3BE8C\">-1<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">v<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">z<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">P<\/span><span style=\"color: #81A1C1\">**<\/span><span style=\"color: #A3BE8C\">-1<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">y<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">lambda0<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">J&#91;n-1&#93;&#91;n-1&#93;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">x<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">lambda0<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #D8DEE9FF\"> (t&#91;n-1&#93;<\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #D8DEE9FF\">z<\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #D8DEE9FF\">n-2<\/span><span style=\"color: #ECEFF4\">&#93;&#91;<\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><span style=\"color: #D8DEE9FF\"> - t<\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #D8DEE9FF\">n-2<\/span><span style=\"color: #ECEFF4\">&#93;&#91;<\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #D8DEE9FF\">z<\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #D8DEE9FF\">n-1<\/span><span style=\"color: #ECEFF4\">&#93;&#91;<\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><span style=\"color: #D8DEE9FF\">) <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #D8DEE9FF\"> inverse<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">int(t&#91;n-1&#93;&#91;0&#93;*z&#91;n-1&#93;&#91;0&#93;<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\">,p) % p<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">print<\/span><span style=\"color: #D8DEE9FF\">(long_to_bytes(int(x)))<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\u8fd0\u884c\u53ef\u5f97\u7ed3\u679c\uff1a<code>XYCTF{y0u_finally_f0und_t3h_s3cr3ts!!}<\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u5173\u4e8e\u82e5\u5c14\u5f53\u6807\u51c6\u578b\u4e0e\u77e9\u9635\u79bb\u6563\u5bf9\u6570\u95ee\u9898<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[7,6,5],"class_list":["post-80","post","type-post","status-publish","format-standard","hentry","category-3","tag-crypto","tag-6","tag-5"],"_links":{"self":[{"href":"https:\/\/www.triode.cc\/index.php\/wp-json\/wp\/v2\/posts\/80","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.triode.cc\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.triode.cc\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.triode.cc\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.triode.cc\/index.php\/wp-json\/wp\/v2\/comments?post=80"}],"version-history":[{"count":5,"href":"https:\/\/www.triode.cc\/index.php\/wp-json\/wp\/v2\/posts\/80\/revisions"}],"predecessor-version":[{"id":85,"href":"https:\/\/www.triode.cc\/index.php\/wp-json\/wp\/v2\/posts\/80\/revisions\/85"}],"wp:attachment":[{"href":"https:\/\/www.triode.cc\/index.php\/wp-json\/wp\/v2\/media?parent=80"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.triode.cc\/index.php\/wp-json\/wp\/v2\/categories?post=80"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.triode.cc\/index.php\/wp-json\/wp\/v2\/tags?post=80"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}