ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

RSA中用到的推导,笔记持续更新

2022-07-12 00:07:44  阅读:175  来源: 互联网

标签:推导 14q pow 用到 RSA 10p e2 e1 mod


1.同余式组求p和q

已知条件:

 

 推导过程:

根据上述已知条件,以及同余式性质,我们可以得到如下:

c1e2 = (2p + 3q)e1*e2 mod N

c2e1 = (5p + 7q)e1*e2 mod N

从而得到:

5e1 * e2  * c1e2 = (10p + 15q)e1*e2 mod N

2e1 * e2  * c2e1 = (10p + 14q)e1*e2 mod N

令 a = 5e1 * e2  * c1e2 ,  b = 2e1 * e2  * c2e1 

a = (10p + 15q)e1*e2 mod N

b = (10p + 14q)e1*e2 mod N

由如下同余性质:

 

 可以得到:

a = (10p + 15q)e1*e2 mod q

b = (10p + 14q)e1*e2 mod q

易知:a mod q = b mod q

则可以得到:(a - b) mod q = 0

到此我们就可以知道 q 是 a - b 的一个因子,知道 a - b 就可以算出 q ,从而算出 p

题目及解题脚本:
from fractions import gcd
N = 14905562257842714057932724129575002825405393502650869767115942606408600343380327866258982402447992564988466588305174271674657844352454543958847568190372446723549627752274442789184236490768272313187410077124234699854724907039770193680822495470532218905083459730998003622926152590597710213127952141056029516116785229504645179830037937222022291571738973603920664929150436463632305664687903244972880062028301085749434688159905768052041207513149370212313943117665914802379158613359049957688563885391972151218676545972118494969247440489763431359679770422939441710783575668679693678435669541781490217731619224470152467768073
e1 = 12886657667389660800780796462970504910193928992888518978200029826975978624718627799215564700096007849924866627154987365059524315097631111242449314835868137
e2 = 12110586673991788415780355139635579057920926864887110308343229256046868242179445444897790171351302575188607117081580121488253540215781625598048021161675697
c1 = 14010729418703228234352465883041270611113735889838753433295478495763409056136734155612156934673988344882629541204985909650433819205298939877837314145082403528055884752079219150739849992921393509593620449489882380176216648401057401569934043087087362272303101549800941212057354903559653373299153430753882035233354304783275982332995766778499425529570008008029401325668301144188970480975565215953953985078281395545902102245755862663621187438677596628109967066418993851632543137353041712721919291521767262678140115188735994447949166616101182806820741928292882642234238450207472914232596747755261325098225968268926580993051
c2 = 14386997138637978860748278986945098648507142864584111124202580365103793165811666987664851210230009375267398957979494066880296418013345006977654742303441030008490816239306394492168516278328851513359596253775965916326353050138738183351643338294802012193721879700283088378587949921991198231956871429805847767716137817313612304833733918657887480468724409753522369325138502059408241232155633806496752350562284794715321835226991147547651155287812485862794935695241612676255374480132722940682140395725089329445356434489384831036205387293760789976615210310436732813848937666608611803196199865435145094486231635966885932646519

f1 = pow(5, e1*e2, N) * pow(c1, e2, N)
f2 = pow(2, e1*e2, N) * pow(c2, e1, N)
q = abs(gcd(N, f1-f2))
p = N//q
print(N, p, q, N-p*q, sep='\n')

 

标签:推导,14q,pow,用到,RSA,10p,e2,e1,mod
来源: https://www.cnblogs.com/nLesxw/p/learn_math_rsa.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有