??xml version="1.0" encoding="utf-8" standalone="yes"?>色88久久久久高潮综合影院,少妇被又大又粗又爽毛片久久黑人 ,久久一区二区免费播放http://www.shnenglu.com/qinqing1984/category/17120.htmlzh-cnTue, 29 Apr 2025 09:28:36 GMTTue, 29 Apr 2025 09:28:36 GMT60二元二次型的怼变换与正定?/title><link>http://www.shnenglu.com/qinqing1984/archive/2025/04/25/230436.html</link><dc:creator>春秋十二?/dc:creator><author>春秋十二?/author><pubDate>Fri, 25 Apr 2025 11:05:00 GMT</pubDate><guid>http://www.shnenglu.com/qinqing1984/archive/2025/04/25/230436.html</guid><wfw:comment>http://www.shnenglu.com/qinqing1984/comments/230436.html</wfw:comment><comments>http://www.shnenglu.com/qinqing1984/archive/2025/04/25/230436.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/qinqing1984/comments/commentRss/230436.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/qinqing1984/services/trackbacks/230436.html</trackback:ping><description><![CDATA[<div>   本文主要阐述用两U方法判断给定两个二元二ơ型是否怼Q相似情况下的具体变换?br /> 怼变换如果定了,也利于判断正定性,因ؓ(f)怼二次型的正定性相?br /> <br /> <div><span style="font-size: 12pt;"><strong>基本定义</strong></span></div> <div>  下述定义来自文献[1] 12.1节,有所扩展 <br />   <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/binary-quadric-form-basic-definition.png" alt="" /><br /> <strong><br /> <span style="font-size: 12pt;">变换求解</span></strong></div> <div>  先来看运用解方程的方?nbsp;<br />   <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/binary-quadric-form-similar-transform-solve-equation.jpg" width="555" height="919" alt="" /><br /> <br /> <div> <br />  再来看用矩阵的观Ҏ(gu)法,求解变换。这U方法更适合求解到对角型的变?br />  <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/binary-quadric-form-similar-transform-matrix-method.jpg" alt="" /><br />  <br />  <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/binary-quadric-form-similar-transform-matrix-method-example.jpg" alt="" /><br /> <br /> <div><span style="font-size: 11pt;"><strong><br /> 参考文?/strong></span> </div> <div>   [1] 华罗庚文集数论卷2</div> <div>   [2] 高等代数                 丘维?/div> </div> </div> </div><img src ="http://www.shnenglu.com/qinqing1984/aggbug/230436.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/qinqing1984/" target="_blank">春秋十二?/a> 2025-04-25 19:05 <a href="http://www.shnenglu.com/qinqing1984/archive/2025/04/25/230436.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于的一些结论及(qing)应用http://www.shnenglu.com/qinqing1984/archive/2025/04/22/230435.html春秋十二?/dc:creator>春秋十二?/author>Tue, 22 Apr 2025 13:18:00 GMThttp://www.shnenglu.com/qinqing1984/archive/2025/04/22/230435.htmlhttp://www.shnenglu.com/qinqing1984/comments/230435.htmlhttp://www.shnenglu.com/qinqing1984/archive/2025/04/22/230435.html#Feedback0http://www.shnenglu.com/qinqing1984/comments/commentRss/230435.htmlhttp://www.shnenglu.com/qinqing1984/services/trackbacks/230435.html?strong>命题1?所有群同态的原像个数相同Q即为核的大?/span> 
    

  下面看下q个l论在文献[1]?.2节的应用 
     

?strong>命题2】所有元素阶于{于2 的群Z换群Q且光?的整数幂 
  
 该结论在https://zhuanlan.zhihu.com/p/644888274中的推论2.2证明中用?br />
?strong>命题3】群中Q一元的相对于正规子的指数ơ幂属于正规子群Q?阶正规子必
属于的中心
 

【定理?/strong>模奇合数的既U乘法群Q其中雅可比W号?的元素构成它的子,光?/span>
既约乘法群阶的一?br />     


参考文?/strong>
  [1] 椭圆曲线?qing)其在密码学中的应?#8212;导引  Andreas Enge
  [2] 抽象代数I                                      赉|?徐明?br />   [3] 华罗庚文集数论卷2
  [4] l合数学                                       冯荣?宋春?/div>


]]>
不定方程的代数数?/title><link>http://www.shnenglu.com/qinqing1984/archive/2024/12/23/230411.html</link><dc:creator>春秋十二?/dc:creator><author>春秋十二?/author><pubDate>Mon, 23 Dec 2024 03:33:00 GMT</pubDate><guid>http://www.shnenglu.com/qinqing1984/archive/2024/12/23/230411.html</guid><wfw:comment>http://www.shnenglu.com/qinqing1984/comments/230411.html</wfw:comment><comments>http://www.shnenglu.com/qinqing1984/archive/2024/12/23/230411.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/qinqing1984/comments/commentRss/230411.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/qinqing1984/services/trackbacks/230411.html</trackback:ping><description><![CDATA[<div><strong style="font-size: 12pt;">W号含义与适用前提</strong><br /> <p>  <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/diophantine-equation-term-premise.png" width="591" height="246" alt="" /><br /> <br /> <span style="font-size: 12pt;"><strong><br /> 二次域的基本l论</strong></span> </p> <p>   <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/diophantine-equation-quadratic-field-conclusion.png" width="600" height="551" alt="" /><br />   <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/diophantine-equation-quadratic-field-conclusion2.png" width="599" height="272" alt="" /><br /> <br /> </p> <div><strong style="font-size: 12pt;">x<sup>2</sup>-dy<sup>2</sup>=</strong><strong style="font-size: 12pt;">±1</strong>   </div> <div>  <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/diophantine-equation-pell-solve.jpg" alt="" /><br /> <br />   <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/diophantine-equation-pell-solve2.jpg" width="635" height="955" alt="" /><br />   <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/diophantine-equation-pell-solve3.jpg" width="623" height="1026" alt="" /><strong style="font-size: 12pt;"><br /> x<sup>2</sup> + d = y<sup>3</sup></strong>  </div> <div>  <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/diophantine-equation-x2-d-y3-solve.jpg" width="586" height="802" alt="" /><br />   <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/diophantine-equation-x2-d-y3-solve2.jpg" width="574" height="1000" alt="" /><br />   <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/diophantine-equation-x2-d-y3-solve3.jpg" alt="" /> <br /> <br /> <div><strong style="font-size: 12pt;"><br /> x<sup>2</sup> + y<sup>2</sup> = n</strong>   </div> <div>  <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/diophantine-equation-two-quadratic-sum-solve.jpg" alt="" /><br /> <br />   <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/diophantine-equation-two-quadratic-sum-solve2.jpg" alt="" /><br /> <br /> <br /> <div><strong>参考文?/strong> <strong><br /> </strong><strong>    </strong>[1] 代数与数?nbsp;          李超  周?zhn)?/div> </div> </div> </div><img src ="http://www.shnenglu.com/qinqing1984/aggbug/230411.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/qinqing1984/" target="_blank">春秋十二?/a> 2024-12-23 11:33 <a href="http://www.shnenglu.com/qinqing1984/archive/2024/12/23/230411.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于椭圆曲线的验证计?/title><link>http://www.shnenglu.com/qinqing1984/archive/2024/11/10/230402.html</link><dc:creator>春秋十二?/dc:creator><author>春秋十二?/author><pubDate>Sun, 10 Nov 2024 13:45:00 GMT</pubDate><guid>http://www.shnenglu.com/qinqing1984/archive/2024/11/10/230402.html</guid><wfw:comment>http://www.shnenglu.com/qinqing1984/comments/230402.html</wfw:comment><comments>http://www.shnenglu.com/qinqing1984/archive/2024/11/10/230402.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/qinqing1984/comments/commentRss/230402.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/qinqing1984/services/trackbacks/230402.html</trackback:ping><description><![CDATA[<span style="font-size: 13pt;"><strong>W号含义</strong></span>  <div>    E            表示满椭圆曲线Weierstrass方程上的点群</div> <div>    K            代数闭域Q用来限制Weierstrass方程的系CE中的?/div> <div>    E(K)        定义在K上的点群E</div> <div>    E/K         定义在K上的椭圆曲线E</div> <div>    End(E)    E上的自同态环<br /> <br /> <br /> <span style="font-size: 13pt;"><strong>域扩张分?/strong></span><span style="background-color: #c0c0c0; font-size: 1px;"> </span><span style="font-size: 13pt;"><strong><br /></strong></span>   <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/ec-field-extention-analysis.png" alt="" /><br /> <br /> <div><span style="font-size: 13pt;"><strong>End(E)模与Z代数</strong></span> <span style="font-size: 14pt;"><br /> </span><span>  <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/ec-ende-module-z-algebra.png" width="550" height="760" alt="" /><br /> <br /> </span> <div><span style="font-size: 13pt;"><strong>极点首项pL</strong></span> <span style="font-size: 14pt;"><br /> </span><span style="font-size: 14pt;">  <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/ec-acnode-leading-term-coefficient-theory.jpg" width="571" height="970" alt="" /><br />   <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/ec-acnode-leading-term-coefficient-example.png" width="562" height="831" alt="" /><br /> </span> <div><span style="font-size: 13pt;"><br /> <strong> 除子映射?qing)同?/strong></span> <strong style="font-size: 1px;"> </strong></div> <div>   <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/ec-divisor-map-isomorphism.jpg" width="560" height="918" alt="" /><br /> <br /> <div><span style="font-size: 13pt;"><strong>同种映射同态性的解释</strong></span> <span style="font-size: 14pt;"><br /> </span><span>  <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/ec-isogeny-homomorphism-theorem.PNG" width="453" height="388" alt="" /><br />   <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/ec-principal-divisor-corollary.PNG" width="454" height="218" alt="" /><br />   <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/ec-isogeny-map-homomorphism-explain.png" width="531" height="238" alt="" /><br /> <br /> </span> <div><span style="font-size: 13pt;"><strong>Hasse定理之引理证明的补充</strong></span>  </div> <div>  <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/ec-hasse-lemma-proof-supplement.jpg" width="591" height="958" alt="" /><br /> <br /> <div><span style="font-size: 13pt;"><strong>挠曲U及(qing)其个?/strong></span>   </div>   <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/ec-torsional-curve-and-num.jpg" width="584" height="978" alt="" /><br /> <br /> <div><strong><span style="font-size: 13pt;">有限域上的椭圆曲U?/span> </strong>  <div><span style="font-size: 11pt;">  <strong>一U确定型阶计算?/strong></span> <span style="font-size: 12pt;"><br /> </span><span>    <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/ec-odd-prime-field-calc-ecgrouporder-algo.png" width="563" height="507" alt="" /><br /> </span><span style="font-size: 12pt;"> <br /> </span><span style="font-size: 11pt;">  <strong>奇素域上的算法应?/strong></span><strong> </strong><span style="font-size: 12pt;"><br /> </span><span>    <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/ec-odd-prime-field-calc-ecgrouporder-algo-apply.png" width="571" height="380" alt="" /><br />    <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/ec-odd-prime-field-calc-ecgrouporder-algo-apply2.jpg" width="571" height="1019" alt="" /><br /> <br /> </span> <div><span style="font-size: 11pt;"> <strong>GF域上的群阶计?/strong></span>  </div> <div><span>   <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/ec-gf-calc-grouporder-weil-example.jpg" width="543" height="995" alt="" /><br />    <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/ec-gf-calc-grouporder-weil-example2.jpg" width="571" height="1019" alt="" /><br /> <br /> </span> <div><span style="font-size: 13pt;"><strong>Schoof法正确性根?/strong></span>   </div> <div>    一U计椭圆曲U群的阶的确定型多项式时间算法,定型是因ؓ(f)法内部没有随机选择/概率抛币操作Q多式旉是因为域<em>k</em>的乘法与求逆L数是O((logq)^6)<br /> Q?em>q</em>?em>k</em>的大,乘法与求逆相对加减运显著耗时Q。具体原理及(qing)程详见参考文献[1]?.2节。这里给出笔者的一些思? <div>​     1. Hasse定理QF(tun)robenius自同态方E式Q在扭点上的限制亦成立Q这军_?em>t</em>?em>l</em>的一个同余方E成立,且在模l的最非负剩余系下解是唯一?/div> <div>​     2. 孙子定理保证了某取D围内的一?em>t</em>?em>L</em>Q?em>L</em>为各素因子l的乘U)的唯一解,即由<em>t</em>?em>L</em>各个素因?em>l</em>的同余方E构成的同余方程l的解是唯一?/div> <div>​     3. <em>L</em>必须大于<em>t</em>取g限的2倍。这是ؓ(f)了算法求得的解满上q?Q否则在更小的L内得到的解不唯一Q因<em>L</em>?em>t</em>上限或下限间的某数可以与<em>t</em>?em>L</em>同余Q?/div> <div>​     4. 素因?em>l</em>的选择排除2与椭圆曲U特?em>p</em>。这是因为算法构造所依赖的一个引理之前提条gQؓ(f)奇素C?em>l</em>ơ除子多式属于<em>k</em>[X]Q即引理论断有意义;<br />        不等?em>p</em>保证一个多式f是否零多式的充要条件成立,卛_以用<em>l</em>ơ除子多式L?em>f</em>来判断。另l为素C证了与其它除子多式Q及(qing)其幂ơ)互素<br />      另外发现了算法的一处瑕疵,即第4步预计算除子多项式与Frobenius自同态的复合了两个|q导致第5步可能崩溃,当依赖的后箋两个复合多项式没被计时?br />   q个U正可通过修改W?步扩?个|或第5步通过除子多项式的递推公式按需计算</div> <br /> <div><strong><span style="font-size: 13pt;">扭点的阶计算正确性根?/span></strong> <strong> </strong></div>     <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/ec-calc-torsion-point-order-algo-correctness-analysis.png" width="599" height="374" alt="" /><br /> <br /> <div><span style="font-size: 13pt;"><strong>在密码学中的应用</strong></span><span style="background-color: #c0c0c0; font-size: 1px;"> </span> </div><div>    <span style="font-size: 11pt;"> <strong>选取原则</strong></span>  </div> <div>        1. 排除奇异椭圆曲Uѝ这是ؓ(f)避免<span style="color: #ff6600;">MOV</span>{约化攻击,U化d旉复杂度是亚指?/div> <div>        2. 有限域的选择要<em>E</em>(<em>F</em><sub><em>q</em></sub>)的群阶够大。这是ؓ(f)了缓?span style="color: #ff00ff;">Shanks</span>?span style="color: #ff00ff;">Pollard ρ</span>d</div> <div>        3. <em>E</em>(<em>F</em><sub><em>q</em></sub>)存在阶ؓ(f)大素数的子群。这是ؓ(f)了抵?span style="color: #ff00ff;">Pohlig-Hellman</span>d</div> <div>      对于W?点,排除了char(<em>K</em>)=2??em>j</em>(<em>E</em>)=0对应的如下标准Ş式曲U?/div> <div>           Y<sup>2</sup>+α<sub>3</sub>Y=X<sup>3</sup>+α<sub>4</sub>X+α<sub>6</sub>Q?#945;<sub>3</sub>≠0Q??nbsp; Y<sup>2</sup>=X<sup>3</sup>+α<sub>4</sub>X+α<sub>6</sub> <br />      <br />     <span style="font-size: 11pt;"> <strong>一U典型方?/strong></span><span style="background-color: #c0c0c0; font-size: 1px;"><strong> </strong></span><span style="font-size: 12pt;"><br /> </span>           椭圆曲线?qing)有限域的选择使得|<em>E</em>(<em>F<sub>q</sub></em>)|=cmQ且char(<em>F<sub>q</sub></em>) ∤ <em>q</em>+1-<em>cm</em>。其?em>m</em>是一个大素数Q通常不低?56位二q制长度Q提供中长期安全性)Q?em>c</em>于<em>m</em>?br />          m阶子的生成元可通过以下Ҏ(gu)定Q随机选择<em>E</em>上的一个有理点<em>P</em>Q如?em>Q</em>=<em>cP</em>为零元(xI点)Q则重复选择Q直到其不等于零元?br />          一旦找C生成元,那么子群可以构造出来了。下面分析正?nbsp; </div> <div>           <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/ec-cryptography-apply-typical-scheme.png" width="472" height="364" alt="" /><br /> <br /> <br /> <div><span style="font-size: 12pt;"><strong>参考文?/strong></span></div> <div>  [1] 椭圆曲线?qing)其在密码学中的应?#8212;导引      Andreas Enge</div> <div>  [2] 法数论                                           裴定一、祝跃飞 </div> <div>  [3] The Arithmetic of Elliptic Curves        Joseph H. Silverman</div> <div>  [4] 标识密码?nbsp;                                       E朝?/div> <div>  [5] 代数学基与有限域                             林东?br /> <div>  [6] 抽象代数I                                          赉|?徐明?/div> <div>  [7] 代数与数?nbsp;                                       李超   周?zhn)?/div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div><img src ="http://www.shnenglu.com/qinqing1984/aggbug/230402.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/qinqing1984/" target="_blank">春秋十二?/a> 2024-11-10 21:45 <a href="http://www.shnenglu.com/qinqing1984/archive/2024/11/10/230402.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>不可U多式判别法的改?/title><link>http://www.shnenglu.com/qinqing1984/archive/2024/09/07/230392.html</link><dc:creator>春秋十二?/dc:creator><author>春秋十二?/author><pubDate>Sat, 07 Sep 2024 15:07:00 GMT</pubDate><guid>http://www.shnenglu.com/qinqing1984/archive/2024/09/07/230392.html</guid><wfw:comment>http://www.shnenglu.com/qinqing1984/comments/230392.html</wfw:comment><comments>http://www.shnenglu.com/qinqing1984/archive/2024/09/07/230392.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/qinqing1984/comments/commentRss/230392.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/qinqing1984/services/trackbacks/230392.html</trackback:ping><description><![CDATA[<div><strong style="font-size: 12pt;">原本法<br /> </strong> <div>    摘抄<em>参考文?</em>中附录的法程如下</div> <strong style="font-size: 12pt;">    <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/Irreducible-polynomial-decide-original-algo.PNG" width="547" height="298" alt="" /><br /> <br /> </strong> <div><strong style="font-size: 12pt;">例子验</strong><br />    <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/Irreducible-polynomial-decide-example-test-prime-field.PNG" width="558" height="442" alt="" /><br />     <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/Irreducible-polynomial-decide-example-test-extend-field.PNG" width="556" height="367" alt="" /><br /> <div><br /> <strong style="font-size: 12pt;">Ҏ(gu)后的法</strong></div> <div>       Ҏ(gu)之前Q先理清原本法判别不可U多式所用的原理。其原理是若f(x)可约Q当且仅当存在次数i<=d=[deg(f(x))/2]的不可约因子g(x)Q而此时gcd(x<sup>q^i</sup>-x, f(x))≠1?br />    Ҏ(gu)<em>参考文?</em>Q详见如下定理)Qx<sup>q^i</sup>-x是所有iơ不可约多项式的乘积Q因此它必定包含g(x)而与f(x)存在公因子。不可约判别法的思想应该是遍历次?到d的所有不可约多项?br />  Q没必要大于d的不可约多项式,因ؓ(f)若f(x)可约则其分解因子中必定存在不大于d的不可约多项式)Q检输入多式与它们是否存在公因子。所以这个原理是正确的,只是实现不对Q?br />    略作Ҏ(gu)如下Q类c语言描述Q?br />    <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/Irreducible-polynomial-decide-correct-algo.PNG" width="602" height="420" alt="" /><br /> <div><br /> <strong style="font-size: 12pt;">重新验</strong><br />    <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/Irreducible-polynomial-decide-example-retest-prime-field.PNG" alt="" /><br /><br />    <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/Irreducible-polynomial-decide-example-retest-extend-field.PNG" width="452" height="838" alt="" /><br /> <br /> <br /> <div><strong style="font-size: 11pt;">参考文?/strong></div> <div>   [1] 法数论                 裴定一、祝跃飞</div> <div>   [2] 代数学基与有限域   林东?/div> </div> </div> </div> </div><img src ="http://www.shnenglu.com/qinqing1984/aggbug/230392.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/qinqing1984/" target="_blank">春秋十二?/a> 2024-09-07 23:07 <a href="http://www.shnenglu.com/qinqing1984/archive/2024/09/07/230392.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>有限域上qx根的求解http://www.shnenglu.com/qinqing1984/archive/2024/08/30/230390.html春秋十二?/dc:creator>春秋十二?/author>Fri, 30 Aug 2024 14:22:00 GMThttp://www.shnenglu.com/qinqing1984/archive/2024/08/30/230390.htmlhttp://www.shnenglu.com/qinqing1984/comments/230390.htmlhttp://www.shnenglu.com/qinqing1984/archive/2024/08/30/230390.html#Feedback0http://www.shnenglu.com/qinqing1984/comments/commentRss/230390.htmlhttp://www.shnenglu.com/qinqing1984/services/trackbacks/230390.html通用法
   先摘抄参考文献[1]中的法程如下
   

   正确性分?br />       下面证明以上法用到的事实结论,提炼为如下几个引?br />       
     

   法构造思想
         用到二次剩余知识Q即一个待求^方元ɑ可以且只能表CZؓ(f)两个qx因子的乘U,其中一因子ZQ意随机选取的非qx因子β的偶数幂Q?br />       另一因子为叶子群H的一元素rQH作ؓ(f)陪集划分根群Q有限域乘法)得到β生成的集合即商群G/H的一个代表元pR这样一来,开方{化ؓ(f)β与r的乘方运,
      q代的过E就是ؓ(f)求那个具体的代表?#946;e中的指数eQ注意e必ؓ(f)偶数Q,从Gs-2到G0=HQP代结束后r被唯一定Qr的开方等于r?t+1)/2ơ方Q因为t是H的阶且ؓ(f)奇数Qrt+1=rQ?br />      观察法程Q可以发现如果分解q-1后得到s=1Q那么就没必要选取非^方元β了(q时?#946;=1Q,直接跛_W?步得到结果。仅当s≠1才随机选取β。这hq后可加快算法运?br />
   例子验
      
      

Ҏ(gu)法
   
当q是素Cq≡3(mod 4)Ӟ存在更快的算法及(qing)验如下 
   


参考文?/strong>
   [1]  法数论   裴定一、祝跃飞


]]>
求解LҎ(gu)问题的Terr法http://www.shnenglu.com/qinqing1984/archive/2024/08/15/230388.html春秋十二?/dc:creator>春秋十二?/author>Thu, 15 Aug 2024 14:35:00 GMThttp://www.shnenglu.com/qinqing1984/archive/2024/08/15/230388.htmlhttp://www.shnenglu.com/qinqing1984/comments/230388.htmlhttp://www.shnenglu.com/qinqing1984/archive/2024/08/15/230388.html#Feedback0http://www.shnenglu.com/qinqing1984/comments/commentRss/230388.htmlhttp://www.shnenglu.com/qinqing1984/services/trackbacks/230388.html基本原理  
   

   再来看Terr法用到的如下定?br />      定理 Q基?em>参考文?Ҏ(gu)后的描述Q?span style="color: #ff6600;">Ҏ(gu)一正整数tQ存在唯一定的一l整数k和jQ?<=k<jQ得t=Tj+1-kQ其中T0=0QTn=Tn-1+n-1Qn>=1
    
     如果t=0Q那么j在区间[0,1)Q故只能?Q此时k=0与条件k<j矛盾Q若允许k=jQ则不保证唯一Q比如t=1 => j=1, k=0 ?j=2, k=2?/span>
     所?em>参考文?中原来定理的描述“Ҏ(gu)一非负整数t”是错误的。下面列举一些实例验证j与k的唯一?/div>
               t=1  =>  j=1, k=0
               t=2  =>  j=2, k=1
               t=3  =>  j=2, k=0
               t=4  =>  j=3, k=2
               t=5  =>  j=3, k=1
               t=6  =>  j=3, k=0
   

