Код:
п = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE BAAEDCE6 AF48A03B BFD25E8C D0364141
К сожалению, если это было предложено в 1000 раз уже ...
|
9 октября 2013, 7:02:01 PM | # 1 |
Сообщения: 1008
цитировать ответ |
Re: Не выход SHA256 * немного * слишком большой, чтобы использовать для закрытого ключа?
Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome" Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e подробнее... Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru Если порядок эллиптической кривой в Bitcoin некоторое число немного меньше, чем 2 ^ 256, то почему OK, чтобы использовать SHA256 хэш некоторых входных сигналов в качестве секретного ключа? Мой (постоянно растет) понимание ECDSA является то, что ключ должен быть некоторое целое число между 1 и порядок кривой, которая является:
Код: п = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE BAAEDCE6 AF48A03B BFD25E8C D0364141 К сожалению, если это было предложено в 1000 раз уже ... |
9 октября 2013, 7:05:34 PM | # 2 |
Сообщения: 2114
цитировать ответ |
Re: Не выход SHA256 * немного * слишком большой, чтобы использовать для закрытого ключа?
Получил 1806 Биткоинов
Реальная история. Если выход SHA256 больше, чем п она будет просто "обтекать" и работа.
Хотя, теперь, когда я думаю об этом, если выход из вашей SHA256 было ровно п, что, вероятно, вызовет проблемы. Но, то вероятность выхода из SHA256 быть точно п 1/2256. |
9 октября 2013, 7:08:12 PM | # 3 |
Сообщений: 12
цитировать ответ |
Re: Не выход SHA256 * немного * слишком большой, чтобы использовать для закрытого ключа?
Если порядок эллиптической кривой в Bitcoin некоторое число немного меньше, чем 2 ^ 256, то почему OK, чтобы использовать SHA256 хэш некоторых входных сигналов в качестве секретного ключа? Мой (постоянно растет) понимание ECDSA является то, что ключ должен быть некоторое целое число между 1 и порядок кривой, которая является: Код: п = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE BAAEDCE6 AF48A03B BFD25E8C D0364141 К сожалению, если это было предложено в 1000 раз уже ... Допустимые закрытые ключи являются целыми числами от 1 до N-1. Если вы получаете целое число >= П, когда хэширования какой-то секрет, то, что целое число является недопустимым закрытым ключом. Было бы ошибкой сводить что число по модулю п, как было бы ввести смещение в сторону более низких значений. Вероятность того, что происходит относительно невысока, однако. |
9 октября 2013, 7:14:35 PM | # 4 |
Сообщений: 12
цитировать ответ |
Re: Не выход SHA256 * немного * слишком большой, чтобы использовать для закрытого ключа?
Если выход SHA256 больше, чем п она будет просто "обтекать" и работа. Хотя, теперь, когда я думаю об этом, если выход из вашей SHA256 было ровно п, что, вероятно, вызовет проблемы. Но, то вероятность выхода из SHA256 быть точно п 1/2256. Тебе не следует "обтекать" или уменьшить число по модулю п. Если целое число == 0 или или >= П, то вы должны отказаться от него полностью и создать новый секретный ключ, используя новый секрет. В противном случае вы бы введение уклон в сторону более низкого нормированных частных ключей. |
9 октября 2013, 7:17:51 PM | # 5 |
Сообщения: 2114
цитировать ответ |
Re: Не выход SHA256 * немного * слишком большой, чтобы использовать для закрытого ключа?
Так что, brainwallet.org или любые из других сайтов brainwallet отвергает проходят фразы, которые происходят в хэш выше п?
|
9 октября 2013, 7:24:05 PM | # 6 |
Сообщения: 539
цитировать ответ |
Re: Не выход SHA256 * немного * слишком большой, чтобы использовать для закрытого ключа?
Так что, brainwallet.org или любые из других сайтов brainwallet отвергает проходят фразы, которые происходят в хэш выше п? Вероятность хэш выше п равна 1/2 ^ 128, так что следует считать практически невозможно достичь. |
9 октября 2013, 7:37:17 PM | # 7 |
Сообщения: 1008
цитировать ответ |
Re: Не выход SHA256 * немного * слишком большой, чтобы использовать для закрытого ключа?
Так что, brainwallet.org или любые из других сайтов brainwallet отвергает проходят фразы, которые происходят в хэш выше п? Вероятность хэш выше п равна 1/2 ^ 128, так что следует считать практически невозможно достичь. Я понимаю, что это очень маловероятно ... но для моего собственного понимания того, как работает Bitcoin, мне интересно знать, что происходит, если вы генерировать секретный ключ целое число, которое больше, чем п ... Я на самом деле реализовать свой собственный (очень неэффективный) вариант алгоритма ECDSA, так что я знаю, что вы можете выбрать закрытый ключ за пределами диапазона и алгоритм еще может функционировать нормально (путем оборачивания вокруг) ... но это то, что поведение по умолчанию Bitcoin это? |
9 октября 2013, 8:02:46 PM | # 8 |
Сообщения: 2114
цитировать ответ |
Re: Не выход SHA256 * немного * слишком большой, чтобы использовать для закрытого ключа?
Вероятность хэш выше п равна 1/2 ^ 128, так что следует считать практически невозможно достичь. На самом деле (2256 - п) / 2256 = 1 - п / 2256, которая очень близка к нулю. |
10 октября 2013, 3:43:42 AM | # 9 |
Сообщения: 560
цитировать ответ |
Re: Не выход SHA256 * немного * слишком большой, чтобы использовать для закрытого ключа?
котировка но это то, что поведение Bitcoin по умолчанию? Что ты имеешь ввиду "по умолчанию Bitcoin"? Вы имеете в виду Bitcoin-QT? Биткойн-интервал QT выбирает случайное число в соответствующем диапазоне; он не использует алгоритм SHA-256. Таким образом, он не имеет этой проблемы. Brainwallets использовать SHA-256. HD бумажники использовать HMAC_SHA512. Вы имеете в виду какой-либо из тех, в частности?Правильный ответ, если используется алгоритм SHA-256 для генерации ключа, чтобы отклонить ключ и повторите попытку. Как было отмечено, хотя, это все спорно при написании приложения. При написании стандарта вы хотели бы получить информацию, как это право. Но в ходе реализации это не важно, так как код вы пишете, чтобы проверить это никогда не сработает. |
10 октября 2013, 3:48:01 AM | # 10 |
Сообщения: 1008
цитировать ответ |
Re: Не выход SHA256 * немного * слишком большой, чтобы использовать для закрытого ключа?
котировка но это то, что поведение Bitcoin по умолчанию? Что ты имеешь ввиду "по умолчанию Bitcoin"? Вы имеете в виду Bitcoin-QT? Биткойн-интервал QT выбирает случайное число в соответствующем диапазоне; он не использует алгоритм SHA-256. Таким образом, он не имеет этой проблемы. Brainwallets использовать SHA-256. HD бумажники использовать HMAC_SHA512. Вы имеете в виду какой-либо из тех, в частности?Правильный ответ, если используется алгоритм SHA-256 для генерации ключа, чтобы отклонить ключ и повторите попытку. Как было отмечено, хотя, это все спорно при написании приложения. При написании стандарта вы хотели бы получить информацию, как это право. Но в ходе реализации это не важно, так как код вы пишете, чтобы проверить это никогда не сработает. Попался. Благодарю. |
10 октября 2013, 4:52:04 AM | # 11 |
Сообщения: 905
цитировать ответ |
Re: Не выход SHA256 * немного * слишком большой, чтобы использовать для закрытого ключа?
Вы, скорее всего, ввести ошибку в обработке особого случая, чем шанс обработчика вызываются даже один раз в всей жизни вашего приложения.
|
10 октября 2013, 5:23:29 AM | # 12 |
Сообщения: 2366
цитировать ответ |
Re: Не выход SHA256 * немного * слишком большой, чтобы использовать для закрытого ключа?
Вы, скорее всего, ввести ошибку в обработке особого случая, чем шанс обработчика вызываются даже один раз в всей жизни вашего приложения. Это довольно легко проверить повторные попытки, просто изменить критерии сравнения. Для того, чтобы сделать менее создает certificational слабость, которая уменьшает безопасность подписи ниже 128 бит. Уровень тестирования, необходимого для адекватного решения не существенно по сравнению с _everything else_ о процессе, так как есть много других ошибок, которые вы могли бы сделать, которые бы легко просочиться закрытый ключ, но оставить программное обеспечение, очевидно, работает правильно. |
12 октября 2013, 7:50:35 AM | # 13 |
Сообщения: 196
цитировать ответ |
Re: Не выход SHA256 * немного * слишком большой, чтобы использовать для закрытого ключа?
К сожалению, если это было предложено в 1000 раз уже ... И его на самом деле очень близко к теме самого первого вопроса я спросил на этом форуме ... bitaddress.org позволяет ввести шестнадцатеричный секретный ключ, и пытаются несколько различных значений (включая все FFFF и все 0000) Я думал, что я нашел столкновение. На самом деле оказалось, что все 0000 нарушил алгоритм (bitaddress.org) и только что вернулся один и тот же ключ, что и предыдущей попытки. Но дальше играя подтвердил, что ключевые ценности делать обтекать в п значения (по крайней мере, в том смысле, генерирующего то же значение открытого ключа, и, следовательно, решения, от закрытого ключа). Это также случай с версией алгоритма ECDSA, используемого pywallet. Что касается Bitcoin-QT, я оставлю его разработчикам, чтобы комментировать, поскольку я не получил мою голову вокруг этого кода еще. Да, и некоторые советы. Не используйте SHA256 для brainwallet. Слишком много жуликов порождающих радужных таблиц и радикальные операции. Если нужно, то по крайней мере, использовать какое-то соль, чтобы сделать их работу сложнее. |
14 октября 2013, 1:07:54 AM | # 14 |
Сообщения: 1008
цитировать ответ |
Re: Не выход SHA256 * немного * слишком большой, чтобы использовать для закрытого ключа?
К сожалению, если это было предложено в 1000 раз уже ... И его на самом деле очень близко к теме самого первого вопроса я спросил на этом форуме ... bitaddress.org позволяет ввести шестнадцатеричный секретный ключ, и пытаются несколько различных значений (включая все FFFF и все 0000) Я думал, что я нашел столкновение. На самом деле оказалось, что все 0000 нарушил алгоритм (bitaddress.org) и только что вернулся один и тот же ключ, что и предыдущей попытки. Но дальше играя подтвердил, что ключевые ценности делать обтекать в п значения (по крайней мере, в том смысле, генерирующего то же значение открытого ключа, и, следовательно, решения, от закрытого ключа). Это также случай с версией алгоритма ECDSA, используемого pywallet. Что касается Bitcoin-QT, я оставлю его разработчикам, чтобы комментировать, поскольку я не получил мою голову вокруг этого кода еще. Да, и некоторые советы. Не используйте SHA256 для brainwallet. Слишком много жуликов порождающих радужных таблиц и радикальные операции. Если нужно, то по крайней мере, использовать какое-то соль, чтобы сделать их работу сложнее. Спасибо за ответ и советы. Интересно, что полуспециальных пользователи заинтересованы. Я думаю, что есть много пользователей, которые не действительно хотят знать, как работает ECDSA, но они не хотят знать, что "действительный" закрытый ключ. Не слишком много мест, говорят, что любое целое число от 1 до N-1 и указать значение п (и, что еще хуже, я нашел несколько мест, которые отметили, что выход SHA256 является допустимым ключом, который не так ... и вероятности есть ничего не делать с ней, если она ведет пользователь думать, что "все значения FFFF" набран вручную действителен). |
15 октября 2013, 6:51:13 AM | # 15 |
Сообщения: 1568
цитировать ответ |
Re: Не выход SHA256 * немного * слишком большой, чтобы использовать для закрытого ключа?
К сожалению, если это было предложено в 1000 раз уже ... И его на самом деле очень близко к теме самого первого вопроса я спросил на этом форуме ... bitaddress.org позволяет ввести шестнадцатеричный секретный ключ, и пытаются несколько различных значений (включая все FFFF и все 0000) Я думал, что я нашел столкновение. На самом деле оказалось, что все 0000 нарушил алгоритм (bitaddress.org) и только что вернулся один и тот же ключ, что и предыдущей попытки. Но дальше играя подтвердил, что ключевые ценности делать обтекать в п значения (по крайней мере, в том смысле, генерирующего то же значение открытого ключа, и, следовательно, решения, от закрытого ключа). Это также случай с версией алгоритма ECDSA, используемого pywallet. Что касается Bitcoin-QT, я оставлю его разработчикам, чтобы комментировать, поскольку я не получил мою голову вокруг этого кода еще. Да, и некоторые советы. Не используйте SHA256 для brainwallet. Слишком много жуликов порождающих радужных таблиц и радикальные операции. Если нужно, то по крайней мере, использовать какое-то соль, чтобы сделать их работу сложнее. Я прочитал очень интересную нить до того, где было показан, brainwallets с общими фразами, как "пароль" а также "люблю" были сделки sweeped из них быстро. Использование соли, безусловно, сделает лучше безопасность. |
15 октября 2013, 7:05:46 AM | # 16 |
Сообщения: 2366
цитировать ответ |
Re: Не выход SHA256 * немного * слишком большой, чтобы использовать для закрытого ключа?
Я прочитал очень интересную нить до того, где было показан, brainwallets с общими фразами, как "пароль" а также "люблю" были сделки sweeped из них быстро. "brainwallets" гораздо более сложные, чем те (например, те, с 60+ входами символов), были скомпрометированы. Люди не является приемлемым источником случайности.котировка Использование соли, безусловно, сделает лучше безопасность. Если соль является достаточно большим, чтобы обеспечить надлежащую безопасность, вы можете просто использовать пароль для шифрования соли вместо этого, и тогда вы не имеете ключ управление кошмара пароля, который никогда не может действительно быть изменен. |
15 октября 2013, 9:47:19 AM | # 17 |
Сообщения: 2016
цитировать ответ |
Re: Не выход SHA256 * немного * слишком большой, чтобы использовать для закрытого ключа?
Вероятность хэш выше п равна 1/2 ^ 128, так что следует считать практически невозможно достичь. На самом деле (2256 - п) / 2256 = 1 - п / 2256, которая очень близка к нулю. |
15 октября 2013, 4:34:10 PM | # 18 |
Сообщения: 1428
цитировать ответ |
Re: Не выход SHA256 * немного * слишком большой, чтобы использовать для закрытого ключа?
Расстраивает анекдот: библиотека Crypto ++ делает не обернуть вокруг значения больше, чем N (и это справедливо не должны). Вместо этого он просто возвращает ошибку сегментации. Я знаю это, потому что в тестировании адрес импортирования, я часто использую строки, как "\ хаа"* 32 для закрытых ключей. Однажды я использовал "\ XFF '* 32, не понимая, я выбирала неверный секретный ключ, который привел к как полный рабочий день отслеживания этого разрушительного "ошибка" который был на самом деле просто разработчик глупостью.
На практике, если ваш "Генератор случайных чисел" приводит к закрытому ключу, который находится вне диапазона, это более вероятно, плохой ГСЧ или вредоносный результат, чем то, что вы только что получили "несчастливый", С даже посредственного ГСЧ, это не является проблемой. |
15 октября 2013, 5:32:34 PM | # 19 |
Сообщения: 1008
цитировать ответ |
Re: Не выход SHA256 * немного * слишком большой, чтобы использовать для закрытого ключа?
Расстраивает анекдот: библиотека Crypto ++ делает не обернуть вокруг значения больше, чем N (и это справедливо не должны). Вместо этого он просто возвращает ошибку сегментации. Я знаю это, потому что в тестировании адрес импортирования, я часто использую строки, как "\ хаа"* 32 для закрытых ключей. Однажды я использовал "\ XFF '* 32, не понимая, я выбирала неверный секретный ключ, который привел к как полный рабочий день отслеживания этого разрушительного "ошибка" который был на самом деле просто разработчик глупостью. На практике, если ваш "Генератор случайных чисел" приводит к закрытому ключу, который находится вне диапазона, это более вероятно, плохой ГСЧ или вредоносный результат, чем то, что вы только что получили "несчастливый", С даже посредственного ГСЧ, это не является проблемой. Интересно! |
15 октября 2013, 8:55:00 PM | # 20 |
Сообщений: 88
цитировать ответ |
Re: Не выход SHA256 * немного * слишком большой, чтобы использовать для закрытого ключа?
если закрытый ключ не должен быть 0, как приходит адрес Оружейные генерирует из секретного ключа все 0 имеет баланс? ошибка в оружейной?
https://blockchain.info/de/address/16QaFeudRUt8NYy2yzjm3BMvG4xBbAsBFM Кстати, сделка ретранслируется купить 0.0.0.0? |