Post
Topic
Board Новички
Re: Украли биткоины из официального кошельк&#
by
amaclin
on 26/02/2016, 11:37:32 UTC
Т.е. если проще говорить, вирусуется машина. Потом при отправке платежей меняется подписчик на "неправильный", который делает подпись такой, которая легче брутиться для разгадывания закрытого ключа?
Условно говоря, вообще не надо брутфорсить в определенных случаях.

Ну давайте я постараюсь "на пальцах" объяснить.
При генерации подписи выбирается некоторое число 'К' которое никому не должно быть известным
Подпись - это необратимая функция от трех переменных
(1)само сообщение, вернее его дайждест, хэш-сумма
(2)приватный ключ
(3)и это число 'K'

Причем по приватному ключу, дайджесту и подписи можно восстановить 'K'
Но более интересно для злодея что по 'K', дайджесту и подписи он может восстановить приватный ключ.
Точно не помню, может быть для этого злыдню еще публичный ключ нужен.

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

Допустим, злоумышленник внедрил на компьютер жертвы программу, которая генерирует число 'K' каким-то известным злоумышленнику способом - например берет публичный ключ адреса 1xxxxx, ксорит его с хэшом последнего найденного блока, прибавляет восемнадцать, после этого умножает на 153 и отнимает дайджест

Никто кроме злоумышленника не заподозрит чего-то неладного.
А ему достаточно будет все транзакции прогнать через некоторый 'чекер', который для каждой транзакции в блокчейне будет совершать это действие и получать какое-то значение 'K'. По числу 'К' он будет вычислять приватный ключ.
Для всех обычных транзакций эти вычисления будут неправильные.
А для транзакций отправленных с "зараженной машины" злоумышленник в результате вычислений получит правильный приватный ключ.
Никакого брутфорса. Программа просто будет выдавать приватный ключ, если транзакция была 'заражена'

Именно поэтому и не рекомендуют повторно использовать адрес.
Потому что если вы всегда будете переводить бабки на новый адрес - максимум что получит злыдень - это приватный ключ от только что опустошенного вами адреса.