法伪代?/strong>
      


例子验
     


参考文?/strong>
   [1] 代数学基与有限域   林东?/div>


]]>单私钥加密构造的验证?qing)安全性分?/title><link>http://www.shnenglu.com/qinqing1984/archive/2024/06/29/230365.html</link><dc:creator>春秋十二?/dc:creator><author>春秋十二?/author><pubDate>Sat, 29 Jun 2024 09:00:00 GMT</pubDate><guid>http://www.shnenglu.com/qinqing1984/archive/2024/06/29/230365.html</guid><wfw:comment>http://www.shnenglu.com/qinqing1984/comments/230365.html</wfw:comment><comments>http://www.shnenglu.com/qinqing1984/archive/2024/06/29/230365.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/qinqing1984/comments/commentRss/230365.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/qinqing1984/services/trackbacks/230365.html</trackback:ping><description><![CDATA[<strong style="font-size: 12pt;">U钥分组加密</strong>  <br /> <dt></dt><dt><strong style="font-size: 12pt;">   <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/privkey-block-cipher-base-prf.PNG" width="492" height="592" alt="" /></strong></dt><strong style="font-size: 12pt;">   <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/privkey-block-cipher-base-prf_proof-semantic-security.PNG" width="488" height="367" alt="" /><br />    </strong>上图的证明中Qr<sup>(j)</sup>两两不同的概率计是关键Q下面给l过E?br /> <strong style="font-size: 12pt;">       <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/privkey-block-cipher-base-prf_proof-probability-calc.PNG" width="434" height="251" alt="" /><br /> </strong> <div>    另外两个分布l计的不同意味着计算可分辨(反之则计不可分辨)Q亦即r<sup>(j)</sup>臛_两个相同的概率?/div> <strong style="font-size: 12pt;">  </strong><span style="color: #f37d31;">Construction 5.3.9</span>一ơ只能加密与密钥{长的明文,如果要加密更长的明文Q怎么办?一个简单直?br />   的方法是明文分成多个大ؓ(f)n的块Q对每个块调用上q加密步骤,那么得到Ş如下的密文块序列<strong style="font-size: 12pt;"><br /> </strong><strong style="font-size: 12pt;">       <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/privkey-block-cipher-base-prf_ciphertext-sequence.PNG" width="356" height="79" alt="" /><br />   </strong>密文块序列从<span style="color: #c00000;">Proposition 5.3.10</span>的证明中可知是计不可分辨的Q满?span style="font-family: 宋体;">?/span>多组消息安全?span style="font-family: 宋体; font-size: 10.5pt;">?/span>。但对于解密<br />   需要存储每一块的随机敎ͼ因此比较占空_(d)所以衍生出下面更高效的Ҏ(gu)<span style="color: #f37d31;">Construction 5.3.12</span><strong style="font-size: 12pt;"><br /> </strong><strong style="font-size: 12pt;"><br /> </strong> <div><strong style="font-size: 12pt;">U密通用加密</strong><strong style="font-size: 12pt;"><br /> </strong>    <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/privkey-encryption-scheme-base-prf.PNG" width="490" height="422" alt="" /><br />   <strong style="font-size: 11pt;">   <br />      语义安全性分?/strong>    </div> <div>          <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/privkey-encryption-scheme-base-prf_security-analysis.PNG" alt="" /><br />           <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/privkey-encryption-scheme-base-prf_security-analysis-2.PNG" alt="" /><br /> <div><strong style="font-size: 12pt;"><br /> 抗主动攻d全?/strong></div> <div>       以上两种构造因满<span style="font-family: 宋体; font-size: 10.5pt;">?/span>多组消息安全?span style="font-family: 宋体; font-size: 10.5pt;">?/span>Q故满<span style="color: #ff0000;">CPA</span>?span style="color: #ff0000;">CCA1</span>Q具体的证明可参考Oded Goldreich《密码学基础》的<span style="color: #f37d31;">Proposition 5.4.12</span>?span style="color: #f37d31;">Proposition 5.4.18</span>?br />    但不满<span style="color: #ff0000;">CCA2Q?/span>因ؓ(f)d者拿到挑战密文后Q可以修改它再发密质疑,得到回答的明文从而异或求?em>f<sub>k</sub></em>(<em>r<sub>i</sub></em>)Q最后与挑战密文异或求解挑战明文<br />   对于通用加密构造的CCA2dl节如下<br />           <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/privkey-encryption-scheme-base-prf-cca2-detail.PNG" width="312" height="288" alt="" /></div> </div><img src ="http://www.shnenglu.com/qinqing1984/aggbug/230365.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/qinqing1984/" target="_blank">春秋十二?/a> 2024-06-29 17:00 <a href="http://www.shnenglu.com/qinqing1984/archive/2024/06/29/230365.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>二元有限域及(qing)其扩域上的计?/title><link>http://www.shnenglu.com/qinqing1984/archive/2024/05/16/230353.html</link><dc:creator>春秋十二?/dc:creator><author>春秋十二?/author><pubDate>Thu, 16 May 2024 05:41:00 GMT</pubDate><guid>http://www.shnenglu.com/qinqing1984/archive/2024/05/16/230353.html</guid><wfw:comment>http://www.shnenglu.com/qinqing1984/comments/230353.html</wfw:comment><comments>http://www.shnenglu.com/qinqing1984/archive/2024/05/16/230353.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/qinqing1984/comments/commentRss/230353.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/qinqing1984/services/trackbacks/230353.html</trackback:ping><description><![CDATA[<span style="font-size: 12pt;"><strong>定义<br />     <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/finite-field-extend-compute_define.png" width="351" height="51" alt="" /><br /> <br /> </strong></span><strong> </strong><strong style="font-size: 12pt;">Berlekamp分解法<br />     <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/finite-field-extend-compute_berlekamp.png" alt="" /><br /> </strong><br /> <strong> </strong><strong style="font-size: 12pt;">AES有限?br />    <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/finite-field-extend-compute_aes-element-denote.png" width="536" height="88" alt="" /><br /> <br /> </strong> <strong style="font-size: 11pt;">  不可U性证?br /> </strong>       <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/finite-field-extend-compute_aes-polynomial-irreducible-proof.png" width="498" height="824" alt="" /><br /> <br /> <strong></strong><strong style="font-size: 11pt;">  非本原性验?br />       <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/finite-field-extend-compute_aes-polynomial-noprimitive-verify.png" alt="" /><br /> <br />   </strong><strong style="font-size: 11pt;">扑և本原?br />       <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/finite-field-extend-compute_aes-find-primitive-element.png" alt="" /><br /> <br /> </strong>   <strong style="font-size: 11pt;">不可U多式个数<br />        <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/finite-field-extend-compute_aes-irreducible-polynomial-count.png" alt="" /><br /> <br /> </strong><strong style="font-size: 12pt;">U性移位寄存器m序列<br />      </strong>Ҏ(gu)参考文?知线生移位寄存器产生m序列的充要条件是特征多项式f(x)为本原多式。而确立有限域上的本原多项式,主要有两U方法:(x)<br />       一U方法是Ҏ(gu)<strong>F</strong><sub>q</sub>上所有次Cؓ(f)n的本原多式的乘U正好等于割圆多式Q<sub>e</sub>Q其中e=q<sup>n</sup>-1Q从而所有次Cؓ(f)n的本原多式可以通过分解Q<sub>e</sub>得到?br />       另一U方法是通过构造本原元再求本原元的极小多项式,先素因子分解q<sup>n</sup>-1=p<sub>1</sub>p<sub>2</sub>...p<sub>k</sub>Q如果对每一p<sub>i</sub>都有ord(<span style="color: #4b4b4b; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff;">α</span><sub>i</sub>)=p<sub>i</sub>Q那?span style="color: #4b4b4b; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff;">α</span>=<span style="color: #4b4b4b; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff;">α</span><sub>1</sub><span style="color: #4b4b4b; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff;">α</span><sub>2</sub>...<span style="color: #4b4b4b; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff;">α</span><sub>k</sub>的阶是q<sup>n</sup>-1Q?br />       因此?strong>F</strong><sub>q</sub>上的本原元,则f(x)=(x-<span style="color: #4b4b4b; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff;">α</span>)(x-<span style="color: #4b4b4b; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff;">α</span><sup>2</sup>)...(x-<span style="color: #4b4b4b; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff;">α</span><sup>r</sup>)Qr=q<sup>n</sup>-1Q因?span style="color: #4b4b4b; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff;">α</span>是本原元Q所以n是<span style="color: #4b4b4b; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff;">α</span><sup>q^n</sup>=<span style="color: #4b4b4b; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff;">α</span>成立的最正整数Q?br />     <br />     <strong style="font-size: 11pt;">求解本原多项?/strong><br />        假设U性移位寄存器的Cؓ(f)4Q这里用上qCU方法求<strong>F</strong><sub>16</sub>上的本原多项式,q程如下<br />       <strong>分解割圆多项式法</strong><br />          <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/finite-field-extend-compute_lfsr-solve-primitive-polynomial-algo1.png" alt="" /><br /> <br /><div>       <strong>构造极多式?/strong><br />          <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/finite-field-extend-compute_lfsr-solve-primitive-polynomial-algo2.png" alt="" /></div>        <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/finite-field-extend-compute_lfsr-solve-primitive-polynomial-algo2_1.png" alt="" /><br />         <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/finite-field-extend-compute_lfsr-solve-primitive-polynomial-algo2_2.png" alt="" /><br /><strong style="font-size: 11pt;">   <br />  本原多项式个?br />        <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/finite-field-extend-compute_lfsr-primitive-polynomial-count.png" width="554" height="191" alt="" /><br /> <br />    </strong><strong style="font-size: 11pt;">m序列CZ<br />        <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/finite-field-extend-compute_lfsr-mseq-example.png" width="522" height="358" alt="" /><br /> <br /> <br /> </strong> <div><strong style="font-size: 12pt;">参考文?br />     </strong>[1] 代数学基与有限域    林东?/div><img src ="http://www.shnenglu.com/qinqing1984/aggbug/230353.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/qinqing1984/" target="_blank">春秋十二?/a> 2024-05-16 13:41 <a href="http://www.shnenglu.com/qinqing1984/archive/2024/05/16/230353.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>单连分数dRSA的P代次数分?/title><link>http://www.shnenglu.com/qinqing1984/archive/2024/04/04/230326.html</link><dc:creator>春秋十二?/dc:creator><author>春秋十二?/author><pubDate>Thu, 04 Apr 2024 10:19:00 GMT</pubDate><guid>http://www.shnenglu.com/qinqing1984/archive/2024/04/04/230326.html</guid><wfw:comment>http://www.shnenglu.com/qinqing1984/comments/230326.html</wfw:comment><comments>http://www.shnenglu.com/qinqing1984/archive/2024/04/04/230326.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/qinqing1984/comments/commentRss/230326.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/qinqing1984/services/trackbacks/230326.html</trackback:ping><description><![CDATA[<strong style="font-size: 12pt;">【适用前提?/strong>大整数N=pq的素因子p<q<2pQ解密指数d<(1/3)N<sup>1/4<br /> <br /> </sup> <strong style="font-size: 12pt;">【攻?yn)L法?/strong>  <br />     1Q用Ƨ几里得法计算e/N的各个渐q分数k<sub>i</sub>/d<sub>i</sub>Qi>=1Q直至d<sub>i>=</sub>(1/3)N<sup>1/4</sup>Q记录此时的i为m。o(h)i=1   <br />     2Q计T=(e*d<sub>i</sub>-1)/k<sub>i</sub>Q若T不ؓ(f)整数则{?Q,否则转到3Q?nbsp; <br />     3Q解方程f(x)=x<sup>2</sup>-(N-T+1)x+N=0的根Q如果有正整数根且两个根皆小于NQ则输出p、qQƈq回成功。否则{?Q?nbsp; <br />     4Q递增iQ若i<m则{?Q,否则q回p|<br />    该方法即<strong>Wiener法</strong>用到了关于连分数的一?strong>定理Q?/strong><span style="color: #ff6600;">?/span><span style="color: #ff6600; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff;">α</span><span style="color: #ff6600;">ZQ一实数Q有理数p/q适合|</span><span style="color: #ff6600; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff;">α</span><span style="color: #ff6600;">-(p/q)|<1/(2q</span><sup style="color: #ff6600;">2</sup><span style="color: #ff6600;">)Q则p/q必ؓ(f)</span><span style="color: #ff6600; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff;">α</span><span style="color: #ff6600;">的某一渐近分数</span>。证明详见参考文献[2]?br />    由定理可知攻?yn)L法是可行的,必能扑ֈ使f(x)=0有合理解的某渐近分数。下面证明:(x)dq代ơ数的上界ؓ(f)<img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/continuedfraction-attack-rsa-iteration-upperbound.png" width="72" height="43" alt="" /><br /> <br /> <strong style="font-size: 12pt;">【证明?br />     <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/continuedfraction-attack-rsa-iteration-proof.png" width="466" height="508" alt="" /><br /> <br /> <br /> </strong> <strong style="font-size: 12pt;">【例子?/strong>N = 9449868410449Qe = 6792605526025Qd<(1/3)N<sup>1/4</sup>≈584Q试分解N<br />     <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/continuedfraction-attack-rsa-example.png" alt="" /><br /> <br /> <strong style="font-size: 12pt;">参考文?/strong> <br />     [1] 公钥密码学的数学基础  王小云、王明强、孟宪萌<br />     [2] 法数论                   裴定一、祝跃飞<img src ="http://www.shnenglu.com/qinqing1984/aggbug/230326.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/qinqing1984/" target="_blank">春秋十二?/a> 2024-04-04 18:19 <a href="http://www.shnenglu.com/qinqing1984/archive/2024/04/04/230326.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>有限循环的l构?qing)生成元的判?/title><link>http://www.shnenglu.com/qinqing1984/archive/2024/03/20/230315.html</link><dc:creator>春秋十二?/dc:creator><author>春秋十二?/author><pubDate>Wed, 20 Mar 2024 14:49:00 GMT</pubDate><guid>http://www.shnenglu.com/qinqing1984/archive/2024/03/20/230315.html</guid><wfw:comment>http://www.shnenglu.com/qinqing1984/comments/230315.html</wfw:comment><comments>http://www.shnenglu.com/qinqing1984/archive/2024/03/20/230315.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/qinqing1984/comments/commentRss/230315.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/qinqing1984/services/trackbacks/230315.html</trackback:ping><description><![CDATA[<span style="font-size: 12pt;"><strong>结?/strong></span> <strong> <br />   定理1</strong>Q若GZ个@环群Q则G内每个满ord(<span style="color: #4b4b4b; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff;">α</span>)=s的元?span style="color: #4b4b4b; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff;">α</span>都是拥有s个元素的循环子群的生成元<br />   <strong>证明</strong>Q?br />       <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/finite-cyclic-group-theorem1.PNG" alt="" /> <br /> <br />   <strong>定理2</strong>Q若GZ个阶为n的有限@环群Qg为对应的生成元,则对整除n的每个整数kQG都存在一个唯一的阶为k的@环子H?br />     q个子群是由g<sup>n/k</sup>生成的。H是由G内满x?span style="color: #4b4b4b; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; background-color: #ffffff;">α</span><sup>k</sup>=1的元素组成的Q且G不存在其它子?br /> <strong>  证明</strong>Q?br />       <strong><img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/finite-cyclic-group-theorem2.PNG" alt="" /><br /> <br /> </strong>  <strong>推论</strong>Q从上述两定理可知有限@环群、子及(qing)生成元的关系如下<br />       <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/finite-cyclic-group-deduction.PNG" alt="" /><br />   <strong>例子</strong>Q依据上q推论得如下<br />       <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/finite-cyclic-group-example.PNG" alt="" /><br /> <br /> <span style="font-size: 12pt;"><strong>生成元判定算?br /> </strong></span>   输入Q@环群G、某子群的阶k   <br />     1Q若k=1Q则直接输出e。否则{?Q?br />     2Q随ZG-{e}中选择一元素x<br />     3Q若x<sup>k</sup>≠eQ则转回2Q。否则若k为素敎ͼ则蟩?Q;若k为合敎ͼ则{?Q?   <br />     4Q遍历整除k的真因子dQ若x<sup>d</sup>=eQ则转回2Q?    <br />     5Q输出x<img src ="http://www.shnenglu.com/qinqing1984/aggbug/230315.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/qinqing1984/" target="_blank">春秋十二?/a> 2024-03-20 22:49 <a href="http://www.shnenglu.com/qinqing1984/archive/2024/03/20/230315.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>混合U性同余发生器的引理验?/title><link>http://www.shnenglu.com/qinqing1984/archive/2024/03/12/230308.html</link><dc:creator>春秋十二?/dc:creator><author>春秋十二?/author><pubDate>Tue, 12 Mar 2024 09:30:00 GMT</pubDate><guid>http://www.shnenglu.com/qinqing1984/archive/2024/03/12/230308.html</guid><wfw:comment>http://www.shnenglu.com/qinqing1984/comments/230308.html</wfw:comment><comments>http://www.shnenglu.com/qinqing1984/archive/2024/03/12/230308.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/qinqing1984/comments/commentRss/230308.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/qinqing1984/services/trackbacks/230308.html</trackback:ping><description><![CDATA[<strong style="font-size: 12pt;">混合U性同余发生器QMLCGQ?  </strong>    <br />       X<sub>n</sub> ≡ αX<sub>n-1</sub> + c mod m    0<X<sub style="font-size: 7pt;">0</sub>, α, c<mQX<sub style="font-size: 7pt;">0</sub>为种子,n=1??...<br /> <br /> <strong style="font-size: 12pt;">定理</strong> 如果下列3个条仉满Q则 MLCG辑ֈ满周?卛_期d=m) <br />      (1) (c, m)=1Q即 c、m互素<br />      (2) ?m的Q一素因子pQ有α≡1 mod p<br />      (3) 如果4|mQ则 α≡1 mod 4 <br />   该定理的证明?span><em>参考文献[2]</em></span>中证明ƈ用到如下两个引理Q?br /> <strong>  引理5</strong> <span style="color: #ff6600;">设p为素敎ͼα∈Z</span><sup style="color: #ff6600;">+</sup><span style="color: #ff6600;">且p</span><sup style="color: #ff6600;">α</sup><span style="font-family: Verdana; color: #ff6600;">>2Q如?x=1(mod p</span><sup style="color: #ff6600;">α</sup><span style="font-family: Verdana; color: #ff6600;">)Qx≠1(mod p</span><sup style="color: #ff6600;">α</sup><span style="font-family: Verdana; color: #ff6600;"><sup>+1</sup>)Q则x<sup>p</sup>=1(mod p</span><sup style="color: #ff6600;">α</sup><span style="font-family: Verdana; color: #ff6600;"><sup>+1</sup>)Q?x<sup>p</sup>≠1(mod p</span><sup style="color: #ff6600;">α</sup><span style="font-family: Verdana; color: #ff6600;"><sup>+2</sup>)</span><br />     该引理给Z求一个整数的阶的判别Ҏ(gu)Q是理解MLCG周期{于m的充要条件之关键?br />     本文阐述Z么p是x<sup>p</sup>=1(mod p<sup>α+1</sup>)成立的最正整数Q以?qing)一般情形m=p<sup>w</sup>(w≥1)是x<sup>m</sup>=1(mod p<sup>α+w</sup>)成立的最正整数Qؓ(f)什么前提条件是p<sup>α</sup>>2?br /> <br />     ◆ 先论证不存在一个整?≤b<p使得x<sup>b</sup>=1(mod p<sup>α+1</sup>)成立<br />        <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/mlcg-one-lemma-proof-spec-case.png" alt="" /><br />     ◆ 再证不存在一个整?≤b<m使得x<sup>b</sup>=1 (mod p<sup>α+w</sup>)成立<br />        <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/mlcg-one-lemma-proof-general.png" alt="" /><br /> <div><strong style="font-size: 12pt;">    <br /> </strong>     ◆ Z么前提条件是p<sup>α</sup>>2<br /> <strong style="font-size: 12pt;">       </strong>如果p<sup>α</sup>=2Qx=1(mod 2)且x≠1(mod 2<sup>2</sup>)。o(h)x=1+2qQ? ∤ q。有x<sup>2</sup>=(1+2q)<sup>2</sup>=1+4q+4q<sup>2</sup>Q注意到q是奇敎ͼ则x<sup>2</sup>=1(mod2<sup>2</sup>)Qx<sup>2</sup>=1(mod2<sup>3</sup>)。故得不到引理的l论<br /> <br />   <strong>引理6</strong><span style="color: #ff6600;">Q改写的{h(hun)形式Q?如果 </span><span style="font-size: 11.6667px; color: #ff6600;">α</span><span style="color: #ff6600;">=1(mod 4)Q则(</span><span style="font-size: 11.6667px; color: #ff6600;">α</span><sup style="color: #ff6600;">m</sup><span style="color: #ff6600;"> - 1)/(</span><span style="font-size: 11.6667px; color: #ff6600;">α</span><span style="color: #ff6600;"> - 1)=0(mod m) Qm=2</span><sup style="color: #ff6600;">w</sup><span style="color: #ff6600;">Qw>1</span></div>     其实q里?span style="font-size: 11.6667px;">α</span>=1(mod 2)?span style="font-size: 11.6667px;">α</span>≠1(mod 4)Q结Z是成立的。比如取<span style="font-size: 11.6667px;">α</span>=3Qm=16Q则 (3<sup>16</sup> -1)=81<sup>4</sup> -1=(-15)<sup>4</sup> -1=-15×-7×-7 -1=-15×-15 -1=9×-7 -1=0(mod 32)Q?br />     ?3<sup>16</sup> -1)/(3-1)=0(mod 16)。但只有?span style="font-size: 11.6667px;">α</span>=1(mod 4)Ӟm才是使结论成立的最正整数。论证如? <br />         <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/mlcg-one-lemma-proof-prime-eq-2-case.png" width="406" height="215" alt="" /><br /><br /> <strong style="font-size: 12pt;"> 参考文?/strong>     <br />     [1] C密码学第4?杨L     <br />     [2] 混合U性同余发生器的周期分?张广强、张彩<img src ="http://www.shnenglu.com/qinqing1984/aggbug/230308.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/qinqing1984/" target="_blank">春秋十二?/a> 2024-03-12 17:30 <a href="http://www.shnenglu.com/qinqing1984/archive/2024/03/12/230308.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Blum数的基本定理?qing)应?/title><link>http://www.shnenglu.com/qinqing1984/archive/2024/02/25/230288.html</link><dc:creator>春秋十二?/dc:creator><author>春秋十二?/author><pubDate>Sun, 25 Feb 2024 15:29:00 GMT</pubDate><guid>http://www.shnenglu.com/qinqing1984/archive/2024/02/25/230288.html</guid><wfw:comment>http://www.shnenglu.com/qinqing1984/comments/230288.html</wfw:comment><comments>http://www.shnenglu.com/qinqing1984/archive/2024/02/25/230288.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/qinqing1984/comments/commentRss/230288.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/qinqing1984/services/trackbacks/230288.html</trackback:ping><description><![CDATA[<strong style="font-size: 12pt;">【定义?/strong>设整数N=P×QQP与Q皆ؓ(f)素数Q如果P≡Q≡3 (mod4)Q则NZ个BlumQ布卢姆Q数<br /> <br /> <strong> </strong><strong style="font-size: 12pt;">【定理?/strong>设N为Blum敎ͼN ∤ dQ若同余方程x<sup>2</sup>≡d (mod N)有解Q则d的^Ҏ(gu)中有一半的JacobiW号?Q另一半JacobiW号?1Q且仅有一个^Ҏ(gu)为模N的二ơ剩?br />     <strong>证明Q?/strong><br />     <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/proof-blum-integer-property.png" alt="" /><br /> <br /> <strong style="font-size: 12pt;">【推论?/strong>设N为Blum敎ͼN=P×QQo(h)<br />     <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/blum-integer-property-deduction.png" alt="" /><br />    <strong>证明Q?/strong><br />     <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/proof-blum-integer-algebraic-structure.png" alt="" /><br /> <br /> <span style="font-size: 12pt;">?strong>例子</strong>?/span>由定义知N=21=3×7为Blum敎ͼ则相关乘法群、二ơ剩余子、Jacobi集合如下<br />    <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/blum-integer-example.png" alt="" /> <strong style="font-size: 12pt;"><br /> <br /> <br /> 【应用一?/strong><span style="font-size: 12pt;">Blum-Goldwasser公钥加密</span><br />       <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/blum-goldwasser-public-key-encrypt.PNG" width="488" height="418" alt="" /><br />     解密正确性是因ؓ(f)步骤1用到?span style="color: #993366;"><strong>Ƨ拉定理</strong></span>?qing)求qx根的如下法Q步?用到?strong style="color: #ff6600;">中国剩余定理<br /> <br />        <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/extract-square-root-fast-algorithm.PNG" width="486" height="328" alt="" /><br /> </strong>       从上可得x=s<sup>(P+1)/4</sup> mod P或x=P-s<sup>(P+1)/4</sup> mod PQ因(-1)<sup>(P-1)/2</sup>{于-1 mod PQ故前者ؓ(f)模P的二ơ剩余。从加密程可知{s<sub>1</sub>,s<sub>2</sub>,...,s<sub>n+1</sub>}正是模N二次剩余cȝ子集?br />     所以从密文中r=s<sub>n+1</sub>求它?p+1)/4ơ幂?q+1)/4ơ幂QP代nơ就得到了s<sub>1</sub>模p的解、s<sub>1</sub>模q的解Q又因p、q、n在P代中不变Q故用欧拉定理预计算d<sub>p</sub> mod (p-1)、d<sub>q</sub> mod (q-1)?br />     另一U(不太高效而直接的Q解密如?br />        <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/blum-goldwasser-public-key-decrypt.PNG" width="485" height="130" alt="" /><br />     另加密与明文异或的那部分实际是伪随机比特发生器,因ؓ(f)qx模N构成二次剩余cM的单向陷门置换,其最低有效位是核心断aQ故从s<sub>i+1</sub>求出lsb(s<sub>i</sub>)是不可行的。简单证明如?br />        <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/proof-trapdoor-oneway-permutation-hardqcore-predicate.png" alt="" /><br />       ׃均匀选择一个种子s<sub>0</sub>Q所以ؓ(f)概率加密Q进而由可证明安全定理(每个概率公钥加密都是多项式安全的Q及(qing)每个多项式安全的公钥加密都是语义安全的)知满?span style="color: #ff00ff;">IND-CPA</span>安全?br />     易知<span style="color: #ff00ff;">IND-CCA2</span>安全性是不满的Q因为敌手可用如下攻?yn)L法获取明文:(x)已知目标密文<span style="background-color: #ffffff;">C=(r, m⊕σ</span><sub style="background-color: #ffffff;">1</sub><span style="background-color: #ffffff;">σ</span><sub style="background-color: #ffffff;">2</sub><span style="font-family: 微Y雅黑; background-color: #ffffff;">⋯</span><span style="background-color: #ffffff;">σ</span><sub style="background-color: #ffffff;">n</sub><span style="background-color: #ffffff;">)Q构造新密文C’=(r, m’⊕m⊕σ</span><sub style="background-color: #ffffff;">1</sub><span style="background-color: #ffffff;">σ</span><sub style="background-color: #ffffff;">2</sub><span style="font-family: 微Y雅黑; background-color: #ffffff;">⋯</span><span style="background-color: #ffffff;">σ</span><sub style="background-color: #ffffff;">n</sub><span style="background-color: #ffffff;">)Q将C’发给解密预言机得到m’’Q则m=m’’⊕m’</span>?<br />     ׃加密产生的r?#963;<sub>1</sub>σ<sub>2</sub><span style="font-family: 微Y雅黑; font-size: 10.5pt;">⋯</span>σ<sub>n</sub>都是伪随机的Q所以密?r, x⊕σ<sub>1</sub>σ<sub>2</sub><span style="font-family: 微Y雅黑;">⋯</span>σ<sub>n</sub>)的分布是伪随机的Q在目标密文前的解密询问?x)得到若q密文与明文对,无论怎么构造一Ҏ(gu)文,任选其一加密得到的密文都不可区分。因?span style="color: #ff00ff;">IND-CCA1</span>安全性是满?br /> <br /> <strong style="font-size: 12pt;">【应用二?/strong><span style="font-size: 12pt;">无爪函数/|换构?/span><br />       <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/claw-free-function-permute.PNG" width="491" height="333" alt="" /><br />       <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/claw-free-function-permute2.PNG" width="490" height="460" alt="" /><br />     如上构造用到Blum数的上述推论Q及(qing)Z大整数因子分解的困难假设。这里主要解释下Z么由两个JacobiW号不同的^Ҏ(gu)可计大整数的素因子<br />       <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/proof-blum-square-root-calculate-factor.png" alt="" /><br /> <br /> <strong style="font-size: 12pt;">【应用三?/strong><span style="font-size: 12pt;">伪随机数发生?/span> <br />                 <strong>X<sub>n+1</sub>=X<sub>n</sub><sup>2</sup> mod N</strong>      n=0??...QX<sub>0</sub>为种? <br />      昄U子不ؓ(f)1。若Z个非二次剩余Q则从X<sub>1</sub>开始就Zơ剩余子的元素Q但最后必回到X<sub>1</sub>而非X<sub>0Q?/sub>若ؓ(f)二次剩余Q则Z安全需要考究随机数数列的周期是否整周期(二次剩余子群的大减1Q?br />   下面具体分析周期。先举例几个很小的Blum?br />       <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/blum-pseudorandom-generator-example.png" alt="" /><br />      从上面例子可以发玎ͼ׃ơ剩余子构成的随机数数列不一定是整周期的Q对于N=33无论U子怎么选,都是整周?Q对于N=57若种子?8?则周期ؓ(f)2Q选其它则??br />   现在一般化考虑Q什么情况下才生整周期Q论证如?br />       <img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/blum-pseudorandom-generator-period-analyse.png" alt="" /> <img src ="http://www.shnenglu.com/qinqing1984/aggbug/230288.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/qinqing1984/" target="_blank">春秋十二?/a> 2024-02-25 23:29 <a href="http://www.shnenglu.com/qinqing1984/archive/2024/02/25/230288.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一个积分攻d理的证明http://www.shnenglu.com/qinqing1984/archive/2023/12/16/230233.html春秋十二?/dc:creator>春秋十二?/author>Sat, 16 Dec 2023 13:49:00 GMThttp://www.shnenglu.com/qinqing1984/archive/2023/12/16/230233.htmlhttp://www.shnenglu.com/qinqing1984/comments/230233.htmlhttp://www.shnenglu.com/qinqing1984/archive/2023/12/16/230233.html#Feedback0http://www.shnenglu.com/qinqing1984/comments/commentRss/230233.htmlhttp://www.shnenglu.com/qinqing1984/services/trackbacks/230233.html【定理?/span>讑֤式Q其中q是某个素数的方幂QFq为有限域Q?/span>?nbsp;   

           

