Bring The Noise

Crypto - 200 Points

realized by veorq

Quantum computers won’t help you

Source
Running on: bringthenoise.insomnihack.ch:1111

Writeup

Reading the Source we see that the program is made up of 2 problems.

We solved the 2 problems separately.


Connecting on the server return the PoW challenge:

 nc bringthenoise.insomnihack.ch 1111
 Challenge = 8268c

We write a simple script based on TheZ3ro/combinator

var crypto = require('crypto');
var bruteForce = require("jscombinator").comb;
var dict = require("jscombinator").dict;

var hash = "8268c"; // The connection returned this hash

bruteForce(dict.lower_alpha_numeric, Array.range(1,8), function(value){
  var string = value;
  var cry = crypto.createHash("md5").update(string).digest("hex");
  console.log(cry+" "+value);
  if( cry.indexOf(hash) == 0 ) {
    console.log("Correct value of the hash was: " + value);
    return true;
  }
  return false;
});

Combinator


After completing the PoW, the script print out the 40 equations.

But we previously had reversed the source script to take the 40 equations as input and bruteforce vibration to find the solution

You can download and read the reversed script here: anacleto.py

And our 40 equations: anacleto.txt

This was our solution
Vibration

And a wild flag appeared!

INS{ErrorsOccurMistakesAreMade}