Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
24 апреля 2011, 12:45:50 PM   # 1
 
 
Сообщения: 540
Цитировать по имени
цитировать ответ
по умолчанию Re: [PULL] Войти и проверить сообщение с Bitcoin адресом и открытым ключом

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


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Вытащите запрос: https://github.com/bitcoin/bitcoin/pull/183

Добавляет две команды Rpc:
- signmessage <сообщение>
- verifymessage <Публичных> <знак> <сообщение>

Это позволяет подписать сообщение с открытым ключом Bitcoin адрес, который вы владеете, чтобы быть уверенным в личности отправителя.

Знак :
Код:
./ Bitcoind signmessage 1L5zqFahc8Ahu9wtgJqCeJMendvD174xsG "Привет пользователей GitHub: р"
{
    "адрес" : "1L5zqFahc8Ahu9wtgJqCeJMendvD174xsG",
    "Публичных" : "04ef6e366cd6b0b8fbf02c0c25ad39fe892b90c597875899fdc9db16941cf43fb8c429e0534cb8b972f5cc9f1a50f36dc3352ffad427f073e1c64a145828a3be6e",
    "знак" : "3046022100a80b6e0c7c54c54ba943f4e3cde12f5a7dc5313e3f0a15ce868f01683ced64fa0221008b4ad7d3800a11c241dcef7aaf44c8224a7d9f1e54d3e669bf4887036b6d10af"
}

Убедитесь, что:
Код:
./ Bitcoind verifymessage <выше Публичных> <выше знак> "Привет пользователей GitHub: р"
{
    "адрес" : "1L5zqFahc8Ahu9wtgJqCeJMendvD174xsG",
    "Публичных" : "04ef6e366cd6b0b8fbf02c0c25ad39fe892b90c597875899fdc9db16941cf43fb8c429e0534cb8b972f5cc9f1a50f36dc3352ffad427f073e1c64a145828a3be6e"
}
Ошибка JSON будет отображаться, если возникла проблема, в противном случае, он отображает адрес Bitcoin, связанный с открытым ключом используется для подписи сообщения.

Этот патч позволяет, например, чтобы отправить сообщение своему клиенту и доказать, что это действительно исходит от вас, с помощью открытых и закрытых ключей, связанных с Bitcoin адрес.

Отзывы и комментарии приветствуются, я не знаю, если все используются, как это должно быть.
Хал сейчас офлайн Пожаловаться на Халах   Ответить с цитированием Мультицитирование сообщения от Хал Быстрый ответ на сообщение Хал


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


25 апреля 2011, 10:59:51 AM   # 2
 
 
Сообщения: 540
Цитировать по имени
цитировать ответ
по умолчанию Re: [PULL] Войти и проверить сообщение с Bitcoin адресом и открытым ключом

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





Из https://github.com/bitcoin/bitcoin/pull/183 :
Цитата: Гэвин Андресен
Вы можете начать тему на форуме об этом? Был некоторое беспокойство по поводу возможных атак, раскрывающих личные ключи, если злоумышленник может отправить произвольные данные, которые будут подписаны.
Хал сейчас офлайн Пожаловаться на Халах   Ответить с цитированием Мультицитирование сообщения от Хал Быстрый ответ на сообщение Хал

25 апреля 2011, 11:27:21 AM   # 3
 
 
Сообщения: 1050
Цитировать по имени
цитировать ответ
по умолчанию Re: [PULL] Войти и проверить сообщение с Bitcoin адресом и открытым ключом

Из https://github.com/bitcoin/bitcoin/pull/183 :
Цитата: Гэвин Андресен
Вы можете начать тему на форуме об этом? Был некоторое беспокойство по поводу возможных атак, раскрывающих личные ключи, если злоумышленник может отправить произвольные данные, которые будут подписаны.

им не уверена ECDSA, но RSA имеет слепой недостаток подписи: http://en.wikipedia.org/wiki/Blind_signature#Dangers_of_blind_signing
Кроме того, если attaker может подписать только то, что он / она может подписать сделку, что отправить его / ее все ваши монеты ...

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

25 апреля 2011, 11:12:35 PM   # 4
 
 
Сообщения: 416
Цитировать по имени
цитировать ответ
по умолчанию Re: [PULL] Войти и проверить сообщение с Bitcoin адресом и открытым ключом