?img src="http://www.shnenglu.com/images/cppblog_com/qinqing1984/cryptanalysis_jifengongji_5.png" width="36" height="22" alt="" />是置换多式Q则


【证明?/span>

         



]]>
谈对称加密法的Y件实?/title><link>http://www.shnenglu.com/qinqing1984/archive/2023/11/09/230172.html</link><dc:creator>春秋十二?/dc:creator><author>春秋十二?/author><pubDate>Thu, 09 Nov 2023 08:39:00 GMT</pubDate><guid>http://www.shnenglu.com/qinqing1984/archive/2023/11/09/230172.html</guid><wfw:comment>http://www.shnenglu.com/qinqing1984/comments/230172.html</wfw:comment><comments>http://www.shnenglu.com/qinqing1984/archive/2023/11/09/230172.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/qinqing1984/comments/commentRss/230172.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/qinqing1984/services/trackbacks/230172.html</trackback:ping><description><![CDATA[谈两个问题:(x)<span style="color: #ff0000;">高性能与安全?/span><br /> <br /> <strong>先谈高性能</strong>Q这里指代码实现层面Q非数学优化层面Q,使用寄存器优化,即主密钥/轮密钥、敏感数据比如中?临时变量必须存于寄存器,明文/密文攑֜内存Q若有够用的寄存器则攑֯存器Q,d钥用Ҏ(gu)寄存器(为支持长期存储,比如调试寄存器、MSR寄存器)Q轮密钥和敏感数据用通用寄存器。那么怎么做?E_快捷的方法是用汇~或内联汇编Q手工编排寄存器x建密钥与敏感数据到寄存器集合的映,若用普通的汇编指o(h)Q则寄存器的映射比较自由Q若用专用的加密指o(h)Q则映射相对受限。如果用高语言比如c/c++开发,问题在于<span style="color: &366ff;"><strong>register</strong></span>关键字非强制生效Q即使强制的Q编译器优化Q比如公共子表达式消除)产生的中间变量及(qing)寄存器分配策略不完全可控Q需要修改编译器比如<strong>LLVM</strong>强制某些变量必须分配(特定?寄存器,为通用性要从编E语a语法属性到目标机器代码生成都改动支持,q个Ҏ(gu)实现成本有点大。下面是摘自LLVM X86RegisterInfo.td的部分寄存器<div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #08080; ">  1</span> <span style="color: #08000; ">//</span><span style="color: #08000; "> 32-bit registers</span><span style="color: #08000; "><br /> </span><span style="color: #08080; ">  2</span> <span style="color: #08000; "></span>let SubRegIndices = [sub_16bit, sub_16bit_hi], CoveredBySubRegs = 1 <span style="color: #000FF; ">in</span> {<br /> <span style="color: #08080; ">  3</span> def EAX : X86Reg<"eax", 0, [AX, HAX]>, DwarfRegNum<[-2, 0, 0]>;<br /> <span style="color: #08080; ">  4</span> def EDX : X86Reg<"edx", 2, [DX, HDX]>, DwarfRegNum<[-2, 2, 2]>;<br /> <span style="color: #08080; ">  5</span> def ECX : X86Reg<"ecx", 1, [CX, HCX]>, DwarfRegNum<[-2, 1, 1]>;<br /> <span style="color: #08080; ">  6</span> def EBX : X86Reg<"ebx", 3, [BX, HBX]>, DwarfRegNum<[-2, 3, 3]>;<br /> <span style="color: #08080; ">  7</span> def ESI : X86Reg<"esi", 6, [SI, HSI]>, DwarfRegNum<[-2, 6, 6]>;<br /> <span style="color: #08080; ">  8</span> def EDI : X86Reg<"edi", 7, [DI, HDI]>, DwarfRegNum<[-2, 7, 7]>;<br /> <span style="color: #08080; ">  9</span> def EBP : X86Reg<"ebp", 5, [BP, HBP]>, DwarfRegNum<[-2, 4, 5]>;<br /> <span style="color: #08080; "> 10</span> def ESP : X86Reg<"esp", 4, [SP, HSP]>, DwarfRegNum<[-2, 5, 4]>;<br /> <span style="color: #08080; "> 11</span> def EIP : X86Reg<"eip", 0, [IP, HIP]>, DwarfRegNum<[-2, 8, 8]>;<br /> <span style="color: #08080; "> 12</span> }<br /> <span style="color: #08080; "> 13</span> <br /> <span style="color: #08080; "> 14</span> <span style="color: #08000; ">//</span><span style="color: #08000; "> X86-64 only, requires REX</span><span style="color: #08000; "><br /> </span><span style="color: #08080; "> 15</span> <span style="color: #08000; "></span>let SubRegIndices = [sub_16bit, sub_16bit_hi], CoveredBySubRegs = 1 <span style="color: #000FF; ">in</span> {<br /> <span style="color: #08080; "> 16</span> def R8D  : X86Reg<"r8d",   8, [R8W,R8WH]>;<br /> <span style="color: #08080; "> 17</span> def R9D  : X86Reg<"r9d",   9, [R9W,R9WH]>;<br /> <span style="color: #08080; "> 18</span> def R10D : X86Reg<"r10d", 10, [R10W,R10WH]>;<br /> <span style="color: #08080; "> 19</span> def R11D : X86Reg<"r11d", 11, [R11W,R11WH]>;<br /> <span style="color: #08080; "> 20</span> def R12D : X86Reg<"r12d", 12, [R12W,R12WH]>;<br /> <span style="color: #08080; "> 21</span> def R13D : X86Reg<"r13d", 13, [R13W,R13WH]>;<br /> <span style="color: #08080; "> 22</span> def R14D : X86Reg<"r14d", 14, [R14W,R14WH]>;<br /> <span style="color: #08080; "> 23</span> def R15D : X86Reg<"r15d", 15, [R15W,R15WH]>;<br /> <span style="color: #08080; "> 24</span> }<br /> <span style="color: #08080; "> 25</span> <br /> <span style="color: #08080; "> 26</span> <span style="color: #08000; ">//</span><span style="color: #08000; "> 64-bit registers, X86-64 only</span><span style="color: #08000; "><br /> </span><span style="color: #08080; "> 27</span> <span style="color: #08000; "></span>let SubRegIndices = [sub_32bit] <span style="color: #000FF; ">in</span> {<br /> <span style="color: #08080; "> 28</span> def RAX : X86Reg<"rax", 0, [EAX]>, DwarfRegNum<[0, -2, -2]>;<br /> <span style="color: #08080; "> 29</span> def RDX : X86Reg<"rdx", 2, [EDX]>, DwarfRegNum<[1, -2, -2]>;<br /> <span style="color: #08080; "> 30</span> def RCX : X86Reg<"rcx", 1, [ECX]>, DwarfRegNum<[2, -2, -2]>;<br /> <span style="color: #08080; "> 31</span> def RBX : X86Reg<"rbx", 3, [EBX]>, DwarfRegNum<[3, -2, -2]>;<br /> <span style="color: #08080; "> 32</span> def RSI : X86Reg<"rsi", 6, [ESI]>, DwarfRegNum<[4, -2, -2]>;<br /> <span style="color: #08080; "> 33</span> def RDI : X86Reg<"rdi", 7, [EDI]>, DwarfRegNum<[5, -2, -2]>;<br /> <span style="color: #08080; "> 34</span> def RBP : X86Reg<"rbp", 5, [EBP]>, DwarfRegNum<[6, -2, -2]>;<br /> <span style="color: #08080; "> 35</span> def RSP : X86Reg<"rsp", 4, [ESP]>, DwarfRegNum<[7, -2, -2]>;<br /> <span style="color: #08080; "> 36</span> <br /> <span style="color: #08080; "> 37</span> <span style="color: #08000; ">//</span><span style="color: #08000; "> These also require REX.</span><span style="color: #08000; "><br /> </span><span style="color: #08080; "> 38</span> <span style="color: #08000; "></span>def R8  : X86Reg<"r8",   8, [R8D]>,  DwarfRegNum<[ 8, -2, -2]>;<br /> <span style="color: #08080; "> 39</span> def R9  : X86Reg<"r9",   9, [R9D]>,  DwarfRegNum<[ 9, -2, -2]>;<br /> <span style="color: #08080; "> 40</span> def R10 : X86Reg<"r10", 10, [R10D]>, DwarfRegNum<[10, -2, -2]>;<br /> <span style="color: #08080; "> 41</span> def R11 : X86Reg<"r11", 11, [R11D]>, DwarfRegNum<[11, -2, -2]>;<br /> <span style="color: #08080; "> 42</span> def R12 : X86Reg<"r12", 12, [R12D]>, DwarfRegNum<[12, -2, -2]>;<br /> <span style="color: #08080; "> 43</span> def R13 : X86Reg<"r13", 13, [R13D]>, DwarfRegNum<[13, -2, -2]>;<br /> <span style="color: #08080; "> 44</span> def R14 : X86Reg<"r14", 14, [R14D]>, DwarfRegNum<[14, -2, -2]>;<br /> <span style="color: #08080; "> 45</span> def R15 : X86Reg<"r15", 15, [R15D]>, DwarfRegNum<[15, -2, -2]>;<br /> <span style="color: #08080; "> 46</span> def RIP : X86Reg<"rip",  0, [EIP]>,  DwarfRegNum<[16, -2, -2]>;<br /> <span style="color: #08080; "> 47</span> }<br /> <span style="color: #08080; "> 48</span> <img src="http://www.shnenglu.com/Images/dot.gif" alt="" /><img src="http://www.shnenglu.com/Images/dot.gif" alt="" /><br /> <span style="color: #08080; "> 49</span> <span style="color: #08000; ">//</span><span style="color: #08000; "> XMM Registers, used by the various SSE instruction set extensions.</span><span style="color: #08000; "><br /> </span><span style="color: #08080; "> 50</span> <span style="color: #08000; "></span>def XMM0: X86Reg<"xmm0", 0>, DwarfRegNum<[17, 21, 21]>;<br /> <span style="color: #08080; "> 51</span> def XMM1: X86Reg<"xmm1", 1>, DwarfRegNum<[18, 22, 22]>;<br /> <span style="color: #08080; "> 52</span> def XMM2: X86Reg<"xmm2", 2>, DwarfRegNum<[19, 23, 23]>;<br /> <span style="color: #08080; "> 53</span> def XMM3: X86Reg<"xmm3", 3>, DwarfRegNum<[20, 24, 24]>;<br /> <span style="color: #08080; "> 54</span> def XMM4: X86Reg<"xmm4", 4>, DwarfRegNum<[21, 25, 25]>;<br /> <span style="color: #08080; "> 55</span> def XMM5: X86Reg<"xmm5", 5>, DwarfRegNum<[22, 26, 26]>;<br /> <span style="color: #08080; "> 56</span> def XMM6: X86Reg<"xmm6", 6>, DwarfRegNum<[23, 27, 27]>;<br /> <span style="color: #08080; "> 57</span> def XMM7: X86Reg<"xmm7", 7>, DwarfRegNum<[24, 28, 28]>;<br /> <span style="color: #08080; "> 58</span> <br /> <span style="color: #08080; "> 59</span> <span style="color: #08000; ">//</span><span style="color: #08000; "> X86-64 only</span><span style="color: #08000; "><br /> </span><span style="color: #08080; "> 60</span> <span style="color: #08000; "></span>def XMM8:  X86Reg<"xmm8",   8>, DwarfRegNum<[25, -2, -2]>;<br /> <span style="color: #08080; "> 61</span> def XMM9:  X86Reg<"xmm9",   9>, DwarfRegNum<[26, -2, -2]>;<br /> <span style="color: #08080; "> 62</span> def XMM10: X86Reg<"xmm10", 10>, DwarfRegNum<[27, -2, -2]>;<br /> <span style="color: #08080; "> 63</span> def XMM11: X86Reg<"xmm11", 11>, DwarfRegNum<[28, -2, -2]>;<br /> <span style="color: #08080; "> 64</span> def XMM12: X86Reg<"xmm12", 12>, DwarfRegNum<[29, -2, -2]>;<br /> <span style="color: #08080; "> 65</span> def XMM13: X86Reg<"xmm13", 13>, DwarfRegNum<[30, -2, -2]>;<br /> <span style="color: #08080; "> 66</span> def XMM14: X86Reg<"xmm14", 14>, DwarfRegNum<[31, -2, -2]>;<br /> <span style="color: #08080; "> 67</span> def XMM15: X86Reg<"xmm15", 15>, DwarfRegNum<[32, -2, -2]>;<br /> <span style="color: #08080; "> 68</span> <br /> <span style="color: #08080; "> 69</span> def XMM16:  X86Reg<"xmm16", 16>, DwarfRegNum<[67, -2, -2]>;<br /> <span style="color: #08080; "> 70</span> def XMM17:  X86Reg<"xmm17", 17>, DwarfRegNum<[68, -2, -2]>;<br /> <span style="color: #08080; "> 71</span> def XMM18:  X86Reg<"xmm18", 18>, DwarfRegNum<[69, -2, -2]>;<br /> <span style="color: #08080; "> 72</span> def XMM19:  X86Reg<"xmm19", 19>, DwarfRegNum<[70, -2, -2]>;<br /> <span style="color: #08080; "> 73</span> def XMM20:  X86Reg<"xmm20", 20>, DwarfRegNum<[71, -2, -2]>;<br /> <span style="color: #08080; "> 74</span> def XMM21:  X86Reg<"xmm21", 21>, DwarfRegNum<[72, -2, -2]>;<br /> <span style="color: #08080; "> 75</span> def XMM22:  X86Reg<"xmm22", 22>, DwarfRegNum<[73, -2, -2]>;<br /> <span style="color: #08080; "> 76</span> def XMM23:  X86Reg<"xmm23", 23>, DwarfRegNum<[74, -2, -2]>;<br /> <span style="color: #08080; "> 77</span> def XMM24:  X86Reg<"xmm24", 24>, DwarfRegNum<[75, -2, -2]>;<br /> <span style="color: #08080; "> 78</span> def XMM25:  X86Reg<"xmm25", 25>, DwarfRegNum<[76, -2, -2]>;<br /> <span style="color: #08080; "> 79</span> def XMM26:  X86Reg<"xmm26", 26>, DwarfRegNum<[77, -2, -2]>;<br /> <span style="color: #08080; "> 80</span> def XMM27:  X86Reg<"xmm27", 27>, DwarfRegNum<[78, -2, -2]>;<br /> <span style="color: #08080; "> 81</span> def XMM28:  X86Reg<"xmm28", 28>, DwarfRegNum<[79, -2, -2]>;<br /> <span style="color: #08080; "> 82</span> def XMM29:  X86Reg<"xmm29", 29>, DwarfRegNum<[80, -2, -2]>;<br /> <span style="color: #08080; "> 83</span> def XMM30:  X86Reg<"xmm30", 30>, DwarfRegNum<[81, -2, -2]>;<br /> <span style="color: #08080; "> 84</span> def XMM31:  X86Reg<"xmm31", 31>, DwarfRegNum<[82, -2, -2]>;<br /> <span style="color: #08080; "> 85</span> <br /> <span style="color: #08080; "> 86</span> <span style="color: #08000; ">//</span><span style="color: #08000; "> YMM0-15 registers, used by AVX instructions and<br /> </span><span style="color: #08080; "> 87</span> <span style="color: #08000; "></span><span style="color: #08000; ">//</span><span style="color: #08000; "> YMM16-31 registers, used by AVX-512 instructions.</span><span style="color: #08000; "><br /> </span><span style="color: #08080; "> 88</span> <span style="color: #08000; "></span>let SubRegIndices = [sub_xmm] <span style="color: #000FF; ">in</span> {<br /> <span style="color: #08080; "> 89</span>   <span style="color: #000FF; ">foreach</span>  Index = 0-31 <span style="color: #000FF; ">in</span> {<br /> <span style="color: #08080; "> 90</span>     def YMM#Index : X86Reg<"ymm"#Index, Index, [!cast<X86Reg>("XMM"#Index)]>,<br /> <span style="color: #08080; "> 91</span>                     DwarfRegAlias<!cast<X86Reg>("XMM"#Index)>;<br /> <span style="color: #08080; "> 92</span>   }<br /> <span style="color: #08080; "> 93</span> }<br /> <span style="color: #08080; "> 94</span> <br /> <span style="color: #08080; "> 95</span> <span style="color: #08000; ">//</span><span style="color: #08000; "> ZMM Registers, used by AVX-512 instructions.</span><span style="color: #08000; "><br /> </span><span style="color: #08080; "> 96</span> <span style="color: #08000; "></span>let SubRegIndices = [sub_ymm] <span style="color: #000FF; ">in</span> {<br /> <span style="color: #08080; "> 97</span>   <span style="color: #000FF; ">foreach</span>  Index = 0-31 <span style="color: #000FF; ">in</span> {<br /> <span style="color: #08080; "> 98</span>     def ZMM#Index : X86Reg<"zmm"#Index, Index, [!cast<X86Reg>("YMM"#Index)]>,<br /> <span style="color: #08080; "> 99</span>                     DwarfRegAlias<!cast<X86Reg>("XMM"#Index)>;<br /> <span style="color: #08080; ">100</span>   }<br /> <span style="color: #08080; ">101</span> }<br /> <span style="color: #08080; ">102</span> <img src="http://www.shnenglu.com/Images/dot.gif" alt="" /><img src="http://www.shnenglu.com/Images/dot.gif" alt="" /><br /> <span style="color: #08080; ">103</span> <span style="color: #08000; ">//</span><span style="color: #08000; "> Debug registers</span><span style="color: #08000; "><br /> </span><span style="color: #08080; ">104</span> <span style="color: #08000; "></span>def DR0  : X86Reg<"dr0",   0>;<br /> <span style="color: #08080; ">105</span> def DR1  : X86Reg<"dr1",   1>;<br /> <span style="color: #08080; ">106</span> def DR2  : X86Reg<"dr2",   2>;<br /> <span style="color: #08080; ">107</span> def DR3  : X86Reg<"dr3",   3>;<br /> <span style="color: #08080; ">108</span> def DR4  : X86Reg<"dr4",   4>;<br /> <span style="color: #08080; ">109</span> def DR5  : X86Reg<"dr5",   5>;<br /> <span style="color: #08080; ">110</span> def DR6  : X86Reg<"dr6",   6>;<br /> <span style="color: #08080; ">111</span> def DR7  : X86Reg<"dr7",   7>;<br /> <span style="color: #08080; ">112</span> def DR8  : X86Reg<"dr8",   8>;<br /> <span style="color: #08080; ">113</span> def DR9  : X86Reg<"dr9",   9>;<br /> <span style="color: #08080; ">114</span> def DR10 : X86Reg<"dr10", 10>;<br /> <span style="color: #08080; ">115</span> def DR11 : X86Reg<"dr11", 11>;<br /> <span style="color: #08080; ">116</span> def DR12 : X86Reg<"dr12", 12>;<br /> <span style="color: #08080; ">117</span> def DR13 : X86Reg<"dr13", 13>;<br /> <span style="color: #08080; ">118</span> def DR14 : X86Reg<"dr14", 14>;<br /> <span style="color: #08080; ">119</span> def DR15 : X86Reg<"dr15", 15>;<br /> <span style="color: #08080; ">120</span> <img src="http://www.shnenglu.com/Images/dot.gif" alt="" /><img src="http://www.shnenglu.com/Images/dot.gif" alt="" /><br /> <span style="color: #08080; ">121</span> def GR32 : RegisterClass<"X86", [i32], 32,<br /> <span style="color: #08080; ">122</span>                          (add EAX, ECX, EDX, ESI, EDI, EBX, EBP, ESP,<br /> <span style="color: #08080; ">123</span>                               R8D, R9D, R10D, R11D, R14D, R15D, R12D, R13D)>;<br /> <span style="color: #08080; ">124</span> <br /> <span style="color: #08080; ">125</span> <span style="color: #08000; ">//</span><span style="color: #08000; "> GR64 - 64-bit GPRs. This oddly includes RIP, which isn't accurate, since<br /> </span><span style="color: #08080; ">126</span> <span style="color: #08000; "></span><span style="color: #08000; ">//</span><span style="color: #08000; "> RIP isn't really a register and it can't be used anywhere except in an<br /> </span><span style="color: #08080; ">127</span> <span style="color: #08000; "></span><span style="color: #08000; ">//</span><span style="color: #08000; "> address, but it doesn't cause trouble.<br /> </span><span style="color: #08080; ">128</span> <span style="color: #08000; "></span><span style="color: #08000; ">//</span><span style="color: #08000; "> FIXME: it *does* cause trouble - CheckBaseRegAndIndexReg() has extra<br /> </span><span style="color: #08080; ">129</span> <span style="color: #08000; "></span><span style="color: #08000; ">//</span><span style="color: #08000; "> tests because of the inclusion of RIP in this register class.</span><span style="color: #08000; "><br /> </span><span style="color: #08080; ">130</span> <span style="color: #08000; "></span>def GR64 : RegisterClass<"X86", [i64], 64,<br /> <span style="color: #08080; ">131</span>                          (add RAX, RCX, RDX, RSI, RDI, R8, R9, R10, R11,<br /> <span style="color: #08080; ">132</span>                               RBX, R14, R15, R12, R13, RBP, RSP, RIP)>;</div> <strong><br />再谈安全?/strong>Qؓ(f)保障安全复杂了Q由于密钥及(qing)敏感数据存于寄存器,首先要防止寄存器交换/拯到内存(为避免读取内存的冷启动攻凅R基于cache的侧信道dQ的一切可能因素,比如q程调度、由信号或异步中断引L(fng)处理器模式切换、系l休眠,如果在用h实现加解密Q就避免不了被调度或切换Q因为单怸不可能只q行加解密进E,所以得实现在内核态。这样一来就要在加解密中止抢占与中断,考虑到系l响应,止的粒度不能过大最ؓ(f)一个分l,分组加解密前止抢占与中断(比如调用linux内核接口<span style="color: #ff00ff;">preempt_disable</span>?span style="color: #ff00ff;">local_irq_save</span>Q,解除止Q比如调用linux内核接口<span style="color: #ff00ff;">preempt_enable</span>?span style="color: #ff00ff;">local_irq_restore</span>Q前必须清零寄存器。在pȝ休眠Ӟ止寄存器复制到内存Q休眠恢复时在所有用h进E恢复前执行密钥初始化,同理pȝ启动时的密钥初始化也得在用户态进E运行前执行。其ơ要防止其它用户态进E?内核U程/中断服务E序d寄存器尤其特权寄存器Qؓ(f)避免用户态或内核态rootkitQ,所以要修改内核Q过滤相关系l调用比如linux?span style="color: #ff6600;">ptrace</span>Q过滤相兛_核函数比如linux?span style="color: #ff6600;">native_set_debugreg</span>/<span style="color: #ff6600;">native_get_debugreg</span>。对于不可屏蔽的中断靠禁止是无效的,只能修改中断处理E序避免寄存器中的密钥数据被扩散到内存,比如在中断处理函数入口处清零相关寄存器。综上基于已知代码修改的防M不能防M恶意加蝲/修改代码之类的攻击,比如动态安装的内核模块/驱动Q但可有效防御冷启动d、只读DMAd、基于cache的侧信道d、用h权限的软gd、内核态的仅运行已有代码的软gd <img src ="http://www.shnenglu.com/qinqing1984/aggbug/230172.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/qinqing1984/" target="_blank">春秋十二?/a> 2023-11-09 16:39 <a href="http://www.shnenglu.com/qinqing1984/archive/2023/11/09/230172.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>谈密码学几点安全性分?/title><link>http://www.shnenglu.com/qinqing1984/archive/2023/09/28/230110.html</link><dc:creator>春秋十二?/dc:creator><author>春秋十二?/author><pubDate>Thu, 28 Sep 2023 00:04:00 GMT</pubDate><guid>http://www.shnenglu.com/qinqing1984/archive/2023/09/28/230110.html</guid><wfw:comment>http://www.shnenglu.com/qinqing1984/comments/230110.html</wfw:comment><comments>http://www.shnenglu.com/qinqing1984/archive/2023/09/28/230110.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/qinqing1984/comments/commentRss/230110.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/qinqing1984/services/trackbacks/230110.html</trackback:ping><description><![CDATA[1. <strong>对于RSA</strong>Q给定大整数n分解的一对素因子p和qQp或q是否素数军_不了安全性,但决定算法的正确性,也就是说p或q不能为合敎ͼ而安全性取决于n的位数及(qing)p、q的距,n大则难于素因子分解Q因为素数测试是一个P问题Q而因子分解是一个NP问题Q其耗时是关于n的指敎ͼQ|p - q|要大是ؓ(f)抉|一U?span style="color: #ff00ff;">Ҏ(gu)因子分解d</span>Q论证如下:(x)?p+q)<sup>2</sup>/4 - n = (p+q)<sup>2</sup>/4 - pq = (p-q)<sup>2</sup>/4Q若|p - q|,?p-q)<sup>2</sup>/4也小Q因?p+q)<sup>2</sup>/4E大于nQ?p+q)/2E大于n<sup>1/2</sup>x号n。可得n的如下分解法Qa) 先顺序检查大于n<sup>1/2</sup>的每一整数xQ直xC个x使得x<sup>2</sup> - n是某一整数y的^方;b) 再由x<sup>2</sup> - n = y<sup>2</sup> ?n = (x+y)(x-y)。另外,p - 1和q - 1都应有大素因子(所有因子皆是大素数Q,以抵抗可能的<span style="color: #ff00ff;">重复加密d</span>Q重复加密较?yu)步后可恢复出明文?br /> <br /> 2. <strong>对于DH密钥交换</strong>Q通常选择阶ؓ(f)素数的有限@??,q时素数军_了安全性。因素数不能再因子分解,故避免了针对阶ؓ(f)合数的质因子分解且利用中国剩余定理求LҎ(gu)?已知最?d。具体讲是Z?span style="color: #ff6600;">index-calculus</span>Ҏ(gu)求解LҎ(gu)Q底层@环群G的素数模p要够大Q长?024位可实现80位安全等U,长度3072位可实现128位安全等U;另ؓ(f)了防<span style="color: #ff6600;">Pohlig-Hellman</span>dQG的阶p-1必须不能因式分解为全部都是小整数的素数因子,且ؓ(f)了p-1的每个因子构成的子群?span style="color: #ff6600;">baby-step giant-step</span>?span style="color: #ff6600;">Pollards's rho</span>dQ要求对80位安全等U而言Qp-1的最素因子必须臛_?60位,而对128位安全等U,其至ؓ(f)256?br /> <br />3. <strong>对于Hash函数</strong>Q安全性要求有三点Q第一是单向性,׃压羃函数理论上存在碰撞,因此单向性是指计不可行Qؓ(f)什么要单向性?因ؓ(f)若不单向Q则可从l果比如{֐逆出原文消息Q第二是抗弱冲突性即<span style="color: red;">W?cȝ日攻?/span>Q计不可行Q第三是抗强冲突性即<span style="color: red;">W?cȝ日攻?/span>Q计不可行。这三点要求Q取决于压羃函数是否能抗差分、线性等密码分析<br /><br />4. 周知<strong>Shamir门限Ҏ(gu)</strong>Z多项式的拉格朗日插值公式,普遍的设计采用GF(q)域上的多式Q秘密s为f(0)Qq是一个大于n的大素数Qn是s被分成的部分敎ͼ。正常来Ԍ参与者个数必至是设计时的kQ才能恢复出正确的s。如果个数少于k比如k-1Q则只能猜测s0=f(0)以构建第k个方E,那么恢复得到的多式g(x){同设计时的多项式f(x)的概率是1/q。因为g(x)的项pL可以看作关于s0的同余式即h(s0)=(a+b*s0)mod q的Ş式,因q为素敎ͼ故依模剩余系遍历定理Q当s0取GF(q)一值时Q则h(s0)唯一对应另一倹{所以h(s0){于f(0)的概率ؓ(f)1/q。由此可见,当q?0位以上,敌手d概率不大?/2<sup>80</sup>Q这已经很低了。这U门限方案如同RSA加密Q再ơ佐证了素数大安全性越?br /> <br />5. <strong>PGP</strong>是密码学l典应用Q体现在首先支持保密与认证业务的正交Q即独立或组合,且组合时按认证、压~、加密的序Q这个顺序是l考究有优势的Q其ơ会(x)话密钥是一ơ性的Q由安全伪随机数生成器生成,且按公钥加密Q最后用自研的密钥环与信Q|解军_钥管理问题。理论本质上QPGP提供的是一U保密认证业务的通用框架Q因为具体的对称加密法、随机数生成、公钥算法,都可依需要灵z选配扩展。PGP有两个问题跟l合与概率相养I一个是密钥环N个公钥中Q密钥ID(64?臛_有两个重复的概率Q设所求概率ؓ(f)pQ先Q意两个不重复的概率qQo(h)m=2<sup>64</sup>Q则q=m!/((m-N)!*m<sup>N</sup>)Q则p=1-qQ不隄出,N小则q大则p小Q因实际应用N<<mQ故p非常可忽略Q即PGP取公钥中最?4有效位作密钥IDQ是可行的。另一个是{֐摘要暴露了前16位明文,对哈希函数安全的影响有多大?q问题意思应该是敌手拿到消息后但没发送方的私钥作{֐Q只能穷丑֏换原消息q求哈希|使之与消息摘要剩余位l相{。这本质是求<span style="color: red;">两类生日d</span>撞概率大于0.5时所需的输入量。在仅认证模式中Q抗q撞计量降低为原来的1/2<sup>16</sup>Q抗强碰撞计量臛_降低为原来的1/2<sup>8</sup>。另外,考虑到这16位明文可能的Ҏ(gu)性,有没更快的代数攻击,需q一步研I?img src ="http://www.shnenglu.com/qinqing1984/aggbug/230110.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/qinqing1984/" target="_blank">春秋十二?/a> 2023-09-28 08:04 <a href="http://www.shnenglu.com/qinqing1984/archive/2023/09/28/230110.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>AES不可U多式http://www.shnenglu.com/qinqing1984/archive/2023/09/13/230080.html春秋十二?/dc:creator>春秋十二?/author>Tue, 12 Sep 2023 18:00:00 GMThttp://www.shnenglu.com/qinqing1984/archive/2023/09/13/230080.htmlhttp://www.shnenglu.com/qinqing1984/comments/230080.htmlhttp://www.shnenglu.com/qinqing1984/archive/2023/09/13/230080.html#Feedback0http://www.shnenglu.com/qinqing1984/comments/commentRss/230080.htmlhttp://www.shnenglu.com/qinqing1984/services/trackbacks/230080.html有理数域的本原多式与有限域的本原多式定义不同Q前者不要求不可U(由高斯引理知两个本原多项式的乘积q是本原Q,后者则必须不可U(保生成的有限域其每个元素有逆元Q。aesZ有限域F{0,1}设计Q故使用的模8ơ多式不可U?span style="color: #0000ff;">P(x)=x^8+x^4+x^3+x+1Q但不是本原多项式,因ؓ(f)它的阶是51而非255。有限域ơ数?的本原多式?6个、不可约多项式有30个(p比乌斯反演推出)Q具体多式影响s盒与列؜合操作的实现。不可约加之0的逆元规定?Q保证正加解密。若0的逆元规定为非0比如xQ则Dx有两个逆元Q便q反了逆元唯一性,除非s盒不用有限域设计。逆元{于其自w的?元素只有1Q原因可cL模素Cơ剩余的求解


]]>
ȝ数论中不定方E定理证明的l节验证http://www.shnenglu.com/qinqing1984/archive/2023/09/07/230066.html春秋十二?/dc:creator>春秋十二?/author>Wed, 06 Sep 2023 22:43:00 GMThttp://www.shnenglu.com/qinqing1984/archive/2023/09/07/230066.htmlhttp://www.shnenglu.com/qinqing1984/comments/230066.htmlhttp://www.shnenglu.com/qinqing1984/archive/2023/09/07/230066.html#Feedback0http://www.shnenglu.com/qinqing1984/comments/commentRss/230066.htmlhttp://www.shnenglu.com/qinqing1984/services/trackbacks/230066.html1. 整数r>s>0Q?r, s)=1Q?∤r+sQx=r^2-s^2, y=2rs, z=r^2+s^2Q求?x, y)=1Q?y, z)=1
​证明:(x)?∤r+sQr与s必一奇一Ӟ?∤r-sQ故2∤r^2-s^2Q以??r+s)(r+s)。又1=(r, s)=(r+s, r)=(r+s, s)=(r+s, rs)。同理得1=(r, s)=(r-s, rs)Q故1=((r+s)(r-s), rs)=(r^2-s^2, rs)Q又1=(2, r^2-s^2)Q故(r^2-s^2, 2rs)=1Q即(x, y)=1。?y, z)=(2rs, r^2+s^2)=(2rs, r^2+s^2+2rs)=(2rs, (r+s)(r+s))=(rs, (r+s)(r+s))=(rs, r+s)=(r, r+s)=(r, s)=1
​注Q用最大公U数定义、整除性质、反证法Q也可以得出(x, y)=1Q?y, z)=1。本法则直接从最大公U数定理推导

