Contents

翔云

Contents

🧓第一次打翔☁🧺,被迫读了一篇论文,晚上恰🔥锅想到了第二个脑残题,本来想着晚上来激情LLL结果被队友背刺了,

想问一下某些队是怎么突然脑子开窍了一小时之内一起学会LLL了吗?

放个sb wp以明悲愤之情


simpleRSA

sage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22

from Crypto.Util.number import *


e = 1072295425944136507039938677101442481213519408125148233880442849206353379681989305000570387093152236263203395726974692959819315410781180094216209100069530791407495510882640781920564732214327898099944792714253622047873152630438060151644601786843683746256407925709702163565141004356238879406385566586704226148537863811717298966607314747737551724379516675376634771455883976069007134218982435170160647848549412289128982070647832774446345062489374092673169618836701679
n = 1827221992692849179244069834273816565714276505305246103435962887461520381709739927223055239953965182451252194768935702628056587034173800605827424043281673183606478736189927377745575379908876456485016832416806029254972769617393560238494326078940842295153029285394491783712384990125100774596477064482280829407856014835231711788990066676534414414741067759564102331614666713797073811245099512130528600464099492734671689084990036077860042238454908960841595107122933173
c = 1079929174110820494059355415059104229905268763089157771374657932646711017488701536460687319648362549563313125268069722412148023885626962640915852317297916421725818077814237292807218952574111141918158391190621362508862842932945783059181952614317289116405878741758913351697905289993651105968169193211242144991434715552952340791545323270065763529865010326192824334684413212357708275259096202509042838081150055727650443887438253964607414944245877904002580997866300452

m = 12345

c1 = pow(m, e, n)
list1 = continued_fraction(Integer(e)/Integer(n))
conv = list1.convergents()
for i in conv:
    d = int(i.denominator())
    m1 = pow(c1, d, n)
    if m1 == m:
        print(d)
        break
print(long_to_bytes(pow(c,d,n)))
# b'flag{1c40fa8a-6a9c-4243-bd83-cd4875ea88cc}'

more_calc

这个题吃饭的时候突然想起这么做了,然后回器那电脑的时候发现被ban了😁

$m^e \equiv c;mod;q*p$

$m^e \equiv c\equiv c_1;mod;p$

如果 $p>m$(一般是大于的)

$e*d\equiv1;mod;p$

$c^d\equiv m^{ed}\equiv m ;mod;n$

sage

1
2
3
4
5
6
7
8
9
import gmpy2
from Crypto.Util.number import *
p = 27405107041753266489145388621858169511872996622765267064868542117269875531364939896671662734188734825462948115530667205007939029215517180761866791579330410449202307248373229224662232822180397215721163369151115019770596528704719472424551024516928606584975793350814943997731939996459959720826025110179216477709373849945411483731524831284895024319654509286305913312306154387754998813276562173335189450448233216133842189148761197948559529960144453513191372254902031168755165124218783504740834442379363311489108732216051566953498279198537794620521800773917228002402970358087033504897205021881295154046656335865303621793069
c = 350559186837488832821747843236518135605207376031858002274245004287622649330215113818719954185397072838014144973032329600905419861908678328971318153205085007743269253957395282420325663132161022100365481003745940818974280988045034204540385744572806102552420428326265541925346702843693366991753468220300070888651732502520797002707248604275755144713421649971492440442052470723153111156457558558362147002004646136522011344261017461901953583462467622428810167107079281190209731251995976003352201766861887320739990258601550606005388872967825179626176714503475557883810543445555390014562686801894528311600623156984829864743222963877167099892926717479789226681810584894066635076755996423203380493776130488170859798745677727810528672150350333480506424506676127108526488370011099147698875070043925524217837379654168009179798131378352623177947753192948012574831777413729910050668759007704596447625484384743880766558428224371417726480372362810572395522725083798926133468409600491925317437998458582723897120786458219630275616949619564099733542766297770682044561605344090394777570973725211713076201846942438883897078408067779325471589907041186423781580046903588316958615443196819133852367565049467076710376395085898875495653237178198379421129086523
e = 0x10001
d = inverse(e,p-1)
print(long_to_bytes(pow(c,d,p)))
# b'flag{3d7f8da9-ee79-43c0-8535-6af524236ca1}'