Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
2 ноября 2013, 1:27:54 PM   # 1
 
 
Сообщения: 400
Цитировать по имени
цитировать ответ
по умолчанию Re: O (2 ^ 80) теоретическая атака на P2SH

Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome"
Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE
Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e
подробнее...


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Если меня не то недоразумение о seralization, с оплатой труда сценария хэша, создать адрес, который является хэш-сценария, и утверждают, что вы должны предоставить сценарий и входы, чтобы сделать его выполнить, чтобы верно.

Повторяющаяся узор в кроссе-цепи атомов свопов (litecoin для Bitcoin) и атомных цветными свопов монет или справедливой броском монеты / честной рулетку, и т.д. CoinSwap нравится это использование "SIG (А) и SIG (В) и Y = H (х)" где одна стороны с-х имеет место и другая сторона строит соответствующую сделку, что он может увидеть, будет начислен как следствие контрагента тратит первую сделку, потому что оба сделок полагаются на знание х.

Одним из примеров является (чтобы увидеть, что я имею в виду два этапа, этот протокол был на Идо и оптимизирован сам, я думаю, что у = Н (х) идиома используется в нескольких более ранних протоколов также):



Проблема заключается в хэш-выход подход только обеспечить до атаки по случаю дня рождения, который является общим перебором О конструкции мишени (2 ^ 80) атаки, не Bitcoins O (2 ^ 128).

Позволяет вызвать Bitcoin адреса хэш-AH (г) = ripemd160 (SHA256 (Q)), где Q представляет собой открытый ключ, или в более общем случае скрипт Bitcoin.

Это потому, что я могу использовать нападение на день рождения для поиска строк с ="SIG (А) и Y = H (х)" и S'="SIG (В)" таким образом, что АГ (ы) == АХ (с). Это может быть сделано в работе O (2 ^ 80) (и массивном хранение), или различной компромиссное время памяти с более низким уровнем хранения и дополнительной работой.

Звучит дорого, но Bitcoin сейчас делает O (2 ^ 62) через каждые 10 минут или около O (2 ^ 78) в год. Может быть, через несколько лет Bitcoin будет делать O (2 ^ 80) через каждые 10 минут и 14nm сверхплотных энергоэффективные ASIC шахтеров заполнят стойки датацентров.

Также стоит подумать о том, что есть O (2 ^ 64) нападения на день рождения SHA1, и ни один не, вероятно, пытался найти аналогичные нападения на ripemd160, но это не доказательство того, что ripemd160 иммунитет. Но обратите внимание на атаках SHA1 дня рождения нужны мульти-хэш-блоки входы, а внутренний выход SHA256 подходит во входном блоке один SHA1; и нападение SHA1 рождения работа, выбирая и рулевые биты; Выход SHA256 один-блок и случайным образом и расстраивает, что. Реально, учитывая ограничения, поэтому даже SHA1 (SHA256 (г)) для этой цели, вероятно, сохраняет O (2 ^ 80), прочность на день рождения. Проектирование хэши невосприимчивыми к этому классу атак мульти-блок рулевого управления является то, что конкуренция SHA-3 NIST о ...

Адам
adam3us сейчас офлайн Пожаловаться на adam3us   Ответить с цитированием Мультицитирование сообщения от adam3us Быстрый ответ на сообщение adam3us


Как заработать Биткоины?
Без вложений. Не майнинг.


2 ноября 2013, 3:04:17 PM   # 2
 
 
Сообщения: 836
Цитировать по имени
цитировать ответ
по умолчанию Re: O (2 ^ 80) теоретическая атака на P2SH

Получил 1806 Биткоинов
Реальная история.





  Это может быть сделано в работе O (2 ^ 80) (и массивном хранение), или различной компромиссное время памяти с более низким уровнем хранения и дополнительной работой.

В то время как работа может стать возможным, успешная атака на P2SH нуждается в большем количестве, чем при столкновении: альтернативный сценарий действует и погашаемые злоумышленником.
Grau сейчас офлайн Пожаловаться на Грау   Ответить с цитированием Мультицитирование сообщения от Grau Быстрый ответ на сообщение Grau

2 ноября 2013, 3:17:36 PM   # 3
 
 
Сообщений: 16
Цитировать по имени
цитировать ответ
по умолчанию Re: O (2 ^ 80) теоретическая атака на P2SH

 Это может быть сделано в работе O (2 ^ 80) (и массивном хранение), или различной компромиссное время памяти с более низким уровнем хранения и дополнительной работой.

В то время как работа может стать возможным, успешная атака на P2SH нуждается в большем количестве, чем при столкновении: альтернативный сценарий действует и погашаемые злоумышленником.


Атакующий использует 1-из-N multisig redeemScript где первый публичный ключ законно его и другие ключи (до 130 байт) то, что он держит вертел, пока он не найдет столкновения.
Неразрешимый сейчас офлайн Пожаловаться на Неразрешимом   Ответить с цитированием Мультицитирование сообщения от Неразрешимого Быстрый ответ на сообщение Неразрешимые

2 ноября 2013, 4:02:56 PM   # 4
 
 
Сообщения: 836
Цитировать по имени
цитировать ответ
по умолчанию Re: O (2 ^ 80) теоретическая атака на P2SH

 Это может быть сделано в работе O (2 ^ 80) (и массивном хранение), или различной компромиссное время памяти с более низким уровнем хранения и дополнительной работой.

В то время как работа может стать возможным, успешная атака на P2SH нуждается в большем количестве, чем при столкновении: альтернативный сценарий действует и погашаемые злоумышленником.