2. u^2+3v^2=2p不可能成立,u、v为整敎ͼp为奇素数
证明Qu^2+3v^2=2p => u^2+v^2=2(p-v^2) => ?|u^2+v^2=(u+v)^2-2uv => 2|(u+v)^2 => 2|u+v。得个中间结论,再由它可?|2(u+v)|2v(u+v)=2v^2+2uvQ以?|(u+v)^2=u^2+v^2+2uvQ故?|u^2+3v^2+4uvQ?|u^2+3v^2=2pQ即2|pQ所以矛盾,证毕

?. 若四个正整数y1*x2=y2*x1Q?x1,y1)=(x2,y2)=1Q则x1=x2Qy1=y2
​证明:(x)由y1*x2=y2*x1可得x1|y1*x2Q又?x1,y1)=1Q故x1|x2Q另得x2|y2*x1Q又?x2,y2)=1Q故x2|x1Q终得x1=x2Qy1=y2

4. 假设2∤zQz^3=x^2+3y^2有解且满?x, y)=1Q其通解形式为x=a^3-9ab^2Qy=3a^2b-3b^2Qa、b满z=a^2+3b^2Q求?-3/p)=1Qp是z的Q一素因子;(a, 3b)=1
证明Q先中间l论3∤zQp>3?p, xy)=1。若3|zQ则3|x^2+3y^2=>3|x^2=>3|x=>9|x^2Q另?|x^2+3y^2=>9|3y^2=>3|y^2=>3|yQ这?x, y)=1矛盾Q故3∤z。又2∤zQ得p>3Q由此若p|xQ则p|3y^2得p|yQ或若p|yQ则p|x^2得p|xQ都?x, y)=1矛盾Q故(p, xy)=1?/div>
再论证勒让dW号(-3/p)=1。由以上中间l论得等价Ş式x^2+3y^2=(Z^3p^2)pQ及(qing)p∤x^2、p∤y^2Q推?=(x^2/p)=(-3y^2/p)=(-3/p)?/div>
最后论?a, 3b)=1。假?|zQ则2|a^2+b^2=(a+b)^2-2ab?a-b)^2+2ab =>2|a+b, 2|a-b。因题设?∤zQ故2∤a+b, 2∤a-bQ由此推?∤a^2-b^2, 4∤a^2-b^2Q进?∤a^2-b^2Q即(8, a^2-b^2)=1。由1=(x, y)=(a^3-9ab^2, 3a^2b-3b^2)=(a(a^2-9b^2), 3b(a^2-b^2))。又(a^2-9b^2, a^2-b^2)=(8b^2, a^2-b^2)=(b^2, b^2-a^2)=(b^2, a^2)=(a, b)^2Q于是o(h)a^2-9b^2=(a, b)^2*A, a^2-b^2=(a, b)^2*BQ则?=(x, y)=(a, b)^2*(aA, 3bB)Q故(a, 3b)=1