Цитата: Гэвин Андресен
Вы можете начать тему на форуме об этом? Был некоторое беспокойство по поводу возможных атак, раскрывающих личные ключи, если злоумышленник может отправить произвольные данные, которые будут подписаны.

Разумно ожидать, что для специально созданного сообщения каким-то образом раскрыть секретный ключ при подписании, один должен быть в состоянии найти сообщения, что хэш конкретных значений. Это явилось бы наихудший возможный провал соответствующей хэш-функции.
Даже если хэш-функция была полностью разбита, как указано выше, не существует никакого метода, в настоящее время известно, что позволяет восстановление секретного ключа из подписанного сообщения быстрее, чем решение задачи дискретного логарифмирования на соответствующей эллиптической кривой. Если бы можно было найти, это будет представлять собой очень сильную слабость в АСС и ECDSA.

Если злоумышленник может заставить вас подписать произвольные сообщения, что, безусловно, недостаток безопасности. Решение состоит в том, чтобы заботиться, что вы одобряете то, что содержание вы думаете о подписании ли это чеки, кредитные договоры, завещания или цифры.

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

25 апреля 2011, 11:28:33 PM   # 5
 
 
Сообщения: 1652
Цитировать по имени
цитировать ответ
по умолчанию Re: [PULL] Войти и проверить сообщение с Bitcoin адресом и открытым ключом

Если злоумышленник может заставить вас подписать произвольные сообщения, что, безусловно, недостаток безопасности. Решение состоит в том, чтобы заботиться, что вы одобряете то, что содержание вы думаете о подписании ли это чеки, кредитные договоры, завещания или цифры.

Итак: опасность не раскрывает секретные ключи (I неправильно запомнили), опасность наивный разработчика будет видеть команду signmessage RPC, не понимает, что подписание произвольных данных может быть опасным, и поставить веб-страницу, которая позволяет кто-нибудь войти произвольные данные должны быть подписаны с одним из открытых ключей разработчика.

Это может быть просто вопрос документации, хотя, если signmessage был изменен, чтобы подписать хэш передается в сообщении вместо самого сообщения, то это было бы совершенно безопасно.
Гэвин Андресен сейчас офлайн Пожаловаться на Гэвин Андресен   Ответить с цитированием Мультицитирование сообщения от Gavin Andresen Быстрый ответ на сообщение Гэвин Андресен

26 апреля 2011, 12:01:50 AM   # 6
 
 
Сообщения: 416
Цитировать по имени
цитировать ответ
по умолчанию Re: [PULL] Войти и проверить сообщение с Bitcoin адресом и открытым ключом

если signmessage был изменен, чтобы подписать хэш передается в сообщении вместо самого сообщения, то это было бы совершенно безопасно.
(Если предположить, что signmessage должны были использовать один SHA256 пропуск)

Когда вы проводите монеты путем подписания сделок, не вы подписываете двойной SHA256 хэш сделки? Я смотрю на SignatureHash в script.cpp и Hash в util.h. Таким образом, если злоумышленник переходит signmessage один SHA256 хэша действительной полезной нагрузки транзакции, то злоумышленник может потратить монеты подписывающих. Подписавшийся не мог работать, что эффект от подписания сообщения злоумышленника может быть, не обращая SHA256. Это, возможно, первый криптографический недостаток двойной схемы хэширования, используемой в Bitcoin.

Кроме того, в других приложениях, это общая для формирования договора пути подписания хэш сообщения, а не (коротких) сообщений.

Чтобы избежать всех этих возможных проблем, вы должны одобрить содержание вы подписываете.

ByteCoin

PS Да, вы могли бы бумага над проблемой, делая signmessage использовать другой хэш-функцию или предварять некоторые особенные но стандартизированные отступы для сообщения перед хэшированием или использования >2 раунда SHA256.
ByteCoin сейчас офлайн Пожаловаться на ByteCoin   Ответить с цитированием Мультицитирование сообщения от ByteCoin Быстрый ответ на сообщение ByteCoin

26 апреля 2011, 12:10:36 AM   # 7
 
 
Сообщения: 1372
Цитировать по имени
цитировать ответ
по умолчанию Re: [PULL] Войти и проверить сообщение с Bitcoin адресом и открытым ключом

