一、算法原理
RSA公开密钥密码体制的原理是:根据数论,寻求两个大素数比较简单,而将它们的乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。
二、公私钥的生成
1.生成两个大素数p,q,对其进行素数检测 2.计算 n = p * q 的欧拉函数值fn,fn = (p - 1) * (q - 1) 3.从范围 [2,f(n)-1]中选择e,满足gcd(e,f(n))=1即e与f(n)互素 4.求e的逆元d, e*d = 1 mod n 这里调用的inverse函数去进行计算 5.得到公钥对(e,n) 私钥对(d,n)
三、加密原理
明文m使用公钥(e,n)进行模幂运算得到密文c
c = m**e % n
再用私钥(e,d)对密文c进行模幂运算得到原来的明文m
m = c**d % n
四、执行代码
import math
import random
from Crypto.Util.number import *
'''
RSA算法生成公私钥步骤:
1.生成两个随机数,对其进行素数检测得到两个大素数p,q
2.计算 n = p * q 的欧拉函数值fn,fn = (p - 1) * (q - 1)
3.从范围 [2,f(n)-1]中选择e,满足gcd(e,f(n))=1即e与f(n)互素
4.求e的逆元d, e*d = 1 mod n 这里调用的inverse函数去进行计算
5.得到公钥对(e,n) 私钥对(d,n)
需要加密的明文用ASCii码进行转换为数字,对数字进行加密
密文c = pow(m,e,n) -> m**e%n
解密m = pow(c,d,n) -> c**d%n
'''
'''
利用费马素性检验进行素数检测
pow(a,m-1,m)为1时可能是素数,多次进行素数检验即可提高准确度
'''
def prime_test(m,k):
temp = k
while temp > 0:
x = random.randint(2, (m - 1))
if math.gcd(x, m) == 1:
if pow(x, m - 1, m) == 1:
temp = temp - 1
if temp == 0:
print('是素数的概率为:{:.5f}'.format(100 * (1.0 - (1.0 / (2 ** (k - temp))))), '%')
else:
print('随机数选择到合数,需重新选择随机数')
return 0
else:
print('随机数选择到合数,需重新选择随机数')
return 0
if temp == 0:
may = 100 * (1.0 - (1.0 / (2 ** k)))
if(may > 99):
return 1
else:
return 0
#生成p,q大素数
def select_porq(k):
x = random.randrange(2**(k-1),2**k)
while prime_test(x,10) == 0:
x = random.randrange(2**(k-1),2**k)
return x
#选择公钥e满足e与fn互素
def select_e(fn):
while 1:
e = random.randrange(2,fn)
if math.gcd(e,fn)==1:
return e
#用公钥(e,n)将明文m进行加密,这里将每个字符存分别存在list列表里面
def encrypt(m,e,n):
list = []
for x in m:
list.append(pow(ord(x),e,n))
return list
#用私钥(d,n)将密文cipher进行解密
def decrypt(cipher,d,n):
m_string = ''
for x in cipher:
m_string+= chr(pow(x,d,n))
return m_string
if __name__ == "__main__":
print('请输入RSA密钥位数:')
k = int(input())
# print('请输入需要加密的密文:')
# m = input()
p = select_porq(k)
q = select_porq(k)
n = p*q
fn = (p-1)*(q-1)
e = select_e(fn)
d = inverse(e, fn)
print('p的值:',p,'\nq的值:',q,'\nn的值:',n,'\nfn的值:',fn,'\ne的值:',e,'\nd的值:',d)
m = "There can be no national security without cybersecurity"
print('准备加密的明文:',m)
cipher = encrypt(m,e,n)
print('加密后的密文(列表中每一项对应一个字符:)',cipher)
m_decrypt = decrypt(cipher,d,n)
print('解密后与原明文对比:',m_decrypt)
五、执行结果
请输入RSA密钥位数:1024
随机数选择到合数,需重新选择随机数
随机数选择到合数,需重新选择随机数
随机数选择到合数,需重新选择随机数
随机数选择到合数,需重新选择随机数
随机数选择到合数,需重新选择随机数
随机数选择到合数,需重新选择随机数
随机数选择到合数,需重新选择随机数
随机数选择到合数,需重新选择随机数
随机数选择到合数,需重新选择随机数
随机数选择到合数,需重新选择随机数
随机数选择到合数,需重新选择随机数
随机数选择到合数,需重新选择随机数
是素数的概率为:99.90234 %
p的值: 159995143150157126248873380988406814064210867173480848269677208180603011110275562485635848376117742335429750217663890776642973611822936313210280403828203779927945133030454126192400579628020734723365056341874450019891223958804888381854986598282974773960163000886006908019510482537663965279584560804322887728019
q的值: 143995979652268202539624023702857193251757211493125657707072984350887391461285609171445218756477635115219135183186603864347713937407158556290691345256117632693053674802937804402177961125085169364276542826880653403361968468298949148959457960762925358293322085510059483617559531828546237885478136561139549994317
n的值: 23038657377511763835655947817907690381384607558028060316373208101284841317907983836327108369785330927478068860918710125258872548306129359790962978103073588900311850349179515434940287092528177680358992461782694893118540293584793186661049452796433857785864855578171012329302751379714599298654244146492360949257273214567211106192032986890939877556629314170883039237845482461969789794666099223908921662324719160106967601971671345474337058302460528141573951129874100182355856024659582287707716347695568743593280752312500240523102146055030516715255921037985307984161766128045753105484370443273604048043307934137080491668023
fn的值: 23038657377511763835655947817907690381384607558028060316373208101284841317907983836327108369785330927478068860918710125258872548306129359790962978103073588900311850349179515434940287092528177680358992461782694893118540293584793186661049452796433857785864855578171012329302751379714599298654244146492360949256969223444408680863244489486248613549313346092216432731868732269438299392094538052251840595192123782656318716570820850833346370753230433272072979380789778769734857216826190357113137806942462839505639153143745137099848953627926679184441476478939407851908281041649686713847300428907393844878245236771618053945688
e的值: 19974069742620867395121559150342882579897214845720353955544323774551427923894154690343012298343170587318485142867811968122465896769802957058366634628469230905684561483595637244405533038506883204853393690923575002345162755518052732378250075994115101867698443469267353373636577506066331247639034841203898798679445537853259682673803353108538396316537337433949608724884393253852832120197488902516898669439913865950731558356478439009511170502425368829466189965844823707458453029038662554958464773882668595515338066932631365051884613359909191440807447694743476239328181980619961794996058193725176720333401328911961913992035
d的值: 22255535905965839364735268384234379059706853300797236887257955263787285305105650988989410265779023957417114560401312728315183002006173317324327681619208706402295720601984028355245129112941951652812502719419202383328956043443585319480183264351523868473640614741303828216573395408816344317733087508367283249564476162943454355320387000692083870826313561071895890597850306750062405740245822329931616413934032641976157453788190921250858687382427245205395195000168990529687887950124427194236624018663882992058357803159703328220316455882218083480149047209832838223856434255189582366344107829906196420644592002440247838461995
准备加密的明文: There can be no national security without cybersecurity
加密后的密文(列表中每一项对应一个字符:) [17014018895543211740075179453187646701075276812984611444384394170470839614746880623210698127699781820034091705245362420209527814692486624021216743246037847565991774096262118124601509815953067650657462505173531222813765752258212364944277034636456838959231828434424305427243879522962410597385881050106513794543043076447863050226653396769770035377152999676423378744547868193933014270589846315924481107713246311529602667308824349173018625790649540247223336219310213931195279638829120986767138309148356291790834560077479584142937868939082339074745907788955959142752990673381244420100976890354438302595676589648864323410549, 15370376346965959812573500557741662750857902788162386853428662764581336681408266508968748138864089524771419430241439215800194349894987759139224146330436611844882407213928658413702566382206034450547186850972459161680902515519904079749516120639375449392010976892500422170576944977162259575733553945718180875643853711555496316378738882619813207963602302392507982236333571909408664505018028934692320910850101077838144242953953359226525624159987364201644340914691802184337492464986955074660407935418030006388292644453718089220606138925055110121849101308730665612229743788026895079650986243249320538651170100358576496758962, 17605046043840550864806893032312053587293539809177924968494058164161174056811626106336929557021857457153393040070666831462943400200910972901515283493453713765143747623819142362201046628945731979297681238887809572669992190654753769348924894690159221463858031121698035055171899920812859234348180002635652983712814057633085806828498833972867232777271009978116516871718553019550626380517130082710461591107053667436720675059274978676195633279617079872126938691592675175742201413149966012679417293869144978803462022006669000080539671961015906245227850045852508716256481333998657165119609409766870681063551448126487393909386, 7859548957854728818794864477870292683549439030698661003187094019989312669286170834699412620422987423778557617872416132730524566178339344677774995655670174696434361100151647128592125965151454309249175225713711164746131931150420162008006779300449534481929443440967402121725708590862370113266880633348814618997790148164675264393015294942814688113865710696944538315888233632586401949314323334221724101896795292541826924293483477989583842009472028716427835883756570924015096747568906948469304628719812485929996228066751632498140109066129343427335598229167432590569814976052940250547097835050183398801080919130095339772868, 17605046043840550864806893032312053587293539809177924968494058164161174056811626106336929557021857457153393040070666831462943400200910972901515283493453713765143747623819142362201046628945731979297681238887809572669992190654753769348924894690159221463858031121698035055171899920812859234348180002635652983712814057633085806828498833972867232777271009978116516871718553019550626380517130082710461591107053667436720675059274978676195633279617079872126938691592675175742201413149966012679417293869144978803462022006669000080539671961015906245227850045852508716256481333998657165119609409766870681063551448126487393909386, 10971966542961671468840207736331232662986905504971716482577939980712600507425297747933933450862094450630342936359883445693376012454706292087694462979796984252994352280158015628531756732654269073670415070056794838416534581492462712033335358116034589664663617331740971835570177559890437473603593842845815059652182073387826823206740456529014423171099189018558018537337322479903269436604341836412489557732505493648261014965236770645695071921261443613372045845422886492209977556249750853573065754520714142988830471532211736662606926933215220380697189921018938698599985824375573247053639594115399570129541886766308630288466, 4019726896837661810078773442658874510466548634576516028264301604472011836290334521476033452267442015916735762619648434832561779119876633090970151523813350790715540145154449947005653864539552503325846574222294205415727180988077145357580432320049701614941789897215746518020890958114343321994530540005129950758559648484773771681643773855570576728341146445961863633579389257779482208349624742064304818688974955613173111109891235919284805355134020449288127711345291658520619397422240996740963449522447442728068057170542681768828216938143178072882456044802139640857058136058578923725014857543251215491300565130298581999043, 13632680305213305267976209496909225433736432309854835914876753332874347285089031140953994605730651833446065826463545783815043553366484786201146757843203763237929512941802043484974461852468781990980420285301189325694219438390172333416145305996626484139910538066609482996952602669323542965596262298417919202216431194973520955665366964859395716801126808545284964018231665410894334135258794825418051447486600875258848476453660250323291717551695276850885951129453086998368882425851179270124510558565727999333187689159750844792971803529033454590270555893179843026318361698657149806083335611364571226915537602147447973371756, 13376116175445528603553101856884268946710714897205510543498633261988983028011635374725190865500390813855192757151770377219107427204644676250498555508602999581637609734220189909166680011215967945541978959787527280113642753406407183018863715014809644950667580153799413178770334321950694646815481191921544486480634037249612846275275020063747493778319820605992784913560778264519143973537101198036025152176466141625879434794264086851711056130785288164501031128474218641579646795762498338832384699891020144721336808627891252782107758710310065568635415889358242105783587683331127577505114725660841392300037524498798501410009, 10971966542961671468840207736331232662986905504971716482577939980712600507425297747933933450862094450630342936359883445693376012454706292087694462979796984252994352280158015628531756732654269073670415070056794838416534581492462712033335358116034589664663617331740971835570177559890437473603593842845815059652182073387826823206740456529014423171099189018558018537337322479903269436604341836412489557732505493648261014965236770645695071921261443613372045845422886492209977556249750853573065754520714142988830471532211736662606926933215220380697189921018938698599985824375573247053639594115399570129541886766308630288466, 16961849095995299119490472572158662429193295047576145402161798062355350422503781542405950556819559815736798562188159537697116034106856991091928069047421543565297295357520681970298955947338005845763760968753840466706770023185697684355308970560154763065796602565707252901824736756156722372684437769051349850211706632454917209200501986882449844099274713423685688691678383153630337952082578685970150710332774816589693166176293287958168950486739814143511669169646563391661947674317152594041767903371116433134212886371830617553343194966825449618601357067239019715966183763605758382982286370853322273999446319797952223395961, 17605046043840550864806893032312053587293539809177924968494058164161174056811626106336929557021857457153393040070666831462943400200910972901515283493453713765143747623819142362201046628945731979297681238887809572669992190654753769348924894690159221463858031121698035055171899920812859234348180002635652983712814057633085806828498833972867232777271009978116516871718553019550626380517130082710461591107053667436720675059274978676195633279617079872126938691592675175742201413149966012679417293869144978803462022006669000080539671961015906245227850045852508716256481333998657165119609409766870681063551448126487393909386, 10971966542961671468840207736331232662986905504971716482577939980712600507425297747933933450862094450630342936359883445693376012454706292087694462979796984252994352280158015628531756732654269073670415070056794838416534581492462712033335358116034589664663617331740971835570177559890437473603593842845815059652182073387826823206740456529014423171099189018558018537337322479903269436604341836412489557732505493648261014965236770645695071921261443613372045845422886492209977556249750853573065754520714142988830471532211736662606926933215220380697189921018938698599985824375573247053639594115399570129541886766308630288466, 13376116175445528603553101856884268946710714897205510543498633261988983028011635374725190865500390813855192757151770377219107427204644676250498555508602999581637609734220189909166680011215967945541978959787527280113642753406407183018863715014809644950667580153799413178770334321950694646815481191921544486480634037249612846275275020063747493778319820605992784913560778264519143973537101198036025152176466141625879434794264086851711056130785288164501031128474218641579646795762498338832384699891020144721336808627891252782107758710310065568635415889358242105783587683331127577505114725660841392300037524498798501410009, 21926451921464754226921999358759786033615903779149210230707624274717377261074282143791166703445029506125400746029341900554425270396078477880049318450827375162326895365007162415299255358159116166490047814429011082159417516355768266421912089694852872433689227162351689840661582589437396387531337944308514304012968309806473818712150401036591571843393402013302843209554569456859283606465630328040930522097914735959000372790586800978096433928428426830391854583668290215610357459820424023026108109730688011080547681489355464369021144961544139652840316171339408247342547831875215261544510722670759048875033902615539438855317, 10971966542961671468840207736331232662986905504971716482577939980712600507425297747933933450862094450630342936359883445693376012454706292087694462979796984252994352280158015628531756732654269073670415070056794838416534581492462712033335358116034589664663617331740971835570177559890437473603593842845815059652182073387826823206740456529014423171099189018558018537337322479903269436604341836412489557732505493648261014965236770645695071921261443613372045845422886492209977556249750853573065754520714142988830471532211736662606926933215220380697189921018938698599985824375573247053639594115399570129541886766308630288466, 13376116175445528603553101856884268946710714897205510543498633261988983028011635374725190865500390813855192757151770377219107427204644676250498555508602999581637609734220189909166680011215967945541978959787527280113642753406407183018863715014809644950667580153799413178770334321950694646815481191921544486480634037249612846275275020063747493778319820605992784913560778264519143973537101198036025152176466141625879434794264086851711056130785288164501031128474218641579646795762498338832384699891020144721336808627891252782107758710310065568635415889358242105783587683331127577505114725660841392300037524498798501410009, 13632680305213305267976209496909225433736432309854835914876753332874347285089031140953994605730651833446065826463545783815043553366484786201146757843203763237929512941802043484974461852468781990980420285301189325694219438390172333416145305996626484139910538066609482996952602669323542965596262298417919202216431194973520955665366964859395716801126808545284964018231665410894334135258794825418051447486600875258848476453660250323291717551695276850885951129453086998368882425851179270124510558565727999333187689159750844792971803529033454590270555893179843026318361698657149806083335611364571226915537602147447973371756, 19347898796159268645710116792615596430521353043423712032010195429563575505593854917279188212699893014986853931005196054208798398335472822207820798974657069511308194029704548743342614230289603742422796863502425219865513637640053324942164997260066872100298487884125634048251585680363733770494141145099091007241801366370328467442516853589658319942401878518285409846943952050578800898833944298244460961765452450576500596835368248721938766271302656964964773263879660255299447935226943006783823708522997528381563262390965130289605351159715246954699754975790264173821005251176383039785534446576539563434445689414388328311307, 13951313912295059725080286112925024380412096179017018229477402156475886335805913967033985150342905083021739232223669029359908071720016380717272411671802808750448154143053890165960886453700743825838375241227440072760900166910197969965677405962812560230174018478753606974030727903433387548146948196558343274256463660067808227993510554669932103230413355629730583125087057630620611571603907412250920233759483976199506792221797965876243304312527623231563547673932796801047818870942577294029533262053986344822423321292770055237853579145346157139283997318895140992306203088768798713993730018596262882357990945143282725660903, 21926451921464754226921999358759786033615903779149210230707624274717377261074282143791166703445029506125400746029341900554425270396078477880049318450827375162326895365007162415299255358159116166490047814429011082159417516355768266421912089694852872433689227162351689840661582589437396387531337944308514304012968309806473818712150401036591571843393402013302843209554569456859283606465630328040930522097914735959000372790586800978096433928428426830391854583668290215610357459820424023026108109730688011080547681489355464369021144961544139652840316171339408247342547831875215261544510722670759048875033902615539438855317, 13376116175445528603553101856884268946710714897205510543498633261988983028011635374725190865500390813855192757151770377219107427204644676250498555508602999581637609734220189909166680011215967945541978959787527280113642753406407183018863715014809644950667580153799413178770334321950694646815481191921544486480634037249612846275275020063747493778319820605992784913560778264519143973537101198036025152176466141625879434794264086851711056130785288164501031128474218641579646795762498338832384699891020144721336808627891252782107758710310065568635415889358242105783587683331127577505114725660841392300037524498798501410009, 13632680305213305267976209496909225433736432309854835914876753332874347285089031140953994605730651833446065826463545783815043553366484786201146757843203763237929512941802043484974461852468781990980420285301189325694219438390172333416145305996626484139910538066609482996952602669323542965596262298417919202216431194973520955665366964859395716801126808545284964018231665410894334135258794825418051447486600875258848476453660250323291717551695276850885951129453086998368882425851179270124510558565727999333187689159750844792971803529033454590270555893179843026318361698657149806083335611364571226915537602147447973371756, 4327406089658571387382086508271291378059297059823317678834508020706088722304097927564289667735863042390592813220134636399729625337691568236692704694749934994033371566870401284859096246170974019751761833927508146047175845938655439929643035576511316720110846425005387569121976470263564035760535125407842004861750585965839836594653786296237054561788152049676666927109645288958269507411443236736414360593770538046994250829049199834062695942618084556004539733695636435737621519289750744544439279486268625157875556734216998724492174494506552541236545801090612802703262113652829899136766218913210179938098217965545729447349, 10971966542961671468840207736331232662986905504971716482577939980712600507425297747933933450862094450630342936359883445693376012454706292087694462979796984252994352280158015628531756732654269073670415070056794838416534581492462712033335358116034589664663617331740971835570177559890437473603593842845815059652182073387826823206740456529014423171099189018558018537337322479903269436604341836412489557732505493648261014965236770645695071921261443613372045845422886492209977556249750853573065754520714142988830471532211736662606926933215220380697189921018938698599985824375573247053639594115399570129541886766308630288466, 2368137833574460368134144326263357213649974238366232950553541467432806861334498365689622697673362808786525894733337366993584855524875057751289057121451766384085937181090421625272067905374298631914010828744261923948515121366259359885593094271024752210960655338618809290803865545832880912734245331506864483791239798224029561467929198298744326823202633607796723172719303202651636088703078491610156003605680347988528162664837286035479656184263470115860989838094334739857050721232018094191887563270397557643033221982874292607522228457771310077412162417694953811096885967551900042256755307066797685649859368344845936874520, 17605046043840550864806893032312053587293539809177924968494058164161174056811626106336929557021857457153393040070666831462943400200910972901515283493453713765143747623819142362201046628945731979297681238887809572669992190654753769348924894690159221463858031121698035055171899920812859234348180002635652983712814057633085806828498833972867232777271009978116516871718553019550626380517130082710461591107053667436720675059274978676195633279617079872126938691592675175742201413149966012679417293869144978803462022006669000080539671961015906245227850045852508716256481333998657165119609409766870681063551448126487393909386, 4019726896837661810078773442658874510466548634576516028264301604472011836290334521476033452267442015916735762619648434832561779119876633090970151523813350790715540145154449947005653864539552503325846574222294205415727180988077145357580432320049701614941789897215746518020890958114343321994530540005129950758559648484773771681643773855570576728341146445961863633579389257779482208349624742064304818688974955613173111109891235919284805355134020449288127711345291658520619397422240996740963449522447442728068057170542681768828216938143178072882456044802139640857058136058578923725014857543251215491300565130298581999043, 8546529456038687587070415792135564315059132648417704821970555601801960490217575230733037795191882905028883438831378568082872203573259388326625968862699973247254160822920341535703639965710605912771950461945285465533764944908218321240971729859692750516816084859811220995386673714659288440814701435509645357617255381811619295959182592737663239068793180925537982132927406179120781335625765203996992156721957720675427445321748227169446563509173128116107719663359249730313481610150668825420966759010768120874704819236903257266252571628124996631997403978548969588137936938853237543842282554679757316551619255924568523519612, 7859548957854728818794864477870292683549439030698661003187094019989312669286170834699412620422987423778557617872416132730524566178339344677774995655670174696434361100151647128592125965151454309249175225713711164746131931150420162008006779300449534481929443440967402121725708590862370113266880633348814618997790148164675264393015294942814688113865710696944538315888233632586401949314323334221724101896795292541826924293483477989583842009472028716427835883756570924015096747568906948469304628719812485929996228066751632498140109066129343427335598229167432590569814976052940250547097835050183398801080919130095339772868, 13951313912295059725080286112925024380412096179017018229477402156475886335805913967033985150342905083021739232223669029359908071720016380717272411671802808750448154143053890165960886453700743825838375241227440072760900166910197969965677405962812560230174018478753606974030727903433387548146948196558343274256463660067808227993510554669932103230413355629730583125087057630620611571603907412250920233759483976199506792221797965876243304312527623231563547673932796801047818870942577294029533262053986344822423321292770055237853579145346157139283997318895140992306203088768798713993730018596262882357990945143282725660903, 19347898796159268645710116792615596430521353043423712032010195429563575505593854917279188212699893014986853931005196054208798398335472822207820798974657069511308194029704548743342614230289603742422796863502425219865513637640053324942164997260066872100298487884125634048251585680363733770494141145099091007241801366370328467442516853589658319942401878518285409846943952050578800898833944298244460961765452450576500596835368248721938766271302656964964773263879660255299447935226943006783823708522997528381563262390965130289605351159715246954699754975790264173821005251176383039785534446576539563434445689414388328311307, 22643149344383988543780711189118637185213354407277209910056343577350980799270797013818100454004122061766001217034897722447973663631291909523023430877363261994489297504458214078579772983557906795513134416299584697477010997340464778658695763302135592744163704671338856579859588826476976963217515306302739392687796949610469488909231085665163907354963930802313844010577593437872066168680553489113635614036456980493092534160078716688896029233983802173664006485740355927924237888879423483755605498497812847142293407460308116318670294640539514231319599647669237120043546962281410868683927311510960533135511917249749005438380, 10971966542961671468840207736331232662986905504971716482577939980712600507425297747933933450862094450630342936359883445693376012454706292087694462979796984252994352280158015628531756732654269073670415070056794838416534581492462712033335358116034589664663617331740971835570177559890437473603593842845815059652182073387826823206740456529014423171099189018558018537337322479903269436604341836412489557732505493648261014965236770645695071921261443613372045845422886492209977556249750853573065754520714142988830471532211736662606926933215220380697189921018938698599985824375573247053639594115399570129541886766308630288466, 14671241329631132986841967002528035241014471791125368914871644210825482393759812673325469255319776262154566908321497206282929445129362526415977443890753698968129053953463647499745574669053262906998368978727339243596301903560260532279647384312588858332230179160441256500022418811152441866597612431472864591186402461355043575048679028633663335157311173979364770887920367320303529427826261715278753193418387308033864415177958495673063558939235189921974767498808687449372073948613511947461151539729866693849805924958243601169038091636160342060977829953283354102524758647387366598555182677582912602362890715699803965764573, 13951313912295059725080286112925024380412096179017018229477402156475886335805913967033985150342905083021739232223669029359908071720016380717272411671802808750448154143053890165960886453700743825838375241227440072760900166910197969965677405962812560230174018478753606974030727903433387548146948196558343274256463660067808227993510554669932103230413355629730583125087057630620611571603907412250920233759483976199506792221797965876243304312527623231563547673932796801047818870942577294029533262053986344822423321292770055237853579145346157139283997318895140992306203088768798713993730018596262882357990945143282725660903, 19347898796159268645710116792615596430521353043423712032010195429563575505593854917279188212699893014986853931005196054208798398335472822207820798974657069511308194029704548743342614230289603742422796863502425219865513637640053324942164997260066872100298487884125634048251585680363733770494141145099091007241801366370328467442516853589658319942401878518285409846943952050578800898833944298244460961765452450576500596835368248721938766271302656964964773263879660255299447935226943006783823708522997528381563262390965130289605351159715246954699754975790264173821005251176383039785534446576539563434445689414388328311307, 15370376346965959812573500557741662750857902788162386853428662764581336681408266508968748138864089524771419430241439215800194349894987759139224146330436611844882407213928658413702566382206034450547186850972459161680902515519904079749516120639375449392010976892500422170576944977162259575733553945718180875643853711555496316378738882619813207963602302392507982236333571909408664505018028934692320910850101077838144242953953359226525624159987364201644340914691802184337492464986955074660407935418030006388292644453718089220606138925055110121849101308730665612229743788026895079650986243249320538651170100358576496758962, 21926451921464754226921999358759786033615903779149210230707624274717377261074282143791166703445029506125400746029341900554425270396078477880049318450827375162326895365007162415299255358159116166490047814429011082159417516355768266421912089694852872433689227162351689840661582589437396387531337944308514304012968309806473818712150401036591571843393402013302843209554569456859283606465630328040930522097914735959000372790586800978096433928428426830391854583668290215610357459820424023026108109730688011080547681489355464369021144961544139652840316171339408247342547831875215261544510722670759048875033902615539438855317, 8546529456038687587070415792135564315059132648417704821970555601801960490217575230733037795191882905028883438831378568082872203573259388326625968862699973247254160822920341535703639965710605912771950461945285465533764944908218321240971729859692750516816084859811220995386673714659288440814701435509645357617255381811619295959182592737663239068793180925537982132927406179120781335625765203996992156721957720675427445321748227169446563509173128116107719663359249730313481610150668825420966759010768120874704819236903257266252571628124996631997403978548969588137936938853237543842282554679757316551619255924568523519612, 19347898796159268645710116792615596430521353043423712032010195429563575505593854917279188212699893014986853931005196054208798398335472822207820798974657069511308194029704548743342614230289603742422796863502425219865513637640053324942164997260066872100298487884125634048251585680363733770494141145099091007241801366370328467442516853589658319942401878518285409846943952050578800898833944298244460961765452450576500596835368248721938766271302656964964773263879660255299447935226943006783823708522997528381563262390965130289605351159715246954699754975790264173821005251176383039785534446576539563434445689414388328311307, 10971966542961671468840207736331232662986905504971716482577939980712600507425297747933933450862094450630342936359883445693376012454706292087694462979796984252994352280158015628531756732654269073670415070056794838416534581492462712033335358116034589664663617331740971835570177559890437473603593842845815059652182073387826823206740456529014423171099189018558018537337322479903269436604341836412489557732505493648261014965236770645695071921261443613372045845422886492209977556249750853573065754520714142988830471532211736662606926933215220380697189921018938698599985824375573247053639594115399570129541886766308630288466, 4019726896837661810078773442658874510466548634576516028264301604472011836290334521476033452267442015916735762619648434832561779119876633090970151523813350790715540145154449947005653864539552503325846574222294205415727180988077145357580432320049701614941789897215746518020890958114343321994530540005129950758559648484773771681643773855570576728341146445961863633579389257779482208349624742064304818688974955613173111109891235919284805355134020449288127711345291658520619397422240996740963449522447442728068057170542681768828216938143178072882456044802139640857058136058578923725014857543251215491300565130298581999043, 22643149344383988543780711189118637185213354407277209910056343577350980799270797013818100454004122061766001217034897722447973663631291909523023430877363261994489297504458214078579772983557906795513134416299584697477010997340464778658695763302135592744163704671338856579859588826476976963217515306302739392687796949610469488909231085665163907354963930802313844010577593437872066168680553489113635614036456980493092534160078716688896029233983802173664006485740355927924237888879423483755605498497812847142293407460308116318670294640539514231319599647669237120043546962281410868683927311510960533135511917249749005438380, 16961849095995299119490472572158662429193295047576145402161798062355350422503781542405950556819559815736798562188159537697116034106856991091928069047421543565297295357520681970298955947338005845763760968753840466706770023185697684355308970560154763065796602565707252901824736756156722372684437769051349850211706632454917209200501986882449844099274713423685688691678383153630337952082578685970150710332774816589693166176293287958168950486739814143511669169646563391661947674317152594041767903371116433134212886371830617553343194966825449618601357067239019715966183763605758382982286370853322273999446319797952223395961, 17605046043840550864806893032312053587293539809177924968494058164161174056811626106336929557021857457153393040070666831462943400200910972901515283493453713765143747623819142362201046628945731979297681238887809572669992190654753769348924894690159221463858031121698035055171899920812859234348180002635652983712814057633085806828498833972867232777271009978116516871718553019550626380517130082710461591107053667436720675059274978676195633279617079872126938691592675175742201413149966012679417293869144978803462022006669000080539671961015906245227850045852508716256481333998657165119609409766870681063551448126487393909386, 7859548957854728818794864477870292683549439030698661003187094019989312669286170834699412620422987423778557617872416132730524566178339344677774995655670174696434361100151647128592125965151454309249175225713711164746131931150420162008006779300449534481929443440967402121725708590862370113266880633348814618997790148164675264393015294942814688113865710696944538315888233632586401949314323334221724101896795292541826924293483477989583842009472028716427835883756570924015096747568906948469304628719812485929996228066751632498140109066129343427335598229167432590569814976052940250547097835050183398801080919130095339772868, 2368137833574460368134144326263357213649974238366232950553541467432806861334498365689622697673362808786525894733337366993584855524875057751289057121451766384085937181090421625272067905374298631914010828744261923948515121366259359885593094271024752210960655338618809290803865545832880912734245331506864483791239798224029561467929198298744326823202633607796723172719303202651636088703078491610156003605680347988528162664837286035479656184263470115860989838094334739857050721232018094191887563270397557643033221982874292607522228457771310077412162417694953811096885967551900042256755307066797685649859368344845936874520, 17605046043840550864806893032312053587293539809177924968494058164161174056811626106336929557021857457153393040070666831462943400200910972901515283493453713765143747623819142362201046628945731979297681238887809572669992190654753769348924894690159221463858031121698035055171899920812859234348180002635652983712814057633085806828498833972867232777271009978116516871718553019550626380517130082710461591107053667436720675059274978676195633279617079872126938691592675175742201413149966012679417293869144978803462022006669000080539671961015906245227850045852508716256481333998657165119609409766870681063551448126487393909386, 4019726896837661810078773442658874510466548634576516028264301604472011836290334521476033452267442015916735762619648434832561779119876633090970151523813350790715540145154449947005653864539552503325846574222294205415727180988077145357580432320049701614941789897215746518020890958114343321994530540005129950758559648484773771681643773855570576728341146445961863633579389257779482208349624742064304818688974955613173111109891235919284805355134020449288127711345291658520619397422240996740963449522447442728068057170542681768828216938143178072882456044802139640857058136058578923725014857543251215491300565130298581999043, 8546529456038687587070415792135564315059132648417704821970555601801960490217575230733037795191882905028883438831378568082872203573259388326625968862699973247254160822920341535703639965710605912771950461945285465533764944908218321240971729859692750516816084859811220995386673714659288440814701435509645357617255381811619295959182592737663239068793180925537982132927406179120781335625765203996992156721957720675427445321748227169446563509173128116107719663359249730313481610150668825420966759010768120874704819236903257266252571628124996631997403978548969588137936938853237543842282554679757316551619255924568523519612, 7859548957854728818794864477870292683549439030698661003187094019989312669286170834699412620422987423778557617872416132730524566178339344677774995655670174696434361100151647128592125965151454309249175225713711164746131931150420162008006779300449534481929443440967402121725708590862370113266880633348814618997790148164675264393015294942814688113865710696944538315888233632586401949314323334221724101896795292541826924293483477989583842009472028716427835883756570924015096747568906948469304628719812485929996228066751632498140109066129343427335598229167432590569814976052940250547097835050183398801080919130095339772868, 13951313912295059725080286112925024380412096179017018229477402156475886335805913967033985150342905083021739232223669029359908071720016380717272411671802808750448154143053890165960886453700743825838375241227440072760900166910197969965677405962812560230174018478753606974030727903433387548146948196558343274256463660067808227993510554669932103230413355629730583125087057630620611571603907412250920233759483976199506792221797965876243304312527623231563547673932796801047818870942577294029533262053986344822423321292770055237853579145346157139283997318895140992306203088768798713993730018596262882357990945143282725660903, 19347898796159268645710116792615596430521353043423712032010195429563575505593854917279188212699893014986853931005196054208798398335472822207820798974657069511308194029704548743342614230289603742422796863502425219865513637640053324942164997260066872100298487884125634048251585680363733770494141145099091007241801366370328467442516853589658319942401878518285409846943952050578800898833944298244460961765452450576500596835368248721938766271302656964964773263879660255299447935226943006783823708522997528381563262390965130289605351159715246954699754975790264173821005251176383039785534446576539563434445689414388328311307, 22643149344383988543780711189118637185213354407277209910056343577350980799270797013818100454004122061766001217034897722447973663631291909523023430877363261994489297504458214078579772983557906795513134416299584697477010997340464778658695763302135592744163704671338856579859588826476976963217515306302739392687796949610469488909231085665163907354963930802313844010577593437872066168680553489113635614036456980493092534160078716688896029233983802173664006485740355927924237888879423483755605498497812847142293407460308116318670294640539514231319599647669237120043546962281410868683927311510960533135511917249749005438380]
解密后与原明文对比: There can be no national security without cybersecurity