Восстановление последних нескольких цифр личного ключа Litecoin

Можно ли восстановить последние несколько потерянных цифр (10) моего личного ключа кошелька Litecoin? Есть ли инструменты для восстановления? Или мне придется попытаться свернуть? Какова критическая функция, с которой я буду работать?

Я понимаю, что верхнее /нижнее буквенно-цифровое 10char-пространство ключей эффективно раскручивается, но этот ключ был в формате импорта бумажника, который, как я понимаю, включает в себя некоторую проверку избыточности /ошибки à la MOD10 для проверки номера кредитной карты. Мне интересно, если 10 символов потерянного закрытого ключа, следовательно, могут быть восстановлены в разумные сроки.

История рассказа: Когда я поспешно «сохранил» мою пару ключей liteaddress.org в формате PDF с использованием Chrome, были сжаты 10 символов закрытого ключа. На самом деле это было 15 или около того отсутствующих символов, которые были обрезаны, но инструмент восстановления PDF обнаружил некоторые скрытые символы. Я не заметил этого в то время и заплатил в кошелек.

Мой потерянный кошелек содержит выручку большей части моего майнинга на сегодняшний день. Это не огромная сумма денег, но было бы стыдно тратить ее.

Я знаю, что все это звучит крайне хитро. В качестве доказательства того, что я пытаюсь восстановить свой собственный ключ, а не чужой, я с удовольствием использую свое настоящее имя /главный профиль Stack Exchange, чтобы задать этот вопрос.

6 голосов | спросил bedeabc 6 Maypm13 2013, 15:08:09

1 ответ


2

Во-первых: я не знаю каких-либо средств восстановления (но для них также не был Google). Я объясню, что трудно угадать правильный адрес.

Формат импорта кошелька имеет 4 байта данных контрольной суммы. Это 8 символов. Таким образом, потеря последних 4 байтов или часть из них только теряет /уменьшает вашу способность проверять наличие ошибок в важной части экземпляра формата импорта кошелька.

8 символов в base58 (что и использует формат импорта кошелька) - log_2 (58 ^ 8) бит = 46,86 бит. Вычитайте из этого 4 байта избыточных данных, и вы знаете, что вы должны угадать 14.86 бит (идеализированный (не будет работать)). Итак, после 2 ^ 14.86 = 29'738 догадок у вас есть это точно и стохастически ожидание - 14'869 догадок. Это вполне осуществимо (даже не идеализировано).

Все, что у вас есть после угадывания, - это так называемый расширенный ключ. Этого достаточно, чтобы получить свой секретный ключ (который вам нужно отправить деньги) из него (просто отбросьте первый байт).

Если вам нужно это в формате импорта кошелька, после того, как вы догадались, вы должны хэшировать расширенный ключ с помощью sha256, взять первые 4 байта (8 символов в шестнадцатеричной нотации, снова) и добавить их к расширенному ключу.

Но есть классы, которые дают вам открытый ключ, если вы вводите закрытый ключ. И ты почти понял это. Вероятно, вы также получили соответствующий открытый ключ. Поэтому вам нужно написать сценарий, который пытается использовать все возможные частные ключи, вычисляет открытые ключи для них и проверяет их на открытый ключ, который вы передаете в скрипт. Вероятно, это намного быстрее, чем выяснять, есть ли в кошельке деньги.

ответил UTF-8 4 J0000006Europe/Moscow 2016, 02:47:15

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132