5. 已知2∤u+wQ?∤uQ?u, w)=1Q求?2u, u^2+3w^2)=1
证明Q?∤u+w=>2∤u^2+w^2=>2∤u^2+3w^2Q即(2, u^2+3w^2)=1?/div>
?∤uQ?u, w)=1?u, 3w)=(u, 3w^2)=(u, u^2+3w^2)=1?/div>
lg两式l果?2u, u^2+3w^2)=1

6. 已知(3v, w)=1Q??v+wQ求?18v, 3v^2+w^2)=1
证明Q?3v, w)=1=>(3v, w^2)=(3v, 3v^2+w^2)=1?/div>
(3v, w)=1=>(3, w)=1=>(3, w^2)=(3, 3v^2+w^2)=1??v+w=>2∤v+w=>2∤v^2+w^2=>2?v^2+w^2Q即(2, 3v^2+w^2)=1?/div>
lg三式l果?18v, 3v^2+w^2)=1
###############################
???问题的证明过E可得,如果一个数׃个或多个因子怹Q那么求证是否互素可以逐一求每个因子与另一个数是否都互?/div>

]]>AES有限域与域扩?/title><link>http://www.shnenglu.com/qinqing1984/archive/2023/09/07/230065.html</link><dc:creator>春秋十二?/dc:creator><author>春秋十二?/author><pubDate>Wed, 06 Sep 2023 22:39:00 GMT</pubDate><guid>http://www.shnenglu.com/qinqing1984/archive/2023/09/07/230065.html</guid><wfw:comment>http://www.shnenglu.com/qinqing1984/comments/230065.html</wfw:comment><comments>http://www.shnenglu.com/qinqing1984/archive/2023/09/07/230065.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/qinqing1984/comments/commentRss/230065.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/qinqing1984/services/trackbacks/230065.html</trackback:ping><description><![CDATA[<div><span style="color: #ff6600;">周知aes有限域同构于pL为F2域一元多式环的商环Q其理想׃可约多项式m(x)=x^8+x^4+x^3+x+1生成Q即F2^8≌F2[x]/(m(x))。这ơ进一步用域扩张的观点分析Q可以得知F2[x]/(m(x))正是包涵m(x)零点的扩域,设ؓ(f)K。那么如何理解?</span><br />令I=(m(x))Q则K=F2[x]/IQ理解关键是扑ևm(x)在K上的零点Q以?qing)K怎样包涵F2Q?/div><div>1. 零点为~x。这里用~g(x)表示多项式在K中的陪集Q即~g(x)=g(x)+IQ所以~x=x+I。把~x代入m(x)Q根据商环定义的加乘q算Q代换结果ؓ(f)m(x)+I=~m(x)=~0Q~0是K的零元)。那么还有吗Q比如~(x+a)Qa?Q,~x^2Q代入这些得到的陪集代表不等于m(x)Q所以不是零炏V因此零Ҏ(gu)唯一的一ơ多式x之陪?/div><div>​2. 构造映?#963;Q把0对到K中的零多式即~0Q?对到K中的常数多项式即~1Q且σ(0+1)=~1=~0+~1=σ(0)+σ(1)Q?#963;(0*1)=~0=~0*~1=σ(0)*σ(1)Q又依多式比较法则得~0不等于~1Q故σ是单同态,K包涵F2</div><div>​结Q商、商环、商域类似模同余之剩余系Q理解这些结构的关键是深入理解等L(fng)、陪集,q而可理解正规子群、理惻I最后就是商X之类的东?/div><img src ="http://www.shnenglu.com/qinqing1984/aggbug/230065.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/qinqing1984/" target="_blank">春秋十二?/a> 2023-09-07 06:39 <a href="http://www.shnenglu.com/qinqing1984/archive/2023/09/07/230065.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一个整C换群定理的证?/title><link>http://www.shnenglu.com/qinqing1984/archive/2023/09/06/230045.html</link><dc:creator>春秋十二?/dc:creator><author>春秋十二?/author><pubDate>Wed, 06 Sep 2023 14:34:00 GMT</pubDate><guid>http://www.shnenglu.com/qinqing1984/archive/2023/09/06/230045.html</guid><wfw:comment>http://www.shnenglu.com/qinqing1984/comments/230045.html</wfw:comment><comments>http://www.shnenglu.com/qinqing1984/archive/2023/09/06/230045.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/qinqing1984/comments/commentRss/230045.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/qinqing1984/services/trackbacks/230045.html</trackback:ping><description><![CDATA[<div><strong style="font-size: 12pt;">定理</strong>Q集合Z[n]由所有i=0,1,…, n-1整数l成Q其中满gcd(i,n)=1的元素与乘法模n操作形成了交换群GQ且单位元ؓ(f)e=1?/div><div><strong style="font-size: 12pt;">证明</strong>Q设a、b属于GQ有gcd(a,n)=1Qgcd(b,n)=1Q则gcd(a*b,n)=gcd(b,n)=1Q即(a*b) mod n闭Q显然单位元?Q根据扩展欧几里L(fng)法得a*x+n*y=1Qx为a的逆元Q则1=gcd(a,n)=gcd(a*x,n)=gcd(x,n)Q故x也在G?/div><img src ="http://www.shnenglu.com/qinqing1984/aggbug/230045.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/qinqing1984/" target="_blank">春秋十二?/a> 2023-09-06 22:34 <a href="http://www.shnenglu.com/qinqing1984/archive/2023/09/06/230045.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>l典有限循环的选取生成 http://www.shnenglu.com/qinqing1984/archive/2023/09/06/230044.html春秋十二?/dc:creator>春秋十二?/author>Wed, 06 Sep 2023 14:28:00 GMThttp://www.shnenglu.com/qinqing1984/archive/2023/09/06/230044.htmlhttp://www.shnenglu.com/qinqing1984/comments/230044.htmlhttp://www.shnenglu.com/qinqing1984/archive/2023/09/06/230044.html#Feedback0http://www.shnenglu.com/qinqing1984/comments/commentRss/230044.htmlhttp://www.shnenglu.com/qinqing1984/services/trackbacks/230044.html记输Zؓ(f)[G`, G, p, q, g]Q其中p为大素数QG`为模p的有限@环整数群Q阶为p-1Qq为大素数Qؓ(f)G的阶QG为G`的子(模亦是pQ,生成元ؓ(f)gQG`的一个元素)Q另外满_下条Ӟ(x)
1. 1<q的位?lt;p的位长,p、q随机选取Qp同余? mod qQ即q整除p-1Qq为p-1的素因子
2. 1<g<=p-1Q随机选取Q测试它?p-1)/qơ幂是否{于1 mod pQ若{于则重新选取Q直C{于
3. 上面选定的gQ遍?到q的幂模pQ就得到G的各元素

数学基础Q一个有限群Q对每个元素它的阶整除群的阶Q它的群阶幂ơ方{于单位元;一个有限@环群Q它的生成元个数为群阶的Ƨ拉敎ͼ若群阶是素数Q则所有非1的元素都是生成元
l论Q这U计子的Ҏ(gu)׃保证阶ؓ(f)素数且只要超q?60位长Q就可避免针寚w为合数的质因子分解ƈ利用中国剩余定理求离散对数的已知最好攻击,h中长期安全强?/div>

]]>ȝAES加密涉及(qing)的数学定?/title><link>http://www.shnenglu.com/qinqing1984/archive/2023/09/06/230043.html</link><dc:creator>春秋十二?/dc:creator><author>春秋十二?/author><pubDate>Wed, 06 Sep 2023 14:22:00 GMT</pubDate><guid>http://www.shnenglu.com/qinqing1984/archive/2023/09/06/230043.html</guid><wfw:comment>http://www.shnenglu.com/qinqing1984/comments/230043.html</wfw:comment><comments>http://www.shnenglu.com/qinqing1984/archive/2023/09/06/230043.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/qinqing1984/comments/commentRss/230043.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/qinqing1984/services/trackbacks/230043.html</trackback:ping><description><![CDATA[<div><strong style="font-size: 12pt;">定理</strong>Qo(h)K[x]是由ơ数于8、系Cؓ(f)0?的多式l成的环Qm(x)=x^8+x^4+x^3+x+1Z可约多项式,则K[x]/(m(x))Q模m(x)剩余cȝQ同构于元素个数?56的有限域F</div><br /> <div><strong style="font-size: 12pt;">证明</strong>Q?/div> <div>​1. 构造映H: P->ZQP表示K[x]中的多项式,Z表示于256的非负整敎ͼ定义函数h(p)=z(mod 256)。显然H为双;依初{数论同余性质有h(p1+p2)=(z1+z2)mod 256=z1(mod 256)+z2(mod 256)=h(p1)+h(p2)Qh(p1*p2)=z1*z2(mod 256)=z1(mod 256)*z2(mod 256)=h(p1)*h(p2)Q故H保持加法乘法闭性。这点保证支持Q意明?密文的运?/div> <br /> <div>​2. ׃元多式环的性质得多式乘法可以交换Q即f(x)•g(x)=g(x)•f(x)Q满_的交换条件。其乘法单位元是常数?Q满_的单位元条g</div> <br /> <div>​3. 因非零多式f(x)与m(x)互素Q由一元多式环的互素定理知存在g(x)、k(x)使得f(x)•g(x)+m(x)•k(x)=1(pL?)Q即f(x)•g(x)模m(x)?Q这?表示单位元)Q故f(xi)(x)存在逆元Q由定义知逆元必唯一Q满_的逆元条g。另aes规定零多式的逆元为其自n。这点保证s盒及(qing)列؜合操作可?/div><img src ="http://www.shnenglu.com/qinqing1984/aggbug/230043.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/qinqing1984/" target="_blank">春秋十二?/a> 2023-09-06 22:22 <a href="http://www.shnenglu.com/qinqing1984/archive/2023/09/06/230043.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Z中国剩余定理优化RSA解密推论的证?/title><link>http://www.shnenglu.com/qinqing1984/archive/2021/10/01/217824.html</link><dc:creator>春秋十二?/dc:creator><author>春秋十二?/author><pubDate>Fri, 01 Oct 2021 09:32:00 GMT</pubDate><guid>http://www.shnenglu.com/qinqing1984/archive/2021/10/01/217824.html</guid><wfw:comment>http://www.shnenglu.com/qinqing1984/comments/217824.html</wfw:comment><comments>http://www.shnenglu.com/qinqing1984/archive/2021/10/01/217824.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/qinqing1984/comments/commentRss/217824.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/qinqing1984/services/trackbacks/217824.html</trackback:ping><description><![CDATA[<span style="font-size: 12pt;"><strong>背景<br />  </strong></span><span>׃</span><span>实际使用?/span><span>RSA公钥通常很短Q而私钥和模位长度一PD解密(或签?时大数指数模q算比较慢,故可使用中国剩余定理U简模数和解密指敎ͼ以加快运?br /> <br /> <strong style="font-size: 12pt;">描述</strong></span><br />  x为密文,n为模Qp和q为大素数且满n=pqQd为私钥,?br />    x<sub>p </sub>≡ x mod pQx<sub>q </sub>≡ x mod q                      <span style="color: red;">(1)</span><br />    d<sub>p </sub>≡ d mod (p-1)Qd<sub>q</sub> ≡ d mod (q-1)          <span style="color: red;">(2)</span><br />    y<sub>p</sub> = x<sub>p</sub>^d<sub>p </sub>mod pQy<sub>q</sub> = x<sub>q</sub>^d<sub>q </sub>mod q        <span style="color: red;">(3)</span><br />  则有 x<sup>d</sup> ≡ ((qc<sub>p</sub>)y<sub>p</sub> + (pc<sub>q</sub>)y<sub>q</sub>) mod nQ其?c<sub>p </sub>≡ q<sup>-1</sup> mod p Q?c<sub>q</sub> ≡ p<sup>-1</sup> mod q<br /> <br /> <strong style="font-size: 12pt;">证明</strong><br />  ?1)式可?<br />    x<sub>p</sub><sup>d</sup><sub> </sub>≡ x<sup>d</sup> mod pQx<sub>q</sub><sup>d</sup><sub> </sub>≡ x<sup>d</sup> mod q                <span style="color: red;">(4)</span><br />  Ҏ(gu)中国剩余定理可得<br />    x<sup>d</sup> ≡ ((qc<sub>p</sub>)x<sub>p</sub><sup>d </sup>+ (pc<sub>q</sub>)x<sub>q</sub><sup>d</sup>) mod nQ下面只要证明y<sub>p</sub>和x<sub>p</sub><sup>d</sup>一样同余于x<sup>d</sup>模pQy<sub>q</sub>和x<sub>q</sub><sup>d</sup>一样同余于x<sup>d</sup>模q<br />  Ҏ(gu)<span style="background-color: yellow;">(2)式及(qing)费小马定?/span>可得<br />    x<sub>p</sub>^d<sub>p </sub>≡ x<sub>p</sub><sup>d</sup> mod pQx<sub>q</sub>^d<sub>q </sub>≡ x<sub>q</sub><sup>d</sup> mod q, 再结?4)?br />    x<sub>p</sub>^d<sub>p </sub>≡ x<sup>d</sup> mod pQx<sub>q</sub>^d<sub>q </sub>≡ x<sup>d</sup> mod qQ故<br />    y<sub>p</sub> = x<sup>d</sup> mod pQy<sub>q</sub> = x<sup>d</sup> mod q 证毕<img src ="http://www.shnenglu.com/qinqing1984/aggbug/217824.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/qinqing1984/" target="_blank">春秋十二?/a> 2021-10-01 17:32 <a href="http://www.shnenglu.com/qinqing1984/archive/2021/10/01/217824.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>中国剩余定理特例推论的证?/title><link>http://www.shnenglu.com/qinqing1984/archive/2021/09/19/217820.html</link><dc:creator>春秋十二?/dc:creator><author>春秋十二?/author><pubDate>Sun, 19 Sep 2021 08:01:00 GMT</pubDate><guid>http://www.shnenglu.com/qinqing1984/archive/2021/09/19/217820.html</guid><wfw:comment>http://www.shnenglu.com/qinqing1984/comments/217820.html</wfw:comment><comments>http://www.shnenglu.com/qinqing1984/archive/2021/09/19/217820.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/qinqing1984/comments/commentRss/217820.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/qinqing1984/services/trackbacks/217820.html</trackback:ping><description><![CDATA[<div><strong style="font-size: 12pt;">法描述</strong></div> <div>  如果对于L0<=a<p?<=b<q(p和q皆是素数)Q那么当x<p*qӞ存在一个唯一的xQ得x≡a mod p ?x≡b mod qQ则</div> <div>   x =(((a - b)*u) mod p)*q + bQ其中u满u*q≡1 mod p?/div> <div></div><br /> <div><strong style="font-size: 12pt;">法证明</strong></div> <div>1.先推导x的解</div> <div>   因x≡a mod p ?x≡b mod q</div> <div>   故o(h)x = k1*p + a ?x = k2*q + b                     <span style="color: red;">(1)</span></div> <div>   ?k1*p + a = k2*q + b</div> <div>     => a - b = k2*q - k1*p                                  <span style="color: red;">(2) </span></div> <div>   又因u*q≡1 mod pQ故令u*q = 1 + k3*p              <span style="color: red;">(3)</span></div> <div>   ?2)?3)?/div> <div>     => a - b = k2 * (1+k3*p)/u - k1*p</div> <div>   两边同时乘u</div> <div>     =>Qa - b) * u = k2*(1+k3*p) - k1*p*u</div> <div>   两边同时模p</div> <div>     => ((a - b) * u) mod p = (k2 mod p) mod p     <span style="color: red;">(4)</span></div> <div>  </div> <div>   又因x < p*qQ故b + k2*q < p*q</div> <div>    => b <(p - k2) * q</div> <div>   ?<b<qQ故p > k2</div> <div>    => (k2 mod p) mod p = k2</div> <div>   ?4)式即</div> <div>     ((a - b) * u) mod p = k2                                  <span style="color: red;">(5)</span></div> <div>   ?5)代入(1)式可?/div> <div>     <span style="background-color: #ffff00;">x = (((a - b)*u) mod p)*q + b<br /><br /></span></div> <div></div> <div>2. 再证明x是唯一?/div> <div>    假设x1是另一解,?x1≡a mod p ?x1≡b mod qQ得</div> <div>      x1 - x ≡ 0 mod p ?p | x1 - x</div> <div>      x1 - x ≡ 0 mod q ?q | x1 - x</div> <div>    又因p和q皆ؓ(f)素数Q故p*q | x1 - xQ得</div> <div>      x1 - x ≡ 0 mod (p*q)</div> <div>    ?x1 mod (p*q) = x mod (p*q)   证毕</div><img src ="http://www.shnenglu.com/qinqing1984/aggbug/217820.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/qinqing1984/" target="_blank">春秋十二?/a> 2021-09-19 16:01 <a href="http://www.shnenglu.com/qinqing1984/archive/2021/09/19/217820.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>DSA数字{֐的推?/title><link>http://www.shnenglu.com/qinqing1984/archive/2016/11/24/214439.html</link><dc:creator>春秋十二?/dc:creator><author>春秋十二?/author><pubDate>Thu, 24 Nov 2016 11:39:00 GMT</pubDate><guid>http://www.shnenglu.com/qinqing1984/archive/2016/11/24/214439.html</guid><wfw:comment>http://www.shnenglu.com/qinqing1984/comments/214439.html</wfw:comment><comments>http://www.shnenglu.com/qinqing1984/archive/2016/11/24/214439.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/qinqing1984/comments/commentRss/214439.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/qinqing1984/services/trackbacks/214439.html</trackback:ping><description><![CDATA[<strong style="font-size: 12pt;">法描述</strong><br /> 【公开密钥?   <br />    p?12?024位的素数<br />    q?60位长Qƈ与p-1互素的因?br />    g = h^((p-1)/q) mod pQ其中h(hun)<p-1且g>1 <p-1且g><br />    y = g^x mod p<br /> 【私有密钥?br />    x<qQ长160?br /> < qQ长160?br /> 【签名?br />    k为小于q的随机数Qk^-1为k模q的逆元Qm为消息,H为单向散列函?br />    r = (g^k mod p) mod q<br />    s = (k^-1(H(m)+xr)) mod q<br /> 【验证?br />    w = s^-1 mod q<br />    u1 = (H(m)w) mod q<br />    u2 = (rw) mod q<br />    v = ((g^u1 * y^u2) mod p) mod q<br />    若v = rQ则{֐被验?br /> <br /> <strong style="font-size: 12pt">验签推导</strong><br />    <strong>1</strong>. 先证明两个中间结?br />       ?h,p)=1Qp为素Ch<pQ?a1,a1)是数Z的符PCؓ(f)a1与a2的最大公U数Q,故依<pQ根据概忉|然得知p和h除了1外,没有其它公约敎ͼ<br />贚w定理有h^(p-1)=1 mod pQ则对Q意整数nQ有<br />       g^(nq) mod p = (h^((p-1)/q))^(nq) mod p <br />                           = h^(n(p-1)) mod p <br />                           = (h^(p-1) mod p)^n  mod p <br />                           = (1^n) mod p = 1     <span style="color: red">(1)</span><br />       对Q意整数t、nQ可表示为t=nq+zQ其中z>0Q则?br /> <z<qQ有<br />       g^t mod p = g^(nq+z) mod p <br />                      = (g^(nq) mod p * (g^z mod p)) mod p <br />                      = g^z mod p<br />                      = g^(t mod q) mod p    <span style="color: red">(2)</span><br /> <br />   <strong>2</strong>. 再假讄名{r,s}和消息m均没被修改,令H(m)=hQ开始推导v<br />       v = ((g^u1 * y^u2) mod p) mod q<br />          = (g^(hw mod q) * ((g^x mod p)^(rw mod q) mod p)) mod q<br />          = ((g^(hw mod q) mod p * ((g^x mod p)^(rw mod q) mod p)) mod p) mod q<br />          = ((g^(hw mod q) mod p * (g^(x * (rw mod q)) mod p)) mod p) mod q<br />          = ((g^(hw) mod p * ((g^(rw mod q) mod p)^x mod p)) mod p) mod q<br />          = ((g^(hw) mod p * ((g^(rw) mod p)^x mod p)) mod p) mod q<br />          = ((g^(hw) mod p * (g^(rwx) mod p)) mod p) mod q<br />          = (g^(hw+rwx) mod p) mod q<br />          = (g^((h+rx)w) mod p) mod q    <span style="color: red">(3)</span> <br /> <br />       又因w = s^-1 mod q<br />          ?sw) mod q = 1<br />            =>(((k^-1(h+xr)) mod q)w) mod q = 1<br />            =>((k^-1(h+xr))w) mod q = 1<br />            =>(h+xr)w = k mod q    <span style="color: red">(4)</span><br /> <br />       ?4)式代?3)式中?br />       v = (g^(k mod q) mod p) mod q<br />          = (g^k mod p) mod q<br />          = r<br /> <br /> <strong>  3</strong>. 最后由(4)式知Q若h、r和sM个有变化Qs变化Dw变化Q,则v ≠ r </z<qQ有<br /> </pQ根据概忉|然得知p和h除了1外,没有其它公约敎ͼ<br /> </qQ长160?br /> </p-1且g><img src ="http://www.shnenglu.com/qinqing1984/aggbug/214439.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/qinqing1984/" target="_blank">春秋十二?/a> 2016-11-24 19:39 <a href="http://www.shnenglu.com/qinqing1984/archive/2016/11/24/214439.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>RSA加解密的证明http://www.shnenglu.com/qinqing1984/archive/2016/11/18/214419.html春秋十二?/dc:creator>春秋十二?/author>Fri, 18 Nov 2016 09:05:00 GMThttp://www.shnenglu.com/qinqing1984/archive/2016/11/18/214419.htmlhttp://www.shnenglu.com/qinqing1984/comments/214419.htmlhttp://www.shnenglu.com/qinqing1984/archive/2016/11/18/214419.html#Feedback0http://www.shnenglu.com/qinqing1984/comments/commentRss/214419.htmlhttp://www.shnenglu.com/qinqing1984/services/trackbacks/214419.html法描述
    
   随机选择两个大的素数 p、q Q且p ≠ qQ计n = pq、r = (p-1)(q-1)Q依Ƨ拉定理Qr即ؓ(f)与n互质的素C敎ͼ选择一个小于r的整数eQ即加密指数Q,求得e关于模r的逆元dQ即解密指数Q,则{nQe}为公钥、{nQd}为私钥;Ҏ(gu)模的逆元性质有ed ≡ 1 (mod r)Q设m为明文,则加密运ؓ(f)m^e ≡ c (mod n)Q?c即ؓ(f)密文Q则解密q程 c^d ≡ m (mod n)?br />    证明?x)用到费马小定理Q即 若y为素Cx不ؓ(f)y的倍数Q??x^(y-1) ≡ 1 (mod y)Q费马小定理的证明需先证明欧拉定理,此处略)。符?#8801;表示同余Q^表示q?/font>Q|表示整除Q?表示怹?br />
