-
Notifications
You must be signed in to change notification settings - Fork 81
/
0.wl
32 lines (13 loc) · 1.86 KB
/
0.wl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
(* ::Package:: *)
x=11124440021748127159092076861405454814981575144744508857178576572929321435002942998531420985771090167262256877805902135304112271641074498386662361391760451;
y=11124440021748127159092076861405454814981575144744508857178576572929321435002942998531420985771090167262256877805902135304112271641074498386662361391661439;
p=NextPrime[Fold[Mod[#1*ModularInverse[#2,x],x]&,x-1,Range[y+1,x-1]]]
value10=80096058210213458444437404275177554701604739094679033012396452382975889905967;
value=NextPrime[value10,#]&/@Range[-9,0]
valueQ=5591130088089053683141520294620171646179623062803708281023766040254675625012293743465254007970358536660934858789388093688621793201658889399155357407224541324547522479617669812322262372851929223461622559971534394847970366311206823328200747893961649255426063204482192349202005330622561575868946656570678176047822163692259375233925446556338917358118222905050574458037965803154233167594946713038301249145097770337253930655681648299249481985768272321820718607757023350742647019762122572886601905212830744868048802864679734428398229280780215896045509020793530842541217790352661324630048261329493088812057300480085895399922301827190211956061083460036781018660201163819104150988531352228650991733072010425499238731811243310625701946882701082178190402011133439065106720309788819;
e=65537;
NCESolveM[nv_,c_,e_]:=PowerMod[c,ModularInverse[e,Times@@((#-1)&/@nv)],Times@@nv];
q=NextPrime[NCESolveM[value,valueQ,e]]
c=110644875422336073350488613774418819991169603750711465190260581119043921549811353108399064284589038384540018965816137286856268590507418636799746759551009749004176545414118128330198437101472882906564195341277423007542422286760940374859966152871273887950174522820162832774361714668826122465471705166574184367478;
m=NCESolveM[{p,q},c,e]
StringJoin@@(FromCharacterCode[FromDigits[#,16]]&)/@StringJoin/@Partition[Characters[IntegerString[m,16]],2]