Italian Trulli
Dream stealing

b01lers [ crypto ] Oct 3, 2020

As most blogs look empty in the beginning, here a (kind of) useless blogpost to fill the void!

Given information

I’ve managed to steal some secrets from their subconscious, can you figure out anything from this?

$ cat ciphertext-bb416c708f242b0c70d6f2c07d646d9f.txt
Modulus: 98570307780590287344989641660271563150943084591122129236101184963953890610515286342182643236514124325672053304374355281945455993001454145469449640602102808287018619896494144221889411960418829067000944408910977857246549239617540588105788633268030690222998939690024329717050066864773464183557939988832150357227
One factor of N:  9695477612097814143634685975895486365012211256067236988184151482923787800058653259439240377630508988251817608592320391742708529901158658812320088090921919
Public key: 65537
Ciphertext: 75665489286663825011389014693118717144564492910496517817351278852753259053052732535663285501814281678158913989615919776491777945945627147232073116295758400365665526264438202825171012874266519752207522580833300789271016065464767771248100896706714555420620455039240658817899104768781122292162714745754316687483

First steps

The challenge is distributed as a file containing some information that may be used to decipher the given ciphertext

One Shot Solve

As this is an introductory challenge, we can solve it in a fairly strait-foward way, in this case using the RsaCtfTool:

$ ./RsaCtfTool.py --uncipher 75665489286663825011389014693118717144564492910496517817351278852753259053052732535663285501814281678158913989615919776491777945945627147232073116295758400365665526264438202825171012874266519752207522580833300789271016065464767771248100896706714555420620455039240658817899104768781122292162714745754316687483 -n 98570307780590287344989641660271563150943084591122129236101184963953890610515286342182643236514124325672053304374355281945455993001454145469449640602102808287018619896494144221889411960418829067000944408910977857246549239617540588105788633268030690222998939690024329717050066864773464183557939988832150357227  -e 65537

...

Results for /tmp/tmpmzicubp8:

Unciphered data :
HEX : 0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000666c61677b346363653535316e675f7468335f73756263306e7363313075737d
INT (big endian) : 46327402297734345668136112664627609061622411859278517910287191659094499226493
INT (little endian) : 88094692916878681304973182720116630253196809880747117727243445068216160576549534155204082127455583851325088293675818840615944988343500653963470791672736997048571573187499305694261505835551458431407622925193944974882354435642913133800467654576903355697779623929836208161165319691883185229669675931529587458048
STR : b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00flag{4cce551ng_th3_subc0nsc10us}'

As you can see, the ciphertext could be unciphered using the given factor of n, the modulus and the public “key”.

Flag

flag{4cce551ng_th3_subc0nsc10us}