法证明
 W一U证明途径   
   ?ed ≡ 1 (mod (p-1)(q-1))Qo(h) ed = k(p-1)(q-1) + 1Q其?k 是整?br />    ?c^d = (m^e)^d = m^(ed) = m^(k(p-1)(q-1)+1)
   1.若m不是p的倍数Q也不是q的倍数
      ?m^(p-1) ≡ 1 (mod p) (贚w定?
         => m^(k(p-1)(q-1)) ≡ 1 (mod p)
      m^(q-1) ≡ 1 (mod q) (贚w定?
         => m^(k(p-1)(q-1)) ≡ 1 (mod q)
      ?p、q 均能整除 m^(k(p-1)(q-1)) - 1
         => pq | m^(k(p-1)(q-1)) - 1
      ?m^(k(p-1)(q-1)) ≡ 1 (mod pq)   
         => m^(k(p-1)(q-1)+1) ≡ m (mod n)   

   2.若m是p的倍数Q但不是q的倍数
      ?m^(q-1) ≡ 1 (mod q) (贚w定?
         => m^(k(p-1)(q-1)) ≡ 1 (mod q)
         => m^(k(p-1)(q-1)+1) ≡ m (mod q)
      ?p | m
         => m^(k(p-1)(q-1)+1) ≡ 0 (mod p)
         => m^(k(p-1)(q-1)+1) ≡ m (mod p)
      ?m^(k(p-1)(q-1)+1) ≡ m (mod pq) 
      ?m^(k(p-1)(q-1)+1) ≡ m (mod n)

   3.若m是q的倍数Q但不是p的倍数Q证明同?br />
   4.若m同ؓ(f)p和q的倍数?br />       ?pq | m
         => m^(k(p-1)(q-1)+1) ≡ 0 (mod pq)
         => m^(k(p-1)(q-1)+1) ≡ m (mod pq)
      ?m^(k(p-1)(q-1)+1) ≡ m (mod n)

 W二U证明途径
   先证明m^ed ≡ m (mod p)恒成?br />    1.若p为m的因子,则p | m^ed - m昄成立Q即m^ed ≡ m (mod p)
   2.若p不ؓ(f)m的因子,令ed = k(p-1)(q-1) + 1Q则 m^(ed-1) - 1 = m^(k(p-1)(q-1)) - 1
       m^(p-1) ≡ 1 (mod p) (贚w定?/span>)
        => m^(k(p-1)) ≡ 1 (mod p)
        => m^(k(p-1)(q-1)) ≡ 1 (mod p)
        => m^(ed-1) ≡ 1 (mod p)
        => m^ed ≡ m (mod p)
   同理可证m^ed ≡ m (mod q)
   故m^ed ≡ m (mod pq)Q即m^ed ≡ m (mod n)
   又因 c^d = m^e^d = m^(ed)
   ?c^d ≡ m (mod n)Q证?br />    
ȝ
 W二U比W一U简单直观,以上证明途径对RSAU钥{֐与验{֐样适合?img src ="http://www.shnenglu.com/qinqing1984/aggbug/214419.html" width = "1" height = "1" />

]]>Zlist_head实现的通用内核Hash?/title><link>http://www.shnenglu.com/qinqing1984/archive/2015/09/15/211832.html</link><dc:creator>春秋十二?/dc:creator><author>春秋十二?/author><pubDate>Tue, 15 Sep 2015 09:18:00 GMT</pubDate><guid>http://www.shnenglu.com/qinqing1984/archive/2015/09/15/211832.html</guid><wfw:comment>http://www.shnenglu.com/qinqing1984/comments/211832.html</wfw:comment><comments>http://www.shnenglu.com/qinqing1984/archive/2015/09/15/211832.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/qinqing1984/comments/commentRss/211832.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/qinqing1984/services/trackbacks/211832.html</trackback:ping><description><![CDATA[     摘要:    ׃linux内核中的struct list_head已经定义了指向前qprev指针和指向后l的next指针Qƈ且提供了相关的链表操作方法,因此为方便复用,本文在它的基上封装实C一U用开链法解决冲突的通用内核Hash表glib_htableQ提供了初始化、增加、查找、删除、清I和销?U操作,除初始化和销毁外Q其它操作都做了同步Q适用于中断和q程上下文?..  <a href='http://www.shnenglu.com/qinqing1984/archive/2015/09/15/211832.html'>阅读全文</a><img src ="http://www.shnenglu.com/qinqing1984/aggbug/211832.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/qinqing1984/" target="_blank">春秋十二?/a> 2015-09-15 17:18 <a href="http://www.shnenglu.com/qinqing1984/archive/2015/09/15/211832.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Z特定范围关键字的原位统计排?/title><link>http://www.shnenglu.com/qinqing1984/archive/2012/05/31/176784.html</link><dc:creator>春秋十二?/dc:creator><author>春秋十二?/author><pubDate>Thu, 31 May 2012 04:11:00 GMT</pubDate><guid>http://www.shnenglu.com/qinqing1984/archive/2012/05/31/176784.html</guid><wfw:comment>http://www.shnenglu.com/qinqing1984/comments/176784.html</wfw:comment><comments>http://www.shnenglu.com/qinqing1984/archive/2012/05/31/176784.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/qinqing1984/comments/commentRss/176784.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/qinqing1984/services/trackbacks/176784.html</trackback:ping><description><![CDATA[     摘要: 基本原理   在数据输入随机分布的情况下,快速排序具有较好的性能表现Q但当元素个数比其关键字的取D围大Q而这个范围相对较?yu)时Q用一U关键字索引l计排序?x)快很多Q因为它的时间复杂度是线性的Q基本原理是使用数组Qؓ(f)描述方便Q特U统计数l)Q其下标对应关键字的|存储元素按待排序关键字的值统计的出现ơ数Q然后再按元素关键字的|l合l计数组Q放回到最l位|上。常规的实现...  <a href='http://www.shnenglu.com/qinqing1984/archive/2012/05/31/176784.html'>阅读全文</a><img src ="http://www.shnenglu.com/qinqing1984/aggbug/176784.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/qinqing1984/" target="_blank">春秋十二?/a> 2012-05-31 12:11 <a href="http://www.shnenglu.com/qinqing1984/archive/2012/05/31/176784.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>三\划分快速排?-针对重复关键字的改进http://www.shnenglu.com/qinqing1984/archive/2012/05/19/175379.html春秋十二?/dc:creator>春秋十二?/author>Sat, 19 May 2012 06:48:00 GMThttp://www.shnenglu.com/qinqing1984/archive/2012/05/19/175379.htmlhttp://www.shnenglu.com/qinqing1984/comments/175379.htmlhttp://www.shnenglu.com/qinqing1984/archive/2012/05/19/175379.html#Feedback1http://www.shnenglu.com/qinqing1984/comments/commentRss/175379.htmlhttp://www.shnenglu.com/qinqing1984/services/trackbacks/175379.html基本原理

   快速排序算法是一U分L序算法,影响其性能的因素有划分元素的选择、小的子文g的处理、重复关键字{,本文针对重复关键字的改进实现。首先来回顾下一般的法实现Q其程如下Q?br />   a. 选择一个划分元素,q个元素在划分后在最l的位置上,通常是选择最右端元素作ؓ(f)划分炏V?br />   b. 从左端开始扫描,直到扑ֈ大于划分元素的元素;同时从右端开始扫描,直到扑ֈ划分元素的元素,再交换扫描停止的这两个元素?br />   c. l箋步骤bQ直到左指针不小于右指针Q最后再交换左指针元素和划分元素?br />   d. 在左指针左侧和右侧区?区间不包括左指针元素)重复以上q程Q直臛_素个Cؓ(f)0??br />   在划分的q程中,位于左指针左侧的元素都比划分元素,右侧的元素都比划分元素大Q如下图所C?
   ׃q可见,一般的法实现针对大量重复关键字的输入情况Q其性能表现很差Q例如如果一个文件完全由相等的?只有一个?l成Q那么它?yu)׃需要再q行M排序Q但前面的算法依然划分直臛_到小的子文gQ无论文件有多大。针对这一情况Q可以作实质性的改进Q从而避免处理元素相同的子区_(d)提高效率。改q的法实现主要问题在于如何处理与划分元素相{的情况Q这里的基本思想是将区间划分Z个部分,左部分小于划分元素,中间部分{于划分元素Q右部分大于划分元素Q然后再在左右两部分q行子处理,具体的流E如下:(x)
   a'. 选择左端元素、中间元素和右端元素的中g为划分元素,也就?span style="color: red">三者取中划?/span>Q这栯有效避免划分区间的最坏情c(din)?br />   b'. 从左端开始扫描,直到扑ֈ不小?/span>划分元素的元素;同时从右端开始扫描,直到扑ֈ不大?/span>划分元素的元素,再交换扫描停止的这两个元素。如果左指针元素{于划分元素Q那么与左端的元素交换,q增左端位置(初始化ؓ(f)文g最左位|?Q如果右指针元素{于划分元素Q那么与右端元素交换Qƈ递减右端位置(初始化ؓ(f)文g最右位|??br />   c'. l箋步骤b'Q直到左指针不小于右指针?br />   d'. 交换最左端区间和左指针左侧区间(不包括左指针元素)Q这一q程?x)递减左端位置Q交换最右端区间和左指针右侧区间(包括左指针元?Q这一q程?x)递增右端位置?br />   e'. 在最左端和最右端区间重复以上q程Q直臛_素个Cؓ(f)0??br />   在划分的q程中,与划分元素相{的元素分布在最左端和最右端Q如下图所C?
   在划分完成后处理子文件前Q需要对调区_(d)如步骤d'所qͼl果如下图所C?

代码实现
   上面所有图中的v代表划分元素Q最后列Z码清单,函数quick_sort有两个版本,一个是支持operator < 的默认实玎ͼ另一个是支持带谓词的自定义比较实现。在其中用到了实C者取中值的__median函数Q对应的也有两个版本实现Q如下所C?
 1template<class _RandIt>
 2void quick_sort(_RandIt _first,_RandIt _last)
 3{
 4    typedef typename std::iterator_traits<_RandIt>::value_type _ValType;
 5    if (!(_first<_last-1)) return;
 6
 7    _RandIt i = _first,j = _last-1,p = i,q = j,k;
 8    _ValType pivot = __median(*_first,*(_last-1),*(_first+(_last-_first)/2));
 9
10    while(true)
11    {
12        while(*< pivot) ++i;
13        while(pivot < *j) --j;
14        if (!(i < j)) break;
15        std::iter_swap(i,j);
16        
17        if (!(*< pivot) && !(pivot < *i)) 
18            std::iter_swap(p++,i);
19        if (!(*< pivot) && !(pivot < *j))
20            std::iter_swap(q--,j);
21        ++i; --j;
22    }

23    
24    j = i - 1
25    for(k = _first;k<p;--j,++k) std::iter_swap(k,j);
26    for(k = _last-1;k>q;++i,--k) std::iter_swap(k,i);
27
28    quick_sort(_first,j+1);
29    quick_sort(i,_last);
30}

31
32template<class _RandIt,class _Compare>
33void quick_sort(_RandIt _first,_RandIt _last,_Compare _comp)
34{
35    typedef typename std::iterator_traits<_RandIt>::value_type _ValType;
36    if (!(_first < _last - 1)) return;
37
38    _RandIt i = _first,j = _last-1,p = i, q = j, k;
39    _ValType pivot = __median(*_first,*(_last-1),*(_first+(_last-_first)/2),_comp);
40
41    while(true)
42    {
43        while(_comp(*i,pivot)) ++i;
44        while(_comp(pivot,*j)) --j; 
45        if (!(i < j)) break;
46        std::iter_swap(i,j);
47
48        if (!_comp(*i,pivot) && !_comp(pivot,*i)) 
49            std::iter_swap(p++,i);
50        if (!_comp(*j,pivot) && !_comp(pivot,*j))
51            std::iter_swap(q--,j);
52        ++i; --j;
53    }

54    j = i - 1;
55    for(k = _first;k < p;++k,--j)    
56        std::iter_swap(k,j);
57    for(k = _last - 1;k > q;--k,++i) 
58        std::iter_swap(k,i);
59
60    quick_sort(_first,j+1,_comp);
61    quick_sort(i,_last,_comp);
62}
   从上面实现可看出Q与一般的实现相比Q划分过E多了两个if?qing)for循环Qif试用来找到的重复元素攑֜左右两端Qfor循环用来交换区间Q将重复元素再放在中_(d)q额外的工作量只与找到的重复关键字的个数成线性,因此Q即使在没有重复关键字的情况下,它也q行得很好,q_旉复杂度ؓ(f)O(NlgN)?img src ="http://www.shnenglu.com/qinqing1984/aggbug/175379.html" width = "1" height = "1" />

]]>Z双端堆实现的优先U队列(3Q:(x)外观http://www.shnenglu.com/qinqing1984/archive/2011/10/05/157559.html春秋十二?/dc:creator>春秋十二?/author>Wed, 05 Oct 2011 05:24:00 GMThttp://www.shnenglu.com/qinqing1984/archive/2011/10/05/157559.htmlhttp://www.shnenglu.com/qinqing1984/comments/157559.htmlhttp://www.shnenglu.com/qinqing1984/archive/2011/10/05/157559.html#Feedback1http://www.shnenglu.com/qinqing1984/comments/commentRss/157559.htmlhttp://www.shnenglu.com/qinqing1984/services/trackbacks/157559.html阅读全文

]]>
޾ƷƬþ| Ʒ99Ʒþ| ҹþþþþ| 2021ƷۺϾþ| þ| AVþþƷ| Ʒŷþþþ޹| þþƷ99Ʒ| ƷþþӰ㽶| þþþavۺϲҰ| þҹɫtvվ| ŷ糱þþXXXXx| þӰۺ| 91þùۺϾƷ| ŵþ| 91ɫۺϾþѷ| þۺɫˮ99ž| Ʒþþþþþþþ| þþһƷ99þþƷ66| þþþþùƷ| Ʒþþþþ֣ݹ˾| ޹˾þۺһ77| ˾ھƷþþþ| պƷþþþþ| þAAAƬ69| ҹƷþӰԺ| þþƷһӰԺ | wwþþþþþþþ| þ޹˾Ʒɫ| Ļþһ| þۺϾɫŷۺϺݺ| Ʒ99þþþþö| ƷþþþӰӲ| 97ȾþƵƷ99| þAVۺϺɫ| ҹƷþþþþþþ| þˬ˰| þþžѾƷ6| þҹҹݺ| þù¶ƷӰ| ޹Ʒþþ|