Было бы замечательно, если бы это открыло путь для механизма самостоятельного аудита, что позволило организации (таким как MyBitcoin, MtGox) холдинга BTC от имени других, чтобы предоставить доказательство того, они по-прежнему обладают БТДОМ для каждого владельца счета, особенно если это может быть сделано таким образом, что также избегала публикации множества монет в кошельке организации на благо людей, пытающихся расшифровать блок цепь.
casascius сейчас офлайн Пожаловаться на casascius   Ответить с цитированием Мультицитирование сообщения от casascius Быстрый ответ на сообщение casascius

26 апреля 2011, 4:40:53 AM   # 8
 
 
Сообщения: 2870
Цитировать по имени
цитировать ответ
по умолчанию Re: [PULL] Войти и проверить сообщение с Bitcoin адресом и открытым ключом

Когда вы проводите монеты путем подписания сделок, не вы подписываете двойной SHA256 хэш сделки?

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

26 апреля 2011, 8:20:00 AM   # 9
 
 
Сообщения: 540
Цитировать по имени
цитировать ответ
по умолчанию Re: [PULL] Войти и проверить сообщение с Bitcoin адресом и открытым ключом

Это может быть просто вопрос документации, хотя, если signmessage был изменен, чтобы подписать хэш передается в сообщении вместо самого сообщения, то это было бы совершенно безопасно.
signmessage уже хеширование сообщения до его подписания.

Да вы могли бы бумага над проблемой, делая signmessage использовать другой хэш-функцию или предварять некоторые особенные но стандартизированные отступы для сообщения перед хэшированием или использования >2 раунда SHA256.
От "своеобразная, но стандартизированная обивка", Вы имеете в виду, просто добавив некоторые символы в предопределенной образом?

Если 2 строки кода может избежать возможных проблем, мы должны добавить: р
Хал сейчас офлайн Пожаловаться на Халах   Ответить с цитированием Мультицитирование сообщения от Хал Быстрый ответ на сообщение Хал

27 апреля 2011, 12:18:32 AM   # 10
 
 
Сообщения: 416
Цитировать по имени
цитировать ответ
по умолчанию Re: [PULL] Войти и проверить сообщение с Bitcoin адресом и открытым ключом

От "своеобразная, но стандартизированная обивка", Вы имеете в виду, просто добавив некоторые символы в предопределенной образом?

Да.

Как насчет предварять "Это подписанное сообщение не предназначено для формирования договора:" в сообщении, прежде чем хэширования его на обоих формирования и проверки сторон?
Я знаю, что это английский-ориентированный, но это намного лучше, чем ничего.

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

Я предлагаю вам возвращать сообщение, которое сообщает, что проверка подписи не удалась, и, возможно, вернуть некоторые данные из неисправной проверки ECDSA, так что пользователи могут проверить математику при отладке.

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

28 апреля 2011, 3:43:09 PM   # 11
 
 
Сообщения: 540
Цитировать по имени
цитировать ответ
по умолчанию Re: [PULL] Войти и проверить сообщение с Bitcoin адресом и открытым ключом

котировка
Как насчет предварять "Это подписанное сообщение не предназначено для формирования договора:" в сообщении, прежде чем хэширования его на обоих формирования и проверки сторон?
Я знаю, что это английский-ориентированный, но это намного лучше, чем ничего.
Я думаю, что мы не должны показывать это сообщение для пользователей, так что мы можем поставить то, что мы хотим. Он будет принадлежать к внутреннему механизму подписания / проверки функций.
Signmessage и verifymessage будет по-прежнему выполнять свою работу.

котировка
Вы означает, что ошибка JSON должна быть сгенерирована, если сообщение не имеет действительной подписи. Я не знаю много о JSON, но я думаю, что JSON ошибки должны быть сгенерированы только тогда, когда что-то идет не так со стороной JSON вещей. В этом случае JSON работает просто отлично, это более высокий уровень проступок, который нужно сообщить.
Я искал через rpc.cpp и я не вижу другой способ сделать это, так что я буду следовать "стандарт", Однако, я не знаю, какой номер кода, чтобы использовать это ошибка JSON. Что они соответствуют?

котировка
Я предлагаю вам возвращать сообщение, которое сообщает, что проверка подписи не удалась, и, возможно, вернуть некоторые данные из неисправной проверки ECDSA, так что пользователи могут проверить математику при отладке.
Там нет больше данных, за исключением:
Код:
// -1 = ошибка, 0 = плохо сиг, 1 = хорошо
Если вы знаете, как извлечь больше информации, не стесняйтесь изменять код: р
Хал сейчас офлайн Пожаловаться на Халах   Ответить с цитированием Мультицитирование сообщения от Хал Быстрый ответ на сообщение Хал

29 апреля 2011, 8:55:40 AM   # 12
LZ
 
 
Сообщения: 1680
Цитировать по имени
цитировать ответ
по умолчанию Re: [PULL] Войти и проверить сообщение с Bitcoin адресом и открытым ключом

опасность наивный разработчик будет видеть команду signmessage RPC, не понимает, что подписание произвольных данных может быть опасным, и поставить веб-страницу, которая позволяет кому ввести произвольные данные, которые будут подписан с одним из открытых ключей разработчика.
Поэтому, возможно, она должна быть отключена по умолчанию? Во всяком случае, это, кажется, очень полезно. Специально для ОТК.
LZ сейчас офлайн Пожаловаться на LZ   Ответить с цитированием Мультицитирование сообщения от LZ Быстрый ответ на сообщение LZ

2 мая 2011, 9:02:10 PM   # 13
 
 
Сообщения: 540
Цитировать по имени
цитировать ответ
по умолчанию Re: [PULL] Войти и проверить сообщение с Bitcoin адресом и открытым ключом

Там нет проблем безопасности с хэширования + текст заполнения. Итак, теперь готов к inclusioni догадки
Хал сейчас офлайн Пожаловаться на Халах   Ответить с цитированием Мультицитирование сообщения от Хал Быстрый ответ на сообщение Хал

3 мая 2011, 3:54:14 PM   # 14
 
 
Сообщения: 755
Цитировать по имени
цитировать ответ
по умолчанию Re: [PULL] Войти и проверить сообщение с Bitcoin адресом и открытым ключом

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

Даже если хэш-функция была полностью разбита, как указано выше, не существует никакого метода, в настоящее время известно, что позволяет восстановление секретного ключа из подписанного сообщения быстрее, чем решение задачи дискретного логарифмирования на соответствующей эллиптической кривой. Если бы можно было найти, это будет представлять собой очень сильную слабость в АСС и ECDSA.
не известный в настоящее время: нет. Но это отнюдь не означает, что никогда не будет таких атак. Подписание Bitcoin сделок очень отличается от подписания текста, который злоумышленник потенциально должны быть приняты управлениями и более тщательно, чем просто подписание беспорядочных данных по желанию. 

Если злоумышленник может заставить вас подписать произвольные сообщения, что, безусловно, недостаток безопасности. Решение состоит в том, чтобы заботиться, что вы одобряете то, что содержание вы думаете о подписании ли это чеки, кредитные договоры, завещания или цифры.
К сожалению, если это включено, пользователь не будет. Давайте смотреть правде в глаза, пользователи тупые, особенно когда речь идет о безопасности. 

Все это говорит, я вовсе не против этого включения, однако я думаю, что больше должно быть сделано на хеширования стороне вещей. Это ни в коем случае не трудно добавить соль (я бы сказал, используя адрес используется для входа в виде соли, а также некоторая другая константа обеспечивает достаточно хорошую защиту от радужных таблиц, и даже некоторые обрывов алгоритма хеширования, в зависимости от метода атаки). Почему бы не просто добавить, что?
Мэтт Corallo сейчас офлайн Пожаловаться на Matt Corallo   Ответить с цитированием Мультицитирование сообщения от Matt Corallo Быстрый ответ на сообщение Matt Corallo

3 мая 2011, 6:17:12 PM   # 15
 
 
Сообщения: 416
Цитировать по имени
цитировать ответ
по умолчанию Re: [PULL] Войти и проверить сообщение с Bitcoin адресом и открытым ключом

котировка
Как насчет предварять "Это подписанное сообщение не предназначено для формирования договора:" в сообщении, прежде чем хэширования его на обоих формирования и проверки сторон?
Я думаю, что мы не должны показывать это сообщение для пользователей, так что мы можем поставить то, что мы хотим. Он будет принадлежать к внутреннему механизму подписания / проверки функций.
Signmessage и verifymessage будет по-прежнему выполнять свою работу.
Верный. Вы можете добавить его, прежде чем подписать его и проверить его на проверку. Независимо от информации вы указывая префикс выбора, не сделать его коротким или общий вид, как злоумышленник может занять всю партию и попытаться использовать его в другом контексте для гнусных целей.
Это должно быть достаточно безопасным.

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

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

3 мая 2011, 6:22:09 PM   # 16
 
 
Сообщения: 755
Цитировать по имени
цитировать ответ
по умолчанию Re: [PULL] Войти и проверить сообщение с Bitcoin адресом и открытым ключом

В своем нынешнем виде это не добавляет какой-либо соли означает, что она достаточно легко вычислить таблицу радуги
"Поваренная соль" а также "радуга стол" как правило, используется в контексте нападения системы паролей. Пожалуйста изложить в достаточной технической детализации, как вы думаете, что они имеют отношение к этой теме.
Моя идея была такова: если ECDSA оказывается, есть какой-то выбранного шифротекста в будущем, злоумышленник, очевидно, должны быть в состоянии создать правильный хэш, который дает им зашифрованного они хотят. Если предположить, что simlar ток выбрал-зашифрованную атаку вам потребуется много подписей, чтобы заставить его работать. Следовательно, потребность в каком-то радужная таблице, которая содержит огромный список результатов хэш, которые приводят к шифротексту подходящего для атаки. Даже если его надуманным с текущим знанием ECDSA и SHA256, не может быть никаких гарантий, о будущем и с момента его дополнительной линии или два, чтобы добавить адрес используется для входа в качестве второй соли (предотвращающие такие таблицы радуги, за исключением при атаке конкретного заранее известный адрес), я не вижу никаких причин не делать этого. Кроме того, он бы мне спать легче ночью.
Мэтт Corallo сейчас офлайн Пожаловаться на Matt Corallo   Ответить с цитированием Мультицитирование сообщения от Matt Corallo Быстрый ответ на сообщение Matt Corallo

3 мая 2011, 8:12:24 PM   # 17
 
 
Сообщения: 416
Цитировать по имени
цитировать ответ
по умолчанию Re: [PULL] Войти и проверить сообщение с Bitcoin адресом и открытым ключом

Моя идея была такова: если ECDSA оказывается, есть какое-то избранность шифротекста [уязвимость]
Ну, ваша терминология, безусловно, неверно, так как ECDSA является алгоритмом подписи (это S в ECDSA) и, следовательно, нет никакого понятия о шифротексте.

Тем не менее, ваша идея, что нужно предварять адрес подписавшего на сообщение, прежде чем хэширования и подписание хэша, имеет определенный смысл.

Это предотвратило бы атакующему разработки общих таблиц для второго прообраза атаки на хэш-функции. Обратите внимание, что найти какой-либо прообраз данного хэша трудно. Нахождение уязвимостей прообраза гораздо сложнее. Обнаружение столкновений по сравнению намного проще. Хэш называется нарушенным, если столкновения могут быть найдены быстрее, чем грубой силой. Я надеюсь, что передает сложность атаки вы препятствующая.

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

3 мая 2011, 8:30:44 PM   # 18
 
 
Сообщения: 755
Цитировать по имени
цитировать ответ
по умолчанию Re: [PULL] Войти и проверить сообщение с Bitcoin адресом и открытым ключом

Ну, ваша терминология, безусловно, неверно, так как ECDSA является алгоритмом подписи (это S в ECDSA) и, следовательно, нет никакого понятия о шифротексте.
Простите, все то же понятие в любом случае, такой же результат, как хорошо.

Это предотвратило бы атакующему разработки общих таблиц для второго прообраза атаки на хэш-функции. Обратите внимание, что найти какой-либо прообраз данного хэша трудно. Нахождение уязвимостей прообраза гораздо сложнее. Обнаружение столкновений по сравнению намного проще. Хэш называется нарушенным, если столкновения могут быть найдены быстрее, чем грубой силой. Я надеюсь, что передает сложность атаки вы препятствующая.
Никогда не сказал, что это было легко, или даже отдаленно разумным в течение ближайших 10 лет. Предполагая, что никаких серьезных недостатков не обнаружено в SHA256, чтобы позволить быстрое вычисление выбранных хэшей, его, вероятно, даже отдаленно не разумно то. Тем не менее, никогда нет ничего плохого с добавлением лишь немного больше соли к вашим хэшей.
Мэтт Corallo сейчас офлайн Пожаловаться на Matt Corallo   Ответить с цитированием Мультицитирование сообщения от Matt Corallo Быстрый ответ на сообщение Matt Corallo

