apbq-rsa-iv - SekaiCTF 2026
Challenge:
from Crypto.Util.number import getPrime, bytes_to_long
from random import randint
p = getPrime(1024)
q = getPrime(1024)
n = p * q
e = 0x10001
hints = []
for _ in range(3):
a, b = randint(0, 4**312), randint(0, 4**312)
hints.append(a * p + b * q)
FLAG = open('flag.txt', 'rb').read().strip()
c = pow(bytes_to_long(FLAG), e, n)
print(f'{n = }')
print(f'{c = }')
print(f'{hints = }')
n = 14999853502053319423177058744221961325834010847678005650848398429465000177140714196548148163337804416021374304634949441426248580403103555437026478929190722038490304981753636704180827512199831461832922688976201190837767205719465583763780813282929971684255380122478746337344012884510287043648239025146943139770759285350904634371574155585163484628015601322749120894631751396028253790888810238633427403492450330068078846135717819188006869084181968212553909046171001145518649028552848071756770253813553246903033362383065552519421028172300841616323846025346701078634029291848843603454769598945666459490997524707271990596543
c = 4842456813206744639215822112251201329733732108133819315232654780513216078743525148300527476668433418306199581962731135281577724403631081759430211576597930102127958055772489318280352507058623962349936621745379119578446462282985031447559734942794566491432740620465551308811827761604137839752888378985855740568997772023228990671689003303463565739087129463953005055685089755272190485629749577509375756559176926609680892078217484945028018066421049575711038063621844737131941961191175340753620026142512918863674283674573267438210993185981539514081784698587589295127382598872596432924017993500843329511734518698670686102195
hints = [5375304907678477104967708980595850172904570744844840479112465973975716018640406062518012600007461414423566032044022466751576573355958378137085799506211264068963278482266668297989383477851021303711380095372703399364129909004445809487050651296083860343265402984109663537222380041605494345079182805110381505697275575688858695302528055019284285158822170010834400226336858184306845968429425252696660677606844017246870062671467660394469171523543248204360744912516010559859868810644811887402848827561223, 13971157658006406068140088711197814259141302748988767182314964521198606279042495002874210789918142428045931596453392823687808652907740269158134107135884094906016042996074927396903646563426915461403506317922061776736434298185849223204346317547586927117840152854744975205236117375896408595189997911288539505874399722244241073096889372775532677882355311816172750224388652112218259134499412971462867479492883781954131256437047468550964462049767181768318709005275401621875710674623689941210245781870099, 11973881421056283464616362728709698271314884408110648616330436789505930054382536678505721685707765982554863816643405134314276996082728393678221599876021680882446167608847619080643915396888875187360719194200995925675162335840978547541701213443038476555710295706596532967348319145464089501644085811324748296480711770928663729683996760638798139351941320687552108305362036835907251463878950680657020392548261237769318929638022352941368564224199621775977493122486554785508581089360519540429611052802727]