diff --git a/challenges/vol9_rnd1/Day0/00_Entry/README.md b/challenges/vol9_rnd1/Day0/00_Entry/README.md new file mode 100644 index 0000000..f0334f3 --- /dev/null +++ b/challenges/vol9_rnd1/Day0/00_Entry/README.md @@ -0,0 +1,5 @@ +## Entry + +Welcome to a decentralized CTF! All you need to get your first 128 points is to register in the smart contract and use your skills to sign! + +PK: 0x206863824a9e6b6018bd25eb36ae69b7140963ed48f428339dfb52b09d6aa30d diff --git a/challenges/vol9_rnd1/Day0/01_Illusion/.README.md.swp b/challenges/vol9_rnd1/Day0/01_Illusion/.README.md.swp new file mode 100644 index 0000000..8d3ad6f Binary files /dev/null and b/challenges/vol9_rnd1/Day0/01_Illusion/.README.md.swp differ diff --git a/challenges/vol9_rnd1/Day0/01_Illusion/README.md b/challenges/vol9_rnd1/Day0/01_Illusion/README.md new file mode 100644 index 0000000..bc13a67 --- /dev/null +++ b/challenges/vol9_rnd1/Day0/01_Illusion/README.md @@ -0,0 +1,5 @@ +# Illusion + +Sometimes what you see is far from reality. Can you solve this inaccurateness of our interpretation of reality? + +Address: 0x9b2f75bc503a23f3044e27d1b98d8c0fdabf0aa2 diff --git a/challenges/vol9_rnd1/Day0/01_Illusion/illusion.sol b/challenges/vol9_rnd1/Day0/01_Illusion/illusion.sol new file mode 100644 index 0000000..652e44a --- /dev/null +++ b/challenges/vol9_rnd1/Day0/01_Illusion/illusion.sol @@ -0,0 +1,14 @@ +// SPDX-License-Identifier: MIT +pragma solidity = 0.8.16; + +contract MagikTrik { + constructor (bytes memory x) public { + assembly{ + return (0xc0, 0x19e) + } + } + + function flag() public returns (string memory) { + return "CCTF{0x2311157248adee133b378f46b30050bb4c7508e6bc9043eae5e6566f5fe8595e}"; + } +} diff --git a/challenges/vol9_rnd1/Day0/02_Metaverse_HODLer/README.md b/challenges/vol9_rnd1/Day0/02_Metaverse_HODLer/README.md new file mode 100644 index 0000000..674749b --- /dev/null +++ b/challenges/vol9_rnd1/Day0/02_Metaverse_HODLer/README.md @@ -0,0 +1 @@ +To be released on Friday 10:00! diff --git a/challenges/vol9_rnd1/Day0/03_SubContract/README.md b/challenges/vol9_rnd1/Day0/03_SubContract/README.md new file mode 100644 index 0000000..674749b --- /dev/null +++ b/challenges/vol9_rnd1/Day0/03_SubContract/README.md @@ -0,0 +1 @@ +To be released on Friday 10:00! diff --git a/challenges/vol9_rnd1/Day0/04_Asinve/asinev.py b/challenges/vol9_rnd1/Day0/04_Asinve/asinev.py new file mode 100644 index 0000000..1d1babc --- /dev/null +++ b/challenges/vol9_rnd1/Day0/04_Asinve/asinev.py @@ -0,0 +1,11 @@ +#!/usr/bin/env python3 + +from Crypto.Util.number import * +from secret import x, y, flag + +print(f'x*y + 37*x + 13*y = {x*y + 37*x + 13*y}') + +m = bytes_to_long(flag) +c = pow(m, 31337, x * y) + +print(f'c = {c}') \ No newline at end of file diff --git a/challenges/vol9_rnd1/Day0/04_Asinve/output.txt b/challenges/vol9_rnd1/Day0/04_Asinve/output.txt new file mode 100644 index 0000000..2baba8f --- /dev/null +++ b/challenges/vol9_rnd1/Day0/04_Asinve/output.txt @@ -0,0 +1,2 @@ +x*y + 37*x + 13*y = 78165212618609657138836880180784953147937847225293529662866015685047230804901135619861816170298320767361932994009655444276454635767070943018615661814998170196988225114090917916739405210438739233946336624923903318136213856380816539075895614337743455379152165904564622942983293828630483375617563060841436037032 +c = 77659016890839762768185177448290865321689103903688518906063059972868578338626965390649161940137932439934612804680280807664502018534568684267970075208429306631612376831959148670053665126977208637383716238501111347514927281055286901278746032120016861900738163160264095274050080381725656064614271318154902797773 diff --git a/challenges/vol9_rnd1/Day0/05_Mazlos/mazlos.sage b/challenges/vol9_rnd1/Day0/05_Mazlos/mazlos.sage new file mode 100644 index 0000000..5c50169 --- /dev/null +++ b/challenges/vol9_rnd1/Day0/05_Mazlos/mazlos.sage @@ -0,0 +1,19 @@ +#!/usr/bin/env sage + +from Crypto.Util.number import * +from secret import x, liar, flag + +p = 2 ** 160 - 229233 +E = EllipticCurve(GF(p), [313, 110]) + +m = bytes_to_long(flag.lstrip(b'CCTF{').rstrip(b'}')) +assert m < p + +P = E((x, 348211368764139637940513065884307924565894663368)) + +Q = m * P +print(f'Q = ({Q.xy()[0]}, ?)') + +for _ in liar: + a, b = _ + print(f'{a} * P + {b} * Q = {(a*P + b*Q).xy()}') \ No newline at end of file diff --git a/challenges/vol9_rnd1/Day0/05_Mazlos/output.txt b/challenges/vol9_rnd1/Day0/05_Mazlos/output.txt new file mode 100644 index 0000000..06a5548 --- /dev/null +++ b/challenges/vol9_rnd1/Day0/05_Mazlos/output.txt @@ -0,0 +1,111 @@ +Q = (1149184445068682391846063871207801540582566148181, ?) +988630086215088960552365492199385561429165176609 * P + 1425125798010320856068882317674624408728758262149 * Q = (891327570936736199376593816180714400577229884155, 505501515961791528437427462563346499726188382939) +1260450147755255597869480951959834842941719116575 * P + 699738988783849332839255718960955630080794695244 * Q = (944858780950308888632884662181651921121435950644, 429287656427671942225859201128821639149557960001) +127348066282706815439725877979880618543908103093 * P + 894350962161251572940964969870274141039188710311 * Q = (670434942883837254710430806097454831301828216484, 788753699995968465470731368747478709210040098146) +1043826648834429472305931240604668155611728330937 * P + 1342322396624500632270187554226846551256955209229 * Q = (362677435621982290517004688594915942429828549456, 314219895272421261208075840421092334924302526830) +803729470612530365522358877199543923902925856150 * P + 530054954779981979819724228883040083209499412793 * Q = (920346092821634616151603476038272215373999095715, 275159599532259974045396250895837600028800441112) +893723477877843320902118584410350116822895818696 * P + 211155601225987467429108044781250616637181396334 * Q = (1063850627675720120145159993376240287080986191694, 890837959711862297188002674099362027553861169687) +5007339194230261965136074875375133987796015742 * P + 1181661145340628811169250733264617512334954185830 * Q = (679918816734405330432523483123942869125974815453, 1119608671998053139878595075131105932939987602772) +1415051061375272409130906517030573639873333286310 * P + 1163062110826483903659824912056572556567650210470 * Q = (133943387840348302843484784484958673438663282701, 779958243956649805963943404943065517476824426681) +983954572138271748182102584822521998924246662662 * P + 642401554568052122962917374055758750056499767645 * Q = (1185431286492515336341939460896450473743337575659, 952983801375562470161187371120945525549806922500) +863100200243180380634619811808609485141492376330 * P + 108816122196558594129553789608904780874200772214 * Q = (1234845771517569122058823829644118186136375433103, 397971358581695452777972516888443480846254918076) +185721978764932289532903442488891915392154692941 * P + 403651881205558186080017208753540670213570057760 * Q = (858281557595733060066089965086964669123016237651, 722880557664802244340212626454249872657928456973) +1030647493503135753300227224247257891767825267025 * P + 296097860702221000475084408371905669416604018204 * Q = (1128566961843772811914433426943109095173492818402, 292610396053958515730699448673204088375471570252) +608520125969793877468823009322477932831229156635 * P + 317914491820159161829459369735419519625068860980 * Q = (1139470610553906346349393817188329317197877735270, 28904600306673683929418154406116369539091209684) +169591749925402600374976992218165204399162412069 * P + 639938287288503692804094507244802476050758218745 * Q = (1374815299423168935999479215860705017369562043519, 1143750508349763061552625148286048780114401479373) +1008018310661440307568680336067800042828386631456 * P + 739258865178338186594955677433995013333113791415 * Q = (112856964108552324762779458139020007797397010595, 129279578494141873496695905048383155643352965428) +759872533352375786134101947395855010599013658566 * P + 459596961687547506944822832369448163708908071442 * Q = (1127902347614252494705238782231680966962524703932, 228459991760960373091440325416248651991017060682) +749041215946132170033201582479452400065805827870 * P + 254034385776991394571955823013987997397735989241 * Q = (1113595794900793849721194945012257912730112581160, 180190684229770104577597308936509376328475686581) +1236397609253659679662113578432027577948515519817 * P + 1158586233022362088783770010487612443639015770011 * Q = (780680158882304061341110879018798158742559846196, 1334794111654950984266641839380422342807366398640) +1311455777072765120644867291227914648935470355528 * P + 635696152357573334774856896702844800017553963230 * Q = (196639252633148849303079067563845614755485384953, 39317710925209943984526078977801217652542441429) +990820388754383323480675553511411570306631308600 * P + 968848922471165799433718895669905415239312121382 * Q = (1015678921088030744888701606814823362239826747537, 1178936394338466698454413356426098298135984623043) +974272603666033977607364834299316220369966988438 * P + 1339713882009183183023734790734956240881790774646 * Q = (1315083696098910524644337929517592331190744803042, 348198576880448246881091758069266312127004591749) +781463747375291909695020720096929998117925944053 * P + 1281868322011440541777142748542898296547602934631 * Q = (296055139960984621382412561562337073191191903229, 449506613639598371806113833690205075985575743625) +114542818691733268318888056723223800819215172319 * P + 553510296467419048879025414832809482867791620790 * Q = (976254987906056100680722307281540185634896661999, 381789480862532053028809640985178761245830433279) +457232431407333177748889927764423747778420105046 * P + 1002115470261450859929110024025953846243146960123 * Q = (1311948966591362227412514251163264215186757329188, 8070756425233483804363631980253394605886326511) +838115147484879346130201739070318902153738883153 * P + 518114451135807778540193666295254685855505279387 * Q = (490517391056819598783410893494947357877785828517, 745245208827851129189427459423724634427852305548) +1009589871666307166300959187423785114249701835946 * P + 1404233887595918023734795383886915459641899867274 * Q = (975189770679813551229421842198414640009492022546, 724655204398926712884378771192663894990410395763) +125212613110845316041292416323769179784084313229 * P + 441285311227671645009515929717620398226026693871 * Q = (709937214248629139995730117676441195553624030386, 420500046127871308641223535452302293555733635917) +960158972974084677563521473528839670871385805119 * P + 893943408722192439271197095157532294888830732932 * Q = (734850622797133679902532574169513014151661186412, 202873404345435595667111321514503011171198273877) +196191693750277735553439652923973622016448709865 * P + 1217924103510175179485143807639704951254313988269 * Q = (852092285629195836273940940379925039114935133563, 28657806936637520367796484497888423437352307651) +1201372033038847936797784256333139170015473067777 * P + 746605167034921887388237237243039860505872643211 * Q = (1052570654981203725486825980968616756670884494880, 47451731074684740408072973258204504308273213901) +236539948945702822315642946732091859607976083835 * P + 1382160877401702593030656810336876025726611858767 * Q = (724207440190907016361225886713717072863237827685, 958076964877682615032387104634807253714136226885) +1200846896003913362837425763395307644605936884582 * P + 861112026989275072023032355176666238975298579876 * Q = (7472412216952816471123091836914041639545281410, 559957093680813618904250711191904963040185409234) +1363056900073624436627095836330958646386602487841 * P + 732417868377858556035746893616514605399194139466 * Q = (518084874461403307769827975114032699429537394781, 658211265349771228558703348939244481223500366535) +864724228976249948587336103753243100747571655710 * P + 1424503717812681289814797169977815752253765334193 * Q = (444737455598791399254555777532350835088758459674, 1363704708713334453420202041557248185769644985101) +343119025157590160851991767385607662517044084674 * P + 521943245479069280220252186877801269077647622476 * Q = (821006955206213980393287856384244440335201413615, 678024081421753824233309352387834116372628290004) +328495151520096492919611491628918475758941152909 * P + 871050659709077188701224859361181933117917627730 * Q = (961125281634916840074893431224642432122848335001, 82502299651186252030097694228387834086962759217) +13232568035956065874428654211619886855209057917 * P + 1458390948054542062128171883758960402775086702249 * Q = (286740938780051092572013434871697815578389759993, 1063505574011535810868942053641767007055270769806) +351240953625744757565127588675345639202095615751 * P + 718881006620442813909734234693948022193091119193 * Q = (1373033950795758676317594358374786420879986368744, 930101297242514808255263821561989761129038927148) +1214068158774786803837141788013410793476261483529 * P + 299402079820563266643495419086583164743163837102 * Q = (712217468307146883697167024230724959434563497036, 140133682923973244681411882036270009752896658063) +87192900838053074957140734195448207949739887727 * P + 157857892477260752819417955191416019838867573564 * Q = (379965804476207014911504158048474736182040452403, 517881249617925048704170755552678474566893150345) +1378955404717959499743124679614137028696179946735 * P + 732523804654873846648822221031100699232293806298 * Q = (905301907596232523244613282621818775878542953717, 1033672856587054238820469902676826894595670889873) +666079656484329610803328794779940181873757162654 * P + 506008217071642990135389683078028408889594809091 * Q = (1176449032327948445762115718918736354720586097259, 429608259506597155472244647783933592009831825544) +569874061748924105401701486845860574970596555748 * P + 268034769474221355476395286968268071797612375500 * Q = (569467832543343330073040169120819736935732531369, 1187078747977566303153509355870305910635200096598) +574250807825193402681173213305171464504429229026 * P + 845556384449911691501051717923232753052857737226 * Q = (592689843590270172844312760181624797833604505530, 344722778369657743864797948579169032709438046857) +35547500358400002770067902418771815038637774574 * P + 532673739466038648649617654832049576331218098911 * Q = (10485109866935673712422006211605771881880739797, 435246962396832695154969404345395604377950346307) +756806959285789301092516823507424303672192654683 * P + 858616498512340417868429780502468443057726343799 * Q = (1210178575974230294586971622362991542133509778891, 529660594449256081091132001214542259070824348704) +330890284498245655823245244008044398830057842478 * P + 151084158565983696719496542810275682171157648075 * Q = (409806846148845336305583502225562929984881493301, 126500938670960901926505110380577087796655061578) +1443156287944240181368932849369215351633133777473 * P + 75761281462035874992482199101387236305905043795 * Q = (647941532498578505549323512501402965035560878410, 539371664535988964140544333316305852413932998270) +1113159626655995370958032867268444092546403877872 * P + 1265474347163526401108011524056351245804879551701 * Q = (1315353945607106721493145174465513608731254699954, 50414669280979843008136205390997042938264765137) +234796029953380233678533803347433466247807659681 * P + 1105797688992521802555657360996000916820988812199 * Q = (408444371068115407851242898794644954130949020525, 1116824857821992572594214225341468824586928957918) +1388758844655983383342520264828234454266738163291 * P + 22366212558093182349764466735887676580312389867 * Q = (789872794090635054449090400558595596281549259768, 917463288365322797528359430142020705358360723166) +830041201387735700038630457190260474074423384974 * P + 79758032634935416377300368568009875349352361565 * Q = (881601126151818390965445385558862201255119327262, 1062164069150922922298891863579624514977351678146) +1149967512135743740456885930821209147515070830434 * P + 1391000801640767739950006869795062956244837461958 * Q = (895683176861666441446297732257422788619994082211, 1181021297027342079675798660327704160959712076349) +425486575419487513112841855580246325152347821233 * P + 843099423535105066355645343118661264746005364220 * Q = (1425124583208710324977534054845408500122882962984, 876959356522481908380575034258270993554654063704) +861659929995240897663280280285984298489643746716 * P + 730577000046299504191459998249962726963146274362 * Q = (974417815239013722718616390489889227646063187743, 715672924930579912663265729400984486921034650690) +666880732502114642567751934550434669275914954620 * P + 1387963527513619186172028676279136655604881246066 * Q = (840774351134276408972154217651625410866780652039, 128649753577647917617761783451666073667640435592) +1023875755148781425725579894463658582365210923874 * P + 1063808543494145070813290084760666331005096561514 * Q = (893256570705782134929919060126781544935053406747, 1056985105382141766853321443725944696100659666912) +855138284701250060000905943575545859758877368379 * P + 1300626926689332170867468826452390622386934395192 * Q = (1263326934246039358871192874426400087525112814145, 1015910823381021151790236506969899307880637779194) +131151585311698996264641060590956352639677342538 * P + 138764838019655197919261935531677769785795523818 * Q = (830278131067392205307654136546593316466987692985, 1443278429141197112825852971554557163919982906994) +1438308046558610569478031991194627397484760926155 * P + 556538017327362316826260662010956239612818063997 * Q = (679918816734405330432523483123942869125974815453, 1119608671998053139878595075131105932939987602772) +1407438690206414165955330765368074352888495366880 * P + 199972748685185914720817291596034220565758272627 * Q = (571335345988057449719409149667530046089059032958, 218539199401695609052358889534011569623052107937) +45365064695415548217914859873749593374734196875 * P + 430488938186544273951651609639590691994655532973 * Q = (606012024851044752276833165797639815674967754570, 1179274387370830083560385073660468680373582147506) +154201738889322128017934004293479005982541512117 * P + 1094664787920341005750922552902415988250074874869 * Q = (252768173556988853338674883035658989914356360173, 416584811246223625055278632030633891421862238049) +580893342962852494979766342250108565668706541169 * P + 1278514957999249397946757566610799963063468121390 * Q = (271167107995190941130633775074738909435277991351, 795676320126305980083680991286536051432903624902) +269612952532519625845471538421093632106863485792 * P + 1352004769977439421560568626680295912258834717761 * Q = (826864354016974841366323826109876004899899257889, 562081786413478400397882625669787085339224474649) +927213601324618751189465752830493060888912641607 * P + 281357148911401861880916773848145772564064251815 * Q = (145731500617649192240272800062059283697809963606, 894514084011180607433903717788772966085804557089) +1031464818571231832025702569483596278361367586782 * P + 766867878148878217096487519796255912296596202527 * Q = (998367342158914071809712935437443688808117233603, 35376332771138770504467466393981714091679871027) +669770921543018168199309784802031899711916929111 * P + 563333037075093095820325880855942323008791093072 * Q = (659399800255939852761451421911438442474521614109, 1208846800476587174107268426130571125808681975664) +1033968336258307561205272035774563105985131016891 * P + 404170445358306539477267952294071546451656099268 * Q = (1435901891924719254844121062980024627857171232704, 648808283860224250258296980435416134227939795576) +842698737602142255440924022034239363332353300209 * P + 662178369309994155167343526819287809067232320140 * Q = (439619159887487181503332018140768393812529584227, 693116399480613675971269288288473004416197927729) +1032704702589273419452231161613680825211126154917 * P + 979628903946939107067228108336451625485199649636 * Q = (460675565281829941399569772808225126026718000581, 1260959847030123303131345195091034769384017553115) +1196750535444873045898105555768235632304209636965 * P + 1309222986658572777845420204086875480040117736275 * Q = (222585550527884151974033677456708653217841913153, 527562977655209568429804839129826858751682478471) +887781788333456873241702180595051565618721716038 * P + 129605905860655007152845337185910810473363917741 * Q = (306928552306185255973393693594732061164403887502, 421170329022417291294548622167340087909420088739) +1168961878944621442392715222089757436080471375671 * P + 381077936813066665126379001446147357115208166466 * Q = (113979334486276922285267608072154111893231284007, 1131292508020987043352014059063058237690483773240) +1333806389960225698490428704651928563902960351744 * P + 666616121208771647867831546519152443127847651312 * Q = (1267704747531047867968758854016743073845207862723, 659979889890702243706026914613907514960755170502) +1351847991892331119833529572987431988482138294210 * P + 1198012098894873862905750556312736255830521788739 * Q = (1258380021024204591797095399787460013626115981043, 547453421961483575606540980793250480783305427227) +1245615583236924332108220540372149795183541815632 * P + 1224324032113505384836442161797453724660600351284 * Q = (535583269801662402312023770316277667840208358807, 1333684135208324943240540422039332390432649245861) +780673896240992592792941764437954147709713742492 * P + 552153493419401431973287876014903024955973363390 * Q = (692884292967231443456577228127172881766971058868, 577617191289456890185196160044490599907638457437) +975149172089402276836361128055206848437321834600 * P + 936161427956831891804189900221526117754919995568 * Q = (524769135349516490701346706350159562553244026092, 1289798720997888058060947176776019851839276169795) +62525429904127843868869594775249724469969652220 * P + 541047958475309356724419537653687808713725613060 * Q = (612731471394651863129810613788056229226165596061, 625125375656530547437218164973982977366329510784) +338508305978851903957644594092375121114276611449 * P + 1298068499747689739597888375261277492596117094053 * Q = (840472312344512974046546738998748734832840788248, 192716637249466496341133808268248178783155066618) +1212340008753579040074037442117145812263897984487 * P + 970935497194303397720041738521935955424739761531 * Q = (1245900134866391496855467751823298314908729201311, 1220882664872055421574827381223475892301892702936) +1091258685966776640459395009210312410165693214666 * P + 404183775378178658545811403490323101179672912920 * Q = (140433781910535166016836524374678145156139432997, 984172930511546324346335157646700545464711796129) +584679972884465578727030568942503367849907153134 * P + 375161359965062487131398958491874104957760271948 * Q = (1201438588487158888954716530028406014362247863815, 1125430022976228252350778537651484395051142863449) +970725556522284424669395630339638233952646243807 * P + 1339521450216227506153121214049003254119388112049 * Q = (365550715381848922239100023077919310400085567254, 402929780755666438781342041599190010253705443070) +1197438089245506342094706486132667802734219622805 * P + 1260877476240535762449178208760762877241382713212 * Q = (1339482016049009260306189593060428598707614532928, 1286454540954416085501338648966443731760385421820) +453665042936991953114958911921612945314300150561 * P + 1205338475577956075371244225813772634462861385884 * Q = (394705013040836988861171828768702133367950681404, 1458783326499990409673896424526391673353102292233) +1380643334400412529842320734118721047651681961835 * P + 526130516655867887238216092930451535583588101012 * Q = (1350492180371501238053569214525554961660869354138, 1302234868945344943680796393191679449328367922219) +852579964585721476011028893336273825197531281550 * P + 1074121786447451836142521459413821614299246198720 * Q = (220098058795523775034584645706647905760264114640, 694927823227345925864445392120394003817275633401) +65242861517611915295439872937512468573070256638 * P + 8507751475485406501123937385236819331856469558 * Q = (367816275024682233535642421114805907698284008604, 502981289900398321750020839043836075706800921909) +483635448757344508427274961747699408512346618164 * P + 1248279406012919492720168070038479617892410558398 * Q = (834877767743141026371464065597386009483929344657, 686789100239344501771937634474384082028181648972) +1430903885457210480797116067995214542549209680218 * P + 1413983024347795448804888991559305403223548283726 * Q = (181014823738451605337049888879006927910918392765, 789574957358481698254756507150334959468138563648) +171036140268547188496698577210585981717737773449 * P + 1009347576385001776407127709607738106886737076271 * Q = (1359636389168334868167174588706346704113333500900, 305192917616408056825381337258716050158594883142) +463613631442024091172292940767388926944431110821 * P + 1287299516183786388110012527393637858868061090442 * Q = (690115840770835249773603110984937581744183817453, 1322837792185693358283519907594595690105867354767) +1058742014290543549467463620560149669836120098476 * P + 1431311446012982402172744353459288537070653922361 * Q = (698841923137322828241456218094918000552619125297, 410528440815059796331826422978319945535948959100) +204835218114611820779218546468988856515961517461 * P + 642075050040169545887302064140487505476208660042 * Q = (882320320746140814328380864078829222604998642883, 266394006247579737776960598725661638585773307776) +452994853496212854059392921382304700143043435767 * P + 625830705274014263576143284955012511633948105893 * Q = (1132057131509066265937360877194068848084089359683, 593804686407956330707147555697436707251795865887) +608454470284771646977519913592084368657068895756 * P + 378351915516900520850594542380292809031804374414 * Q = (225716039010399503729150947587375381530724432408, 396313725317654192053757471988821951877713065006) +439172803865671037127977369855875235941458717867 * P + 261911840752382909636677042043499126599958317224 * Q = (507358672242501030235598540674105542666701399193, 502870264118672280754595777647273275304421224399) +897113543793646202514395649554589281106784397434 * P + 270640430473551744340293913586218237319501152418 * Q = (55256122605093653673612039404240384435361844750, 189244627139576046491647050684129826312149458653) +85020119495467141489564920642098769168707946310 * P + 1123322984988040173679949239887943994703931028844 * Q = (1050063964166161949883604475360551356584338159470, 1217716520549526574609783613515114980744627257079) +1421747829925722691446273825579241494864355589240 * P + 459896553010394656909988082567178494192861369193 * Q = (323415336245701757775241274314187175590046102073, 1081246784368941398835416949729265808521411378374) +686097341461462824003708769449443181513080965128 * P + 891449832770395306159231689042370571370757080567 * Q = (191246428340876800485699469292583767717466848555, 1245920378565920705833965580405848798142986917686) +102593186399354989691582973016012643184343175256 * P + 1277978752600538086071769140968912999751708505675 * Q = (297535416612245421444029809511709497455984239623, 979729039407181800941414190830544616418480999739) +1128453342266590121062239066922607526499402391866 * P + 982745327491334824991622695964957198283176963204 * Q = (605823071748117268016909091289766311695082536750, 531277769143898455925094017392677042521057502955) +389464115758788788403838027620478294873835053851 * P + 85355622468184792996263021646354293102385042636 * Q = (470654148723794625825452140658288524406606359067, 472513149135603923136688809495052940782771850205) +813675680431763009302956825041020682142164729892 * P + 548983297783918401251541966384373433416635429178 * Q = (1390961072781838446002684603241720503572595089964, 801413815599931738142977922555285244258274031115) +903311313222620511622537857445442960406609229013 * P + 1058045143742154789767336941415687847315846011994 * Q = (136923291510861234904345825343278225983630606014, 67181444587874442779776385264628273488527993972) +790238098843649406166070492564134283397476236141 * P + 1244285054158881006124923199542748714564729660845 * Q = (13519709908999485634292104218377459049158703951, 1425945148629020649440623000906621359121597502360) +576123111338070863983087063064211003216334213394 * P + 1347604995595414187512035418867891814186105500768 * Q = (317245596734160694862144351198603423808849248606, 1254162051786887461486645297492094769881101962608) diff --git a/challenges/vol9_rnd1/Day0/06_Ratato/README.md b/challenges/vol9_rnd1/Day0/06_Ratato/README.md new file mode 100644 index 0000000..674749b --- /dev/null +++ b/challenges/vol9_rnd1/Day0/06_Ratato/README.md @@ -0,0 +1 @@ +To be released on Friday 10:00! diff --git a/challenges/vol9_rnd1/Day0/07_Tifany/output.txt b/challenges/vol9_rnd1/Day0/07_Tifany/output.txt new file mode 100644 index 0000000..0eedc81 --- /dev/null +++ b/challenges/vol9_rnd1/Day0/07_Tifany/output.txt @@ -0,0 +1,2 @@ +PUBKEYS = [(64, 5097817878965528130491999342033509383671964377259616798715086934670476350727067457961522894098176448758455154790088591291492140436888345341524809013526529, 2719656862057675929701181954473487234560053809504182870159883838830483677151615636749895148757512803297431604023949928845798307274620135893628483730370165), (64, 7060901523045984042726080087295157550812603117014135470810146736924359487877594696955935359761087723618432268625961633499242025342993080599272255219826689, 4236820856373471395975112418570159264049442285065614702317560670715324826831495654542690903261317999410969993239143341056856173969712835598894202769388189), (64, 5886668253670710710014305751042288929482573229210648408256360809410689379782338231757686802389194096652696623501426797782671696086916718671567800963694593, 677368525715501885225550495329044026746223906252509513138088716119365842650677326813318891234654722631402944420811717518465312218123608617232162852424170), (64, 6114696543898743304257013154635488204390945532201859491053616049905885027429927049234156928074388068529709328066036749070246579808959041037459892329250817, 1021087898515549606893085024245043948068246289952806903035703154407844021232228744683154236268344854762246167228090127959207385970329548719938322873853549)] +ENC = [1286907403972341066242889039669746312604706856103274344009103676324327972578841290574873287897323982618297132672952263919380020818444548599642494468594665, 1838915271351575639601282561214303786600921537529533284271544284380414309392526991211419383097531042880836480777627616721634975396626109131764273669068589, 1895763364891005946887146248268886690926567718566562720182936733403281150463031165139138495033281798780786067518579648144178418947406635436838517465170080, 865258808401079606933739673880885312400885776434889955425887632635573328068544052188598492574428785517787870375464753706677205587063007358817267526317094] diff --git a/challenges/vol9_rnd1/Day0/07_Tifany/tifany.py b/challenges/vol9_rnd1/Day0/07_Tifany/tifany.py new file mode 100644 index 0000000..c581dfa --- /dev/null +++ b/challenges/vol9_rnd1/Day0/07_Tifany/tifany.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python3 + +from Crypto.Util.number import * +from secret import PUBKEYS, flag + +def keygen(nbit, k): # Public key generation function + while True: + p, q = [2 ** k * getRandomNBitInteger(nbit - k) + 1 for _ in '01'] + if isPrime(p) and isPrime(q): + while True: + y = getRandomRange(2, p * q) + if pow(y, (p - 1) // 2, p) == p - 1 and pow(y, (q - 1) // 2, q) == q - 1: + pubkey = k, p * q, y + return pubkey + +def encrypt(pubkey, m): + k, n, y = pubkey + assert k >= len(bin(m)[2:]) + x = getRandomRange(2, n) + return pow(y, m, n) * pow(x, 2 ** k, n) % n + +flag = flag.lstrip(b'CCTF{').rstrip(b'}') +flag = [bytes_to_long(flag[i*8:i*8 + 8]) for i in range(4)] +print(f'PUBKEYS = {PUBKEYS}') + +ENC = [encrypt(PUBKEYS[_], flag[_]) for _ in range(4)] +print(f'ENC = {ENC}') \ No newline at end of file diff --git a/challenges/vol9_rnd1/Day0/README.md b/challenges/vol9_rnd1/Day0/README.md new file mode 100644 index 0000000..d3954dd --- /dev/null +++ b/challenges/vol9_rnd1/Day0/README.md @@ -0,0 +1,74 @@ +## CCTF vol9 Info +Max points = 4096 + +Registration => https://polygonscan.com/address/0x5c9d7d00880a6dda6fc0a27ea682f513eab8045a#writeContract + +How to and rules => https://cryptoctf.org/2022/08/22/decentralized-ctf/ + +If you have not found a private key, but a standard string, use one of this API: + http://209.250.246.26:6789/get?flag=CCTF{test} + fyord7wc4lzrgp4g4v2z7nhftoymolmmhmuixgkmnvo6f2bvlqdtjjid.onion + + + +Start date, Day 0: 2022 August 25, 10:00, Singapore Time - UTC/GMT +8 + +Release of Day 1 challenges: Start date: 2022 August 26, 10:00, Singapore Time - UTC/GMT +8 + +Finish date: 2022 August 26., 16:00, Singapore Time - UTC/GMT +8 + +## Challenges + +| Name | Points | Level | Author | Required skills | +|-----------------|----------|-----------------|-----------------|----------------------------------------------------| +|Entry | 128 | Sminem | six and silur | Base hacking skills | +|Illusion | 512 | HODLer | six | Solidity hacking, solidity debugging | +|Metaverse HODLer | 512 | HODLer | six | Solidity hacking | +|SubContract | 1024 | Natoshi | six | Substrate hacking, ink! hacking, web hacking | +|Asinve | 128 | Sminem | factoreal | Cryptography hacking, Math, RSA | +|Mazlos | 256 | Crypto Wojak | factoreal | Cryptography hacking, Math, Factorization | +|Ratato | 512 | HODLer | factoreal | Cryptography hacking, Math, SageMath, Encryption | +|Tifany | 1024 | Natoshi | factoreal | Cryptography hacking, Math, SageMath, Encryption | + +## Challenge signers + + Name ENTRY + flagID 0 + Point 128 + Recovered signer: 0x882b74a4a2F17762b48Da013dD8Bd796D8c2C7fa + + Name ILLUSION + flagID 1 + Point 512 + Recovered signer: 0x6B187213799bde630f134af7ABaC6486F1b9a3e5 + + Name Metaverse HODLer (Released on Friday) + flagID 2 + Point 512 + Recovered signer: 0xA5754b78A8132449bd43De05708793c73a44e976 + + Name SubContract (Released on Friday) + flagID 3 + Point 1024 + Recovered signer: 0x1e7b826154c3529F6A95D01fdD78a67a60c63Af5 + + Name Asinve + flagID 4 + Point 128 + Recovered signer: 0x5282162D07DE30C4Fc17b50ea4223aFdAFB94fe1 + + Name Mazlos + flagID 5 + Point 256 + Recovered signer: 0x3Aa773c173a816eF0ab31C4e94Cdb9395C6F38BD + + Name Ratato (released on Friday) + flagID 6 + Point 512 + Recovered signer: 0x1d2170D349d8b8703d8f375cFCE74E6330E3663E + + Name Tifany + flagID 7 + Point 1024 + Recovered signer: 0x51bBDEF4b96be66b90837E778eCDD2AA4aBe4F83 + diff --git a/challenges/vol9_rnd1/Day1/README.md b/challenges/vol9_rnd1/Day1/README.md new file mode 100644 index 0000000..1f03335 --- /dev/null +++ b/challenges/vol9_rnd1/Day1/README.md @@ -0,0 +1 @@ +To be added on Aug 26. 10:00 GMT +8