Wiederherstellung der letzten Ziffern eines privaten Litecoin-Schlüssels

Ist es möglich, die letzten paar verlorenen Ziffern (10) meines privaten Litecoin-Geldbörsenschlüssels wiederherzustellen? Gibt es irgendwelche Wiederherstellungstools? Oder muss ich versuchen, meine eigenen zu rollen? Entscheidend ist, gegen welche Kryptofunktion werde ich arbeiten?

Ich verstehe, dass ein oberer / unterer alphanumerischer 10-Zeichen-Schlüsselraum effektiv nicht zu knacken ist, aber dieser Schlüssel war im Brieftaschen-Importformat, das meines Wissens eine gewisse Redundanz / Fehlererkennung à la MOD10-Kreditkartennummernüberprüfung beinhaltet. Ich frage mich, ob 10 Zeichen des verlorenen privaten Schlüssels daher in einem angemessenen Zeitrahmen wiederherstellbar sind.

Hintergrundgeschichte: Als ich mein liteaddress.org-Schlüsselpaar mit Chrome hastig als PDF „speicherte“, wurden 10 Zeichen des privaten Schlüssels abgeschnitten. Es schienen tatsächlich etwa 15 fehlende Zeichen zu sein, die abgeschnitten wurden, aber ein PDF-Wiederherstellungstool enthüllte einige der versteckten Zeichen. Ich habe dies damals nicht bemerkt und in die Brieftasche eingezahlt.

Meine verlorene Brieftasche enthält die Erlöse aus dem größten Teil meines bisherigen Minings. Es ist nicht viel Geld, aber es wäre eine Schande, es zu verschwenden.

Ich bin mir bewusst, dass das alles extrem fragwürdig klingt. Als Beweis für die Tatsache, dass ich versuche, meinen eigenen Schlüssel und nicht den eines anderen wiederherzustellen, verwende ich gerne meinen richtigen Namen / mein Haupt-Stack-Exchange-Profil, um diese Frage zu stellen.

Ich habe gerade anderthalb Stunden damit verbracht, den privaten Schlüssel von einer abgeschnittenen Adresse wiederherzustellen. Ich habe frustriert aufgegeben. Wenn es Ihnen gelingt, Ihren Schlüssel wiederherzustellen, erläutern Sie bitte die Schritte, die Sie dazu unternommen haben! Diese könnten helfen: LiteAddress , WIF wiki (0xB0 statt 0x80 für Litecoin voranstellen), Base58Check-Codierungswiki , Base58Check-Encoder , Zahlenkonverter

Antworten (1)

Zunächst einmal: Ich kenne keine Wiederherstellungstools (habe aber auch nicht danach gegoogelt). Was ich erklären werde, ist die Schwierigkeit, die richtige Adresse zu erraten.

Das Wallet-Importformat hat 4 Byte Prüfsummendaten. Das sind 8 Zeichen. Wenn Sie also die letzten 4 Byte oder einen Teil davon verlieren, verlieren / verringern Sie nur Ihre Fähigkeit, im wichtigen Teil der Wallet-Importformatinstanz nach Tippfehlern zu suchen.

8 Zeichen in base58 (was das Wallet-Importformat verwendet) sind log_2(58^8) Bit = 46,86 Bit. Subtrahieren Sie davon die 4 Byte redundanter Daten und Sie wissen, dass Sie 14,86 Bit erraten müssen (idealisiert (geht nicht)). Nach 2^14,86 = 29'738 Vermutungen haben Sie es also sicher und stochastisch liegt die Erwartung bei 14'869 Vermutungen. Das ist durchaus machbar (auch nicht idealisiert).

Alles, was Sie nach dem Erraten haben, ist der sogenannte erweiterte Schlüssel. Das reicht aus, um Ihren privaten Schlüssel (den Sie zum Senden von Geld benötigen) daraus abzuleiten (lassen Sie einfach das erste Byte fallen).

Wenn Sie es im Brieftaschen-Importformat benötigen, müssen Sie nach Ihrer Vermutung den erweiterten Schlüssel mit sha256 hashen, die ersten 4 Byte (wieder 8 Zeichen in hexadezimaler Schreibweise) nehmen und sie dem erweiterten Schlüssel hinzufügen.

Aber es gibt Klassen, die Ihnen den öffentlichen Schlüssel geben, wenn Sie den privaten Schlüssel eingeben. Und du hast es fast geschafft. Wahrscheinlich haben Sie auch den entsprechenden öffentlichen Schlüssel erhalten. Sie müssen also ein Skript schreiben, das alle möglichen privaten Schlüssel ausprobiert, die öffentlichen Schlüssel für sie berechnet und sie mit dem öffentlichen Schlüssel vergleicht, den Sie in das Skript eingeben. Das ist wahrscheinlich viel schneller, als herauszufinden, ob sich Geld in der Brieftasche befindet.