Атакующий использует 1-из-N multisig redeemScript где первый публичный ключ законно его и другие ключи (до 130 байт) то, что он держит вертел, пока он не найдет столкновения.
Как это проще, чем добыча частных ключей, которые приводят к открытому ключу хэша (ака. Адресном) заработной платы для решения сделки?
Grau сейчас офлайн Пожаловаться на Грау   Ответить с цитированием Мультицитирование сообщения от Grau Быстрый ответ на сообщение Grau

2 ноября 2013, 4:12:36 PM   # 5
 
 
Сообщения: 2366
Цитировать по имени
цитировать ответ
по умолчанию Re: O (2 ^ 80) теоретическая атака на P2SH

Как это проще, чем добыча частных ключей, которые приводят к открытому ключу хэша (ака. Адресном) заработной платы для решения сделки?
Потому что это столкновение не второй-прообраз. Вам не нужно, чтобы найти H (Y_2) = X для некоторого заданного X. Вы должны найти y_1, Y_2, что Н (Y_1) == H (Y_2) и то принципиально проще. Например. 2 ^ 80 работа вместо 2 ^ 160 работы, если у вас есть неограниченный памяти с нулевой стоимостью доступа (в противном случае вы в конечном итоге с некоторой малой постоянной больше работы, чем 2 ^ 80 для того, чтобы сделать ваше использование памяти более эффективным).

Я думаю, что Адам завышает это немного, как Вы отмечаете столкновение ограничено. В большинстве протоколов вы можете избежать этого быть проблемой, не давая другую стороны (например тот, который вы бы рассчитывать на выявление прообраза к вашему hashlock) выбрать адрес P2SH. Например. у них указать свои входы, а затем указать несколько входов в этот сценарий. Для coinswap вещи вы, вероятно, не будете использовать P2SH для фактических hashlocked частей (которые обычно никогда не должно получить передаваемые).

Он также обсуждались на IRC, что вы могли бы сделать ваши p2sh адресов дорогими для создания, например, используя туалетное P2SH, чтобы сделать поиск коллизий более дорогостоящим.
gmaxwell сейчас офлайн Пожаловаться на gmaxwell   Ответить с цитированием Мультицитирование сообщения от gmaxwell Быстрый ответ на сообщение gmaxwell

2 ноября 2013, 4:44:45 PM   # 6
 
 
Сообщения: 836
Цитировать по имени
цитировать ответ
по умолчанию Re: O (2 ^ 80) теоретическая атака на P2SH

Я вижу, что я пропустил, что это работает, если злоумышленник может выбрать оригинальный сценарий.
Grau сейчас офлайн Пожаловаться на Грау   Ответить с цитированием Мультицитирование сообщения от Grau Быстрый ответ на сообщение Grau

2 ноября 2013, 4:58:52 PM   # 7
 
 
Сообщения: 400
Цитировать по имени
цитировать ответ
по умолчанию Re: O (2 ^ 80) теоретическая атака на P2SH

Проблема заключается в хэш-выход подход только обеспечить до атаки по случаю дня рождения, который является общим перебором О конструкции мишени (2 ^ 80) атаки, не Bitcoins O (2 ^ 128).

Позволяет вызвать Bitcoin адреса хэш-AH (г) = ripemd160 (SHA256 (Q)), где Q представляет собой открытый ключ, или в более общем случае скрипт Bitcoin.

Это потому, что я могу использовать нападение на день рождения для поиска строк с ="SIG (А) и Y = H (х)" и S'="SIG (В)" таким образом, что АГ (ы) == АХ (с). Это может быть сделано в работе O (2 ^ 80) (и массивном хранение), или различной компромиссное время памяти с более низким уровнем хранения и дополнительной работой.

Один Обходных использовать скрипты непосредственно сериализован в транзакцию, а не сценарий хэша, однако, что воздействие UTXO размер, P2SH хорошо, потому что только хэш-скрипт идет на blockchain, который, как правило, меньше, чем сам сценарий. адреса сценария Примечание намеренно несовместимы (другая версия) с регулярными адресами, поэтому его не удалось найти AH (Q) == AH (сценарий), где Q представляет собой открытый ключ и сценарий представляет собой сценарий.

Вероятно, наиболее общий подход заключается в увеличении сценария хэш-адреса 256-битным кешем, например, определить новый AH '(г) = SHA256 (SHA256 (г)).

В качестве альтернативы обходные или безопасность может быть достигнута путем, учитывая размер атаки O (2 ^ 80) + ТМТО велико, даже относящийся к Bitcoin hashrate. Пользователи hashlock в качестве протокола подэтапа следует избегать создания предварительного вычислений атаки. Например, принимать hashlocks только на строках они имели вход в ближайшее время, до того (несколько часов / дней, которые могут быть необходимы для подтверждения) или во время протокола.

Адам

пс благодаря ГАРО и gmaxwell для обсуждения на IRC об этой теме, уточняющие предположения для меня.
adam3us сейчас офлайн Пожаловаться на adam3us   Ответить с цитированием Мультицитирование сообщения от adam3us Быстрый ответ на сообщение adam3us



Как заработать Биткоины?

Bitcoin Wallet * Portefeuille Bitcoin * Monedero Bitcoin * Carteira Bitcoin * Portafoglio Bitcoin * Bitcoin Cüzdan * 比特币钱包

bitcoin-zarabotat.ru
Почта для связи: bitcoin-zarabotat.ru@yandex.ru

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW