Brainwalletin murtamiseksi murtaja tarvitsee listan lohkoketjun sisältämistä osoitteista, joissa on bitcoineja ja algoritmin jota on käytetty salaisen lauseen muuntamiseen yksityiseksi avaimeksi. Tämän algoritmin raskaus on suora kerroin murtoyrityksen raskaudelle. Se nimittäin määrää paljonko tarvitaan laskentatehoa yhden yrityksen tekemikseksi.
Käytännössä murtamisprosessi menee näin:
[ol][li]generoi salainen lause jota kokeilet ja muunna se yksityiseksi avaimeksi[/li]
[li]laske avainta vastaava Bitcoin-osoite ja tarkista onko tämä osoite listassa.[/li]
[li]palaa kohtaan 1.[/li][/ol]
Internet yhteys siis tosiaankaan ole tarpeen. Tämän lisäksi, huonot salaiset lauseet on hyvin todennäköisesti jo murrettu ja jollakin on niistä ja niitä vastaavista osoitteista massiivinen tietokanta, jota vastaan verrataan jokaista uutta Bitcoin-siirtoa. Tästä syystä on kriittistä että valittu salainen lause on oikeasti valittu kunnon satunnaisuudella.
Käytetty algoritmi on iso tekijä tässä yhtälössä. Yksi helpoimmista algoritmeistä muuntaa lause yksityiseksi avaimeksi on SHA-256, jota käytetään esimerkiksi Bitcoin-louhintaan. Alle tuhannella eurolla irtoaa tietokone joka kykenee yli miljardiin yritykseen sekunnissa.
On olemassa myös algoritmeja joiden raskautta on helppo säätää, esimerkiksi scrypt ja bcrypt. Näitä käyttämällä voi moninkertaistaa yhden yrityksen viemän ajan. Esimerkiksi voisi mitoittaa yhden yrityksen viemään sekunnin tällä samalla laitteella joka kykenee yli miljardiin SHA-256 operaatioon sekunnissa. Haittapuolena tässä on, että salaisen lauseen lisäksi tarvisi muistaa tämän jälkeen seka algoritmi, että raskausasetukset.
10 sanan järjestyksen hakemisen raskaus riippuu myös algoritmin valinnasta. SHA-256 algoritmilla tehty avain löytyisi alle sekunnissa, mutta sekunnin mittaiseksi säädetyllä scrypt tai bcrypt algoritmilla tehdyn avaimen löytäminen veisi pahimmassa tapauksessa 3,5 miljoonaa sekuntia.
[quote=“rpietila, post:18, topic:287”]Tuo brainwallet kiehtoo, ja luin siitä lyhykäisen wikinkin:
https://en.bitcoin.it/wiki/Brainwallet
Siinä sanottiin, että koodinmurtaminen ei edellytä internet-yhteyttä. Minua kiinnostaisi, kuinka hakkeri tämän tekee. Valitseeko hän tietyn tilin, jota sitten yrittää murtaa, vai voiko jossain syöttää, että “varmastikin ‘My name is Bond, James Bond.’ -fraasia vastaava hash on jonkun avaimena koko maailmassa”?
Entäpä jos koostan passphrasen kymmenestä asiasta, mutta unohdan niiden järjestyksen. Kuinka helppoa minun on itse kokeilla kaikkia permutaatioita?[/quote]