Software Engineer kraakt gecodeerd bestand om $300K in Bitcoin te herstellen

Sead Fadilpašić
| 2 min read

Vroeger was er een software-ingenieur met twee decennia ervaring in het kraken van codes, die een reeks gecompliceerde stappen gebruikte om sleutels te herstellen voor een "Russian guy’s" bitcoin (BTC).

Bron: Adobe/deepagopi2011

Mike Stay is de CTO van Pyrofex, een startup die blockchain-platforms en gedecentraliseerde applicaties maakt, en een software-engineer die voorheen bij Google werkte (en nu op zoek is naar een nieuwe rol ). Volgens hem nam een ​​Russische man in de winter van 2019 contact met hem op en zei dat hij een paper had gelezen over PKZIP, een compressie-/archiefprogramma dat bijna twee decennia geleden werd geschreven, toen werkte Stay bij softwarebedrijf AccessData . Hoewel de beschreven aanval vijf gecodeerde bestanden in een archief bevatte, vroeg de man de technicus of de aanval met slechts twee bestanden zou werken.

Waar was de man naar op zoek? BTC ter waarde van meer dan $300.000. In januari 2016 kocht hij ongeveer 10.000-15.000 dollar aan BTC (het schommelde toen rond de $400 per BTC), maar hij stopte de sleutels in een versleuteld ZIP-bestand en vergat het wachtwoord. De man had echter twee belangrijke dingen: de originele laptop en de tijd van de codering.

De eerste schatting was dat er ongeveer 10 sextillion (1 met 21 nullen) zou moeten worden getest, waarvoor een grote GPU (grafische verwerkingseenheid) boerderij, c. een jaar tijd, en c. Er zou 100.000 dollar nodig zijn om te breken. Maar aangezien InfoZip, een set open-source software voor het afhandelen van ZIP-archieven, de entropie met behulp van het tijdstempel zaait, legt Stay uit, verminderde het het werk tot 10 quintillion (1 met 18 nullen) sleutels, een middelgrote GPU-farm en een paar maanden.

Terwijl Stay zijn ingewikkelde werk begon met zijn zakenpartner Nash Foster, die we hier enorm zullen vereenvoudigen, realiseerde hij zich dat het in feite een paar honderdduizend jaar zou duren om elk van de sleutels te controleren. Hij herinnerde zich echter een ander proces dat hem in staat stelde de basis te verkleinen, en ontdekte verder dat het verschil met het antwoord dat proces hem gaf en het echte antwoord, waardoor de mogelijkheden om van 4 miljard naar 36 te lopen, werden verminderd. Tien dagen van een nieuwe aangepaste aanval later is het mislukt.

Door een grondige controle konden ze het probleem echter identificeren, de bug oplossen, de code opnieuw uitvoeren en binnen een dag de juiste sleutel vinden. "Onze klant was erg blij", zegt Stay aan het einde van zijn verhaal, "en gaf ons een grote bonus voor het zo snel vinden van de sleutel en het besparen van zoveel geld op onze oorspronkelijke schatting."