3 мая 2011, 11:37:29 PM   # 19
 
 
Сообщения: 1652
Цитировать по имени
цитировать ответ
по умолчанию Re: [PULL] Войти и проверить сообщение с Bitcoin адресом и открытым ключом

Тем не менее, никогда нет ничего плохого с добавлением лишь немного больше соли к вашим хэшей.
Вы предлагаете:
ECDSA_SIGN (SHA256 (ripemd160 (SHA256 (public_key)) +"фиксированная строка"+ Сообщение))
 является более безопасным, чем:
ECDSA_SIGN (SHA256 ("фиксированная строка"+ Сообщение))

Он уверен, выглядит более безопасным! Но, возможно, некоторые супер-умный криптограф будет чесать отношения между всем хешированием и подписыванием в первой версии, и получится менее безопасными; может быть, она будет выяснить способ факторизовать закрытый ключ, если открытый ключ участвует в соли.

Мне нравится простой вариант лучше.
Гэвин Андресен сейчас офлайн Пожаловаться на Гэвин Андресен   Ответить с цитированием Мультицитирование сообщения от Gavin Andresen Быстрый ответ на сообщение Гэвин Андресен

4 мая 2011, 12:34:12 AM   # 20
 
 
Сообщения: 416
Цитировать по имени
цитировать ответ
по умолчанию Re: [PULL] Войти и проверить сообщение с Bitcoin адресом и открытым ключом

Вы предлагаете:
ECDSA_SIGN (SHA256 (ripemd160 (SHA256 (public_key)) +"фиксированная строка"+ Сообщение))
 является более безопасным, чем:
ECDSA_SIGN (SHA256 ("фиксированная строка"+ Сообщение))

Это несколько более безопасным.

Предположим, что злоумышленник называется Зеведей имеет быстрый способ генерации второго прообраза для SHA256. В частности, Зеведи вычисляют
SHA256 ("фиксированная строка я должен Зеведея 00000.00000BTC") = 2689918779 ... и его прообраз атака позволяет ему быстро вычислить
SHA256 ("фиксированная строка я должен Зеведея 38128.34146BTC"знак равно3689918779 ...
SHA256 ("фиксированная строка я должен Зеведея 72413.65435BTC") = 2789918779 ...
и т.д
где изменения нужно перевернуть биты в хэш размещаются путем изменения количества.

С ECDSA_SIGN (SHA256 ("фиксированная строка"+ Сообщение)), Зеведи "просто" должно найти один хэш, который кто-либо когда-либо подписанные, который имеет тот же хэш, как один из приведенных выше строк, для которых он может выполнять вышеуказанную атаку прообраза. то Зеведи могут представить свою строку, хэш и правильную подпись жертвы на какую-то власть, как доказательство того, что жертва обязана Зеведею денег.

С ECDSA_SIGN (SHA256 (HASH (public_key) +"фиксированная строка"+ Сообщение)), Зеведи генерируют строки, как
"1Cvvr8AsCfbbVQ2xoWiFD1Gb2VRbGsEf28 фиксированной строки я должен Зеведей 12131.123121BTC" и атака продолжается, как и прежде.
Разница заключается в том, что Зеведи необходимо найти второй прообраз хэша среди гораздо меньшего набора хэш, подписанных владелец 1Cvvr8AsCfbbVQ2xoWiFD1Gb2VRbGsEf28.

Зеведей просто хочет денег, он не заботится, кого он обманывает. Во второй схеме, Зеведи вынуждены пытаться обмануть каждый подписчик один на один раз. В первой схеме, работа, которую он делает попытку обмануть любой подписчик - это гораздо более эффективным!

Конечно, идея полезного второго прообраза нападения на SHA256 слишком смешно принимать всерьез. Однако это не отменяет очевидное техническое превосходство второй схемы.

Обратите внимание, что это не то же самое нападение в соответствии с предложением BlueMatt который, казалось, вовлекают слабость ECDSA каким-то образом.

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



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW