Приятель живущий очень далеко попросил собрать комп для традиционной криптографии (как я понимаю для взлома шифров). Когда то давно компы собирал и продавал, но не в курсе современных технологий. Что более важно для криптографии, CPU или GPU?
00:00 Начало 00:24 Квантовый секрет русско-китайских побед 02:30 Горячая суперсемейка NVIDIA 04:00 Болтливый электрокар Volkswagen 05:42 Санкции и российская IT-индустрия 07:24 Итоги розыгрыша ноутбука и не только 09:15 Кто придумал нейросеть для порчи других нейросетей
Все знают, что есть так называемые майнеры. Что можно установить какой-то непонятный софт на свой компьютер, и генерировать почти что настоящие деньги. Только успевай оплачивать счета за электричество. Но как это, на самом деле, работает?
В основе всех криптовалют лежит технология Blockchain. Пресловутая цепочка блоков. Каждый блок – это таблица с информацией. В Bitcoin, к примеру, это список транзакций – кто кому сколько отправил денег. Вся цепочка представляет собой историю транзакций за все существование Bitcoin. Все блоки зашифрованы специальным образом, чтобы нельзя было добавить блок в середину или изменить уже существующий блок. Можно добавлять новые блоки только в конец.
Каждый майнер связан со всеми остальными по интернету, образуя тем самым сеть. Сам майнинг состоит в том что компьютер пытается решить криптографическую загадку, вычисляя такое входное значение хеш функции, чтобы выходное значение удовлетворяло определенному требованию. Хеш функция – это такая штука, на вход которой можно подать одни нолики и единички, а на выходе получить другие нолики и единички. Будем считать, что это математический черный ящик. Вся магия в том, что нельзя угадать, что нужно подать на вход, чтобы получить определенный результат.
На чем и построен майнинг. Майнеры просто вслепую тыкают, высчитывая результат от случайных значений, в надежде на то, что результат вычислений будет удовлетворять выставленным условиям. Счастливчик, который угадал входное значение, получает награду в виде намайненной валюты. Его копия данных считается достоверной. Он зашифровывает последний блок и копируется ко всем остальным участникам. Так как никто никогда не знает, кто закроет следующий блок, очень сложно подсуетиться и подменить историю транзакций.
Все, что описал выше, верно для Bitcoin и для всех криптовалют, в основе которых лежит принцип доказательства работой (Proof of work). Есть еще, к примеру, Proof of Stake, где вероятность того, что копия базы данных определенного участника будет скопирована ко всем остальным, зависит от количества криптовалюты на его счету. Иногда эти подходы комбинируются.
Интересующиеся этой темой люди могут попробовать её работу. Программа не имеет цифровой подписи Майкрософт, по этой причине может появиться предупреждения о том, что она может нанести вред компьютеру. Никакого вируса в ней нет.
От 1 до z. В десятичном виде было бы от 0 до 57. Минимальный знак 1. Поэтому я его и вписываю на недостающие места, а не потому, что он кому-то приснился.
Счетчик работает без затей, в плюс. Справа младшие разряды, слева старшие.
Его адрес вписываем в качестве аргумента в Start.bat
Ключ изменяем согласно шаблона.
Шаблон
Ключ вписываем в файл Key.txt и запускаем через Start.bat В файле Key.txt перед ключом и после него не должно быть ничего, пробелов, перевода строки. Обработчика, выбрасывающего непечатаемые символы в программе нет, и она выдаст сообщение о неправильной длине ключа.
Дело было вечером, и в нашем пенсионерском клубе по интересам стало скучно.
Однако поступила просьба проанализировать и понять, можно ли восстановить закрытый ключ, на основании картинок, которые давно ходят по интернету
1/4
Доступные фотографии с просторов интернета
Предварительный анализ показал, что в кошельке куча битков
Мечты некоторых о том как легко стать миллионером :)
Что очень радостно, но и подозрительно.
Кроме этого поиск показал, что на ютюбе даже ролик есть как некий хакер искал этот ключ пол года.
Вобщем попросили программу написать для подбора этого ключа. Программу я написал, только не смейтесь, но она на одной RTX2070 и I7 -3770K перебирает ключи со скоростью 6.5 секстиллиона в секунду. На альтернативных процессорах будет значительно меньше. Я о AMD (рожденный ползать, летать не может). У ключа утрачена часть хэша, поэтому видеокарта выдает очень много годных ключей и нагрузка на центральный процессор большая.
Прикинули, что перебор потерянных символов займет 2-3 месяца. Долго и лениво :)
Взгляд упал на QR код.
Куар код, собран из тех фото, что есть в доступе
Оказывается там применятся избыточное кодирование, код Рида-Соломона. Объем корректирующей информации вдвое больше основных данных. Почитал теорию, напечатал шаблон QR, внес со всех доступных фото туда данные. Вручную, за два дня восстановил ключ из неполного QR.
Ключ и адрес от разных комплектов.
Фото фейк. Там и без глубоких исследований видно что адрес и приватный ключ напечатаны несколько разным шрифтом. Особенно хорошо это заметно на буквах W и M.
Восстановленный куар код с закрытым ключом
Я типа сфотографировал примерно в таком же стиле как имеющиеся в сети фотографии.
Что бы не набирать с фото, вот этот восстановленный ключ в текстовом виде:
L1FA6J9NThRTAeX5UYeWKmebM87MussFQHgh2sC4wcyJ56n65yHd - восст.ключ 1HwGrdVYeciQbpuejvYyWe1m5kbShBvM6V - реальный кошелек от этого ключа
Адрес у него совершенно другой. Адрес не только рабочий, но им даже пользовались в 2018 году. Тогда там были монеты.
Подводим итог:
Данные фото - фейк
Восстановить куар код - можно
Стать миллионером - не удалось в этот раз :)
З.Ы.
Программу как причешу немного, выложу. А то еще не поверите что возможно перебирать ключи с такой скоростью.