-
Notifications
You must be signed in to change notification settings - Fork 0
/
test_h1.py
32 lines (21 loc) · 4.59 KB
/
test_h1.py
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
from lelele import *
n = 8948962207650232551656602815159153422162609644098354511344597187200057010413418528378981730643524959857451398370029280583094215613882043973354392115544169
B = 32
L = 512
inv = 809037182693296649508274663574311665602072311159314871104234612434053535801385254074066516094470888810590831727492223370598442029694376099092663685681553
t = 5159249867668349911243806627181242575833458202543206475047697474526358261869186924011382790189208655648910161810615828513665526818684388075299493416861603
u = 6993593402624441730478397271530050151544407547792883514757931020250156884687820739065010112505728782340758650089770258982037764124192083288488753903779687
ti = [4294967296, 18446744073709551616, 79228162514264337593543950336, 340282366920938463463374607431768211456, 1461501637330902918203684832716283019655932542976, 6277101735386680763835789423207666416102355444464034512896, 26959946667150639794667015087019630673637144422540572481103610249216, 115792089237316195423570985008687907853269984665640564039457584007913129639936, 497323236409786642155382248146820840100456150797347717440463976893159497012533375533056, 2135987035920910082395021706169552114602704522356652769947041607822219725780640550022962086936576, 9173994463960286046443283581208347763186259956673124494950355357547691504353939232280074212440502746218496, 39402006196394479212279040100143613805079739270465446667948293404245721771497210611414266254884915640806627990306816, 169230328010303641331690318856389386196071598838855992136870091590247882556495704531248437872567112920983350278405979725889536, 726838724295606890549323807888004534353641360687318060281490199180639288113397923326191050713763565560762521606266177933534601628614656, 3121748550315992231381597229793166305748598142664971150859156959625371738819765620120306103063491971159826931121406622895447975679288285306290176, 5159249867668349911243806627181242575833458202543206475047697474526358261869186924011382790189208655648910161810615828513665526818684388075299493416861603, 1615056927036222818536540436109511519897880109009208407005747059412815424582253519683500743111683921432735379004679626245981298691864745311539294454869738, 165033952520132305845221975095335876275310054958068643604221901334921373713378731448193168912109735395014614900730614330295001823627033790824622720574798, 8538993764909927512725465125072948411611389093098376500017490333638579940195855321816766152050399699417663249783916519027558890177789891145279765673646186, 7437844578275358797920905804207733541334697030084163577642854216151366443130584275911579241324264849909853017288917439589749179986446785278284519597153548, 671961560180748200175764921083712656678424119063417676317140427682003478526673548807501634025370008436823855766736660119782480731755259340313925289100308, 4090498791478852095796373200800494142856281205280292783724202877291646007887551223487729744254706027507400213499428971261412228401440093576471682819293047, 1309129359049556234897378024648248702416927627124507615866715695323143581577221641746061500406639027631560634996165695404506230854702778948093571179423237, 7872694592936430487407260201144407041197521404075260551797350619721896669850754337069964658720737745810244292385162908059379521538887504875334828092395573, 4227537719683061951200547278578466784178344867945907007156646279435530638234534167791463591546519431255322194844837519233856146008122260876804939528407469, 6295805285142874717046908583316057841361155719229253575489532306657145726724216717016350010309628218130567815868098313194386117116767265341631593139695818, 6789891312924109772207020745457489661673756461148293944786807980125263681920809006865701942100237692522027476906559843914728343837358455258810492286648726, 68014054937275377984618706023347270571161826637680939845006761384208345950039868325812735313880442026491007547740460351261192519926976103078575735154674, 5100638363729968122847966899845984045067415870781405759299587418132822364387310366297232822090588331870734853397859494587628588710081739832263074650376077, 3859739349047082709153133922872005952332653211271251798099273208830273538376012742302101850398304078087861545008913026711753858017524849463175791327909591, 1142479709472781717609648600178318148593919213242417191766100639042258601494469986554560718079956978800535690595313107166646008506058297217318781007756673]
le = LeLeLe()
V = [le.byte() for _ in range(len(ti))]
# define short linear combination mod n
w = sum([t*v for (v, t) in zip(V, ti)])
w += inv * u
w %= n
w.short()
# print a description of the constraint system
print(le)
# find a solution
le.solve()
# print values assigned in solution
print(-int(w), [int(v) for v in V])