Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
3 февраля 2013, 2:12:07 PM   # 1
 
 
Сообщения: 1134
Цитировать по имени
цитировать ответ
по умолчанию Re: [Bounty 50BTC] Цель реализации GPU этого алгоритма

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


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Я потерял пароль моего Электрум кошелька. На самом деле, я не перетерпеть бумажник, чтобы иметь пароль, когда я послал деньги на него. Какой тупой ход, создание пароля для бумажника 1,5 месяца назад, удаление программного обеспечения, перезакачает его и предположим, что с тех пор, что он не спросил, не было никакого пароля. (Зашифрованный файл был сохранен в моем домашнем каталоге).
Я думаю, чтобы иметь возможность грубой силы пароля, но мне нужно еще немного теста скорости, Электрум в Python, и это очень медленно. Мне нужно, чтобы попытаться по крайней мере один миллиард паролей.
Так что, если кто-то помогает мне, обеспечивая реализацию GPU следующего алгоритма и я успешно восстановить свои основывает, я буду более чем счастлив наградить его с 50BTC.

Код:
Защиту decode_seed (я, пароль):
        Семя = self.pw_decode (self.seed, пароль)

        # Проверка декодируется семена с мастерами открытым ключом
        Кривая = SECP256k1
        secexp = self.stretch_key (начальный)
        master_private_key = ecdsa.SigningKey.from_secret_exponent (secexp, кривая = SECP256k1)
        . Master_public_key = master_private_key.get_verifying_key () to_string (). Закодировать ( '' шестигранник)
        если master_public_key = self.master_public_key:
            print_error ( 'неверный пароль (MPK)')
            поднять BaseException ( «Неверный пароль»)

        возвращение семян

Защиту stretch_key (я, семя):
        Олдсид = семян
        для г в диапазоне (100000):
            семена = hashlib.sha256 (семена + Олдсид) .digest ()
            Выход()
        Возвращение string_to_number (семя)

Я не нашел Иоанну риппер реализации ECDSA, или он не существует.
Вот screenshoot из моего бумажника, так что вы можете проверить все, или не я успешно извлекать основывает.

(Редактирование: удалены).

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


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


3 февраля 2013, 6:44:41 PM   # 2
 
 
Сообщения: 293
Цитировать по имени
цитировать ответ
по умолчанию Re: [Bounty 50BTC] Цель реализации GPU этого алгоритма

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





Таким образом, вы знаете, часть пароля? Что перебор схемы вы хотели бы работать? Если вы что-нибудь о пароле не знаете, и это больше, чем 8 символов забыть.

ECDSA код GPU здесь кстати:
https://github.com/samr7/vanitygen/blob/master/oclengine.c

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

3 февраля 2013, 7:14:35 PM   # 3
 
 
Сообщения: 1134
Цитировать по имени
цитировать ответ
по умолчанию Re: [Bounty 50BTC] Цель реализации GPU этого алгоритма

Таким образом, вы знаете, часть пароля? Что перебор схемы вы хотели бы работать? Если вы что-нибудь о пароле не знаете, и это больше, чем 8 символов забыть.

ECDSA код GPU здесь кстати:
https://github.com/samr7/vanitygen/blob/master/oclengine.c

Но это только часть уравнения. Основная функция используется вывод сделает его много помедленнее.
У меня есть несколько моделей, я хотел бы попробовать. Весь пароль может быть даже 10-12 символов. Я хочу попробовать.

К сожалению, то, что является ключевой функцией вывода? 10000 sha256?
cedivad сейчас офлайн Пожаловаться на cedivad   Ответить с цитированием Мультицитирование сообщения от cedivad Быстрый ответ на сообщение cedivad

3 февраля 2013, 7:33:50 PM   # 4
 
 
Сообщения: 293
Цитировать по имени
цитировать ответ
по умолчанию Re: [Bounty 50BTC] Цель реализации GPU этого алгоритма

К сожалению, то, что является ключевой функцией вывода? 10000 sha256?

Она простирается ключ, выполняя 100000 SHA256 раундов.

Radeon 7970 может сделать около миллиарда SHA256 / секунду. При этом она снижается до 10k хэшей / сек. При такой скорости вы можете сделать часть ECDSA на CPU (в C, конечно, не питон), так как, по крайней мере в 40 раз быстрее, чем это.

Таким образом, вы даже не нуждаются в реализации ECDSA GPU.
Scrat желуди сейчас офлайн Пожаловаться на Scrat Желуди   Ответить с цитированием Мультицитирование сообщения от Scrat Желуди Быстрый ответ на сообщение Scrat Желуди

3 февраля 2013, 7:46:25 PM   # 5
 
 
Сообщения: 1134
Цитировать по имени
цитировать ответ
по умолчанию Re: [Bounty 50BTC] Цель реализации GPU этого алгоритма

Co Co Co.
Спасибо за ценную информацию.

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

17 марта 2013, 10:49:31 PM   # 6
 
 
Сообщения: 439
Цитировать по имени
цитировать ответ
по умолчанию Re: [Bounty 50BTC] Цель реализации GPU этого алгоритма

Таким образом, у вас есть 12 слов мастер семян и вам не хватает своего бумажника или пароль?
придерживаться сейчас офлайн Пожаловаться на палку   Ответить с цитированием Мультицитирование Сообщения от палки Быстрый ответ на сообщение клюшка

19 марта 2013, 9:15:06 PM   # 7
 
 
Сообщения: 1428
Цитировать по имени
цитировать ответ
по умолчанию Re: [Bounty 50BTC] Цель реализации GPU этого алгоритма

Именно поэтому Оружейная использует Scrypt подобный алгоритм для его кошелька шифрования. Это делает 100000 хэшей ключевой фразы, но требует от них быть сохранены в памяти сразу, так что вы можете сделать 100000 табличных преобразований на нем, чтобы получить конечный результат. Это делает GPU-ускорение довольно бесполезно для атакующего (GPU потоки обычно имеют только небольшое количество быстрой памяти, а не мегабайт). Вот почему Оружейный сайт рекламирует "GPU-резистентный шифрования бумажника", (Для справки, это называется алгоритм Romix - найдено в той же бумаге, Scrypt, это просто, что Romix гораздо проще, несмотря на гораздо менее гибко о компромиссе вычислительно памяти)

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

20 марта 2013, 1:50:46 AM   # 8
 
 
Сообщения: 798
Цитировать по имени
цитировать ответ
по умолчанию Re: [Bounty 50BTC] Цель реализации GPU этого алгоритма

Именно поэтому Оружейная использует Scrypt подобный алгоритм для его кошелька шифрования. Это делает 100000 хэшей ключевой фразы, но требует от них быть сохранены в памяти сразу, так что вы можете сделать 100000 табличных преобразований на нем, чтобы получить конечный результат. Это делает GPU-ускорение довольно бесполезно для атакующего (GPU потоки обычно имеют только небольшое количество быстрой памяти, а не мегабайт). Вот почему Оружейный сайт рекламирует "GPU-резистентный шифрования бумажника", (Для справки, это называется алгоритм Romix - найдено в той же бумаге, Scrypt, это просто, что Romix гораздо проще, несмотря на гораздо менее гибко о компромиссе вычислительно памяти)

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

Извините, но на Оружейной UI он говорит бумажник шифруется с AES256, почему это?
oakpacific сейчас офлайн Пожаловаться на oakpacific   Ответить с цитированием Мультицитирование сообщения от oakpacific Быстрый ответ на сообщение oakpacific

20 марта 2013, 2:01:34 AM   # 9
 
 
Сообщения: 1428
Цитировать по имени
цитировать ответ
по умолчанию Re: [Bounty 50BTC] Цель реализации GPU этого алгоритма

Именно поэтому Оружейная использует Scrypt подобный алгоритм для его кошелька шифрования. Это делает 100000 хэшей ключевой фразы, но требует от них быть сохранены в памяти сразу, так что вы можете сделать 100000 табличных преобразований на нем, чтобы получить конечный результат. Это делает GPU-ускорение довольно бесполезно для атакующего (GPU потоки обычно имеют только небольшое количество быстрой памяти, а не мегабайт). Вот почему Оружейный сайт рекламирует "GPU-резистентный шифрования бумажника", (Для справки, это называется алгоритм Romix - найдено в той же бумаге, Scrypt, это просто, что Romix гораздо проще, несмотря на гораздо менее гибко о компромиссе вычислительно памяти)

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

Извините, но на Оружейной он сказал бумажник шифруется с AES256, почему это?

Он шифруется с AES256. Там две различные шаги для разблокировки вашего кошелька:

  • (1) Преобразовать пароль к ключу шифрования
  • (2) Используйте ключ для шифрования вашего кошелька с AES256

Passphrase -> 32-байтовый AES256 ключ -> Encrypt Wallet

Ключ шифрования полные 32 байта данных, которые бы невозможно угадать. Но ваш пароль / ключевая фраза гораздо меньше. Таким образом, злоумышленник не нужно угадать ключ шифрования, если они угадать ваш пароль - так что они просто нужно угадать кучу паролей, запустить их через (1), а затем проверить, если это правильно.

Bitcoin-Qt и Оружейная как это сделать, они просто использовать другой шаг-1: X, 000 последовательных хэшей, заставляя атакующего провести полную 0,1-0,25 секунды, чтобы проверить, есть ли они ваш пароль правильно. Разница заключается в том, что ключ-растягивание используется в Bitcoin-Qt только требует вычислений времени. Для этого требуется только несколько десятков байт памяти быстрого доступа, чтобы преобразовать ваш пароль к ключу шифрования, он просто требует много хэшей. Из-за этого, очень параллелизуемым - злоумышленник с кучей графических процессоров, имеющей 2000 темы, каждый из них может получить 100-1000x ускорение по сравнению с только с помощью центрального процессора.

Но Оружейная ключ растяжения (и Scrypt на основе алгоритмов) требует, чтобы каждый поток, чтобы иметь доступ к мегабайта быстрый доступ RAM. Таким образом, вы не могли бы быть в состоянии поставить его на GPU на всех, или вы бы только быть в состоянии работать 10 из этих 2000 потоков одновременно. В этом случае, вы можете также просто использовать процессор.
etotheipi сейчас офлайн Пожаловаться на etotheipi   Ответить с цитированием Мультицитирование сообщения от etotheipi Быстрый ответ на сообщение etotheipi

20 марта 2013, 1:24:53 PM   # 10
 
 
Сообщения: 798
Цитировать по имени
цитировать ответ
по умолчанию Re: [Bounty 50BTC] Цель реализации GPU этого алгоритма

Именно поэтому Оружейная использует Scrypt подобный алгоритм для его кошелька шифрования. Это делает 100000 хэшей ключевой фразы, но требует от них быть сохранены в памяти сразу, так что вы можете сделать 100000 табличных преобразований на нем, чтобы получить конечный результат. Это делает GPU-ускорение довольно бесполезно для атакующего (GPU потоки обычно имеют только небольшое количество быстрой памяти, а не мегабайт). Вот почему Оружейный сайт рекламирует "GPU-резистентный шифрования бумажника", (Для справки, это называется алгоритм Romix - найдено в той же бумаге, Scrypt, это просто, что Romix гораздо проще, несмотря на гораздо менее гибко о компромиссе вычислительно памяти)

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

Извините, но на Оружейной он сказал бумажник шифруется с AES256, почему это?

Он шифруется с AES256. Там две различные шаги для разблокировки вашего кошелька:

  • (1) Преобразовать пароль к ключу шифрования
  • (2) Используйте ключ для шифрования вашего кошелька с AES256

Passphrase -> 32-байтовый AES256 ключ -> Encrypt Wallet

Ключ шифрования полные 32 байта данных, которые бы невозможно угадать. Но ваш пароль / ключевая фраза гораздо меньше. Таким образом, злоумышленник не нужно угадать ключ шифрования, если они угадать ваш пароль - так что они просто нужно угадать кучу паролей, запустить их через (1), а затем проверить, если это правильно.

Bitcoin-Qt и Оружейная как это сделать, они просто использовать другой шаг-1: X, 000 последовательных хэшей, заставляя атакующего провести полную 0,1-0,25 секунды, чтобы проверить, есть ли они ваш пароль правильно. Разница заключается в том, что ключ-растягивание используется в Bitcoin-Qt только требует вычислений времени. Для этого требуется только несколько десятков байт памяти быстрого доступа, чтобы преобразовать ваш пароль к ключу шифрования, он просто требует много хэшей. Из-за этого, очень параллелизуемым - злоумышленник с кучей графических процессоров, имеющей 2000 темы, каждый из них может получить 100-1000x ускорение по сравнению с только с помощью центрального процессора.

Но Оружейная ключ растяжения (и Scrypt на основе алгоритмов) требует, чтобы каждый поток, чтобы иметь доступ к мегабайта быстрый доступ RAM. Таким образом, вы не могли бы быть в состоянии поставить его на GPU на всех, или вы бы только быть в состоянии работать 10 из этих 2000 потоков одновременно. В этом случае, вы можете также просто использовать процессор.

Ах, я вижу, так что, может быть, немного лучше сказать, "ключ шифрования бумажника" чтобы избежать путаницы.

Таким образом, в принципе, могут некоторые ключевые растягиваниями алгоритмов генерации грубой силы, устойчивые ключи от даже относительно слабых паролей (скажем, только 8 символов с одной столицей), пока пароль не является обычным делом?
oakpacific сейчас офлайн Пожаловаться на oakpacific   Ответить с цитированием Мультицитирование сообщения от oakpacific Быстрый ответ на сообщение oakpacific

20 марта 2013, 2:51:36 PM   # 11
 
 
Сообщения: 2058
Цитировать по имени
цитировать ответ
по умолчанию Re: [Bounty 50BTC] Цель реализации GPU этого алгоритма

почему не только фермы на это на Amazon EC2 кластер? 50 BTC можно купить много из вычисления времени.
зиний сейчас офлайн Пожаловаться на зиний   Ответить с цитированием Мультицитирование сообщения от зиний Быстрый ответ на сообщение зиний

20 марта 2013, 7:58:59 PM   # 12
 
 
Сообщения: 1134
Цитировать по имени
цитировать ответ
по умолчанию Re: [Bounty 50BTC] Цель реализации GPU этого алгоритма

почему не только фермы на это на Amazon EC2 кластер? 50 BTC можно купить много из вычисления времени.
Ну, у вас есть точка здесь. Я делаю некоторые расчеты ... Давайте посмотрим ...
250BTC = 15k $. Я предполагаю, что сервер с 7970 будет продаваться по цене 250 $ в месяц, и что, стоя на посты выше этого, он будет делать 10k тестов / вторым. 15000/250 = 60 серверов * 86400 * 30 секунд * 10k тесты / сек => 10 ^ 12 комбинаций для тестирования. 52 ^ 8 = 10 ^ 13. Я еще один порядок выключения.

От пяти до десяти лет с этого момента, я совершенно уверен, что я смогу вернуть деньги.

Это будет смешно!

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

28 марта 2013, 10:37:09 AM   # 13
 
 
Сообщения: 1134
Цитировать по имени
цитировать ответ
по умолчанию Re: [Bounty 50BTC] Цель реализации GPU этого алгоритма

Ребята, UP.
Для того, чтобы тот, кто захотел осуществить это в короткие сроки (<24H), 1000 $ мой Баунти. Это будет оплачено при доставке коды, а не если трещина прошла успешно, как я сказал в первом посте.

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

Программа будет работать на не менее 2000 тестов / секунду на моем 7970 (зева до вас).
cedivad сейчас офлайн Пожаловаться на cedivad   Ответить с цитированием Мультицитирование сообщения от cedivad Быстрый ответ на сообщение cedivad

28 марта 2013, 2:59:35 PM   # 14
 
 
Сообщения: 218
Цитировать по имени
цитировать ответ
по умолчанию Re: [Bounty 50BTC] Цель реализации GPU этого алгоритма


Если кто-то захотел попробовать, спасибо.

Вы не зарегистрировали свой кошелек семян поколения мнемоников где-нибудь? 12 слов парольной фразы вы бы было показано в начале? Записаны ли его и удалить файл, или не записывать его?

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

1 апреля 2013, 6:16:57 PM   # 15
 
 
Сообщений: 50
Цитировать по имени
цитировать ответ
по умолчанию Re: [Bounty 50BTC] Цель реализации GPU этого алгоритма

Я не нашел Иоанну риппер реализации ECDSA, или он не существует.
Из кода вы вставили, кажется, что реальная проблема здесь является 10000 раундов SHA256, а не ECDSA. Может быть, стоит попробовать поставить только "stretch_key" Метод на GPU, а затем сделать ECDSA на процессоре. Вероятно, гораздо меньше работы для реализации, но до сих пор значительная скорость вверх по сравнению с наивностью работает этот питон скрипт.
vamdor сейчас офлайн Пожаловаться на vamdor   Ответить с цитированием Мультицитирование сообщения от vamdor Быстрый ответ на сообщение vamdor

1 апреля 2013, 7:31:42 PM   # 16
 
 
Сообщения: 1134
Цитировать по имени
цитировать ответ
по умолчанию Re: [Bounty 50BTC] Цель реализации GPU этого алгоритма

Я не нашел Иоанну риппер реализации ECDSA, или он не существует.
Из кода вы вставили, кажется, что реальная проблема здесь является 10000 раундов SHA256, а не ECDSA. Может быть, стоит попробовать поставить только "stretch_key" Метод на GPU, а затем сделать ECDSA на процессоре. Вероятно, гораздо меньше работы для реализации, но до сих пор значительная скорость вверх по сравнению с наивностью работает этот питон скрипт.
Один мой друг сказал, что он пытался, но он не может работать ECDSA на хорошей скорости ... Не уверен, почему это doesent согласен с другими должностями здесь ...
cedivad сейчас офлайн Пожаловаться на cedivad   Ответить с цитированием Мультицитирование сообщения от cedivad Быстрый ответ на сообщение cedivad

1 апреля 2013, 9:05:28 PM   # 17
 
 
Сообщения: 154
Цитировать по имени
цитировать ответ
по умолчанию Re: [Bounty 50BTC] Цель реализации GPU этого алгоритма

Я не нашел Иоанну риппер реализации ECDSA, или он не существует.
Из кода вы вставили, кажется, что реальная проблема здесь является 10000 раундов SHA256, а не ECDSA. Может быть, стоит попробовать поставить только "stretch_key" Метод на GPU, а затем сделать ECDSA на процессоре. Вероятно, гораздо меньше работы для реализации, но до сих пор значительная скорость вверх по сравнению с наивностью работает этот питон скрипт.
Один мой друг сказал, что он пытался, но он не может работать ECDSA на хорошей скорости ... Не уверен, почему это doesent согласен с другими должностями здесь ...
Я думаю, что я прочитал, что OpenSSL имеет намеренно покалечила реализацию, потому что информация в противном случае хронометража утечке, которая может быть использована для восстановления закрытого ключа. Я не знаю подробностей, но была нить об этом здесь в какой-то момент. Может быть, это проблема - попробуйте другую библиотеку ECDSA предназначен для скорости, а не безопасности.
Zeilap сейчас офлайн Пожаловаться на Zeilap   Ответить с цитированием Мультицитирование сообщения от Zeilap Быстрый ответ на сообщение Zeilap

1 апреля 2013, 9:08:51 PM   # 18
 
 
Сообщения: 1428
Цитировать по имени
цитировать ответ
по умолчанию Re: [Bounty 50BTC] Цель реализации GPU этого алгоритма

Я не нашел Иоанну риппер реализации ECDSA, или он не существует.
Из кода вы вставили, кажется, что реальная проблема здесь является 10000 раундов SHA256, а не ECDSA. Может быть, стоит попробовать поставить только "stretch_key" Метод на GPU, а затем сделать ECDSA на процессоре. Вероятно, гораздо меньше работы для реализации, но до сих пор значительная скорость вверх по сравнению с наивностью работает этот питон скрипт.
Один мой друг сказал, что он пытался, но он не может работать ECDSA на хорошей скорости ... Не уверен, почему это doesent согласен с другими должностями здесь ...
Я думаю, что я прочитал, что OpenSSL имеет намеренно покалечила реализацию, потому что информация в противном случае хронометража утечке, которая может быть использована для восстановления закрытого ключа. Я не знаю подробностей, но была нить об этом здесь в какой-то момент. Может быть, это проблема - попробуйте другую библиотеку ECDSA предназначен для скорости, а не безопасности.

ECDSA медленно. Независимо от того, как вы смотрите на него. Реализации замедлить его дальше в целях повышения устойчивости к вещам, как временные атаки, но вы просто не собираетесь получить быстрое внедрение на CPU. Я думаю, 1000 / с / ядро ​​о том, что вы можете ожидать.

Но другой плакат прав - это на самом деле не проблема ECDSA - это проблема хеширования. И есть много хэширования Algos уже реализованные на графических процессорах. Это, вероятно, разумно запускать хэширования на GPU, а затем отправить постоянный поток результатов в ЦПУ для проверки ответа. Даже если ваш GPU имеет много ядер, я не уверен, что это из-расхаживать скорость вычислений CPU-ECDSA. Это, вероятно, является разумным подходом.
etotheipi сейчас офлайн Пожаловаться на etotheipi   Ответить с цитированием Мультицитирование сообщения от etotheipi Быстрый ответ на сообщение etotheipi

2 июля 2014, 9:40:45 AM   # 19
 
 
Сообщений: 37
Цитировать по имени
цитировать ответ
по умолчанию Re: [Bounty 50BTC] Цель реализации GPU этого алгоритма

Я сделал интересное открытие: если вы знаете, закодированное семя в бумажнике Электрума, то вы можете восстановить незашифрованые семена без пароля растяжения и фантазии эллиптических кривых материала. Просто попытайтесь расшифровать пароль, и если вы получите действительное шестнадцатеричное число 32 символов, то кандидат пароль хорошо, в противном случае это плохо.

Пример кода Python:


# - * - кодирование: UTF-8 - * -

импорт АЕС
импорт hashlib
импорт base64

DecodeAES = лямбда секрет, е: aes.decryptData (секрет, base64.b64decode (е))

Защиту sha256 (х):
    вернуть hashlib.sha256 (х) .digest ()

Защиту Hash (х):
    если тип (х) Юникода: х = x.encode ( 'UTF-8')
    вернуть SHA256 (sha256 (х))

Защиту pw_decode (s, пароль):
    если пароль не является None:
        секрет = Hash (пароль)
        пытаться:
            г = DecodeAES (секрет, с)
        кроме исключений, е:
            поднять Exception ( «Неверный пароль»)
        возвращение d
    еще:
        возвращение s

Защиту try_pw (encoded_seed, pw_cand):
  Семя = «»
  пытаться:
    семян = pw_decode (encoded_seed, pw_cand)
  кроме исключений:
    Семя = «»
  в конце концов:
    проходить
  возвращение семян

Защиту chk_seed (семя):
  если Len (начальный) == 0:
    вернуться Ложные
  CNT = 0;
  для с в семенах:
    CNT + 1 =
    если CNT>32:
      возвращающие
    я = Ord (с)
    Если я<48:
      вернуться Ложные
    Если я>57:
      Если я<97:
        вернуться Ложные
      Если я>102:
        вернуться Ложные
  возвращающие

Тест четкости ():
  encoded_seed = 'Ww9jsiumblVPSM5owcLS6wODqxh0YDLIg / г + мВН + nuNP + f7yyhqOomTlK9tDv8xV0kYt / nUDeTZNtUOr3Zfp2w =='
  # Pw_cand = 'тест'
 
  CNT = 0
  cnt_good = 0
  для c1 в 'T': # 'ABCDEFGHIJKLMNOPQRSTUVWXYZ':
    для с2 в «ABCDEFGHIJKLMNOPQRSTUVWXYZ»:
      для с3 в «ABCDEFGHIJKLMNOPQRSTUVWXYZ»:
        для с4 в «ABCDEFGHIJKLMNOPQRSTUVWXYZ»:
          pw_cand1 = c1 + c2 + c3 + c4
          CNT + 1 =
          семян = try_pw (encoded_seed, pw_cand1)
          # Печать семян
          если chk_seed (семена):
            печать 'ПВт хорошо:% s' % pw_cand1
            cnt_good + 1 =
  Печать 'CNT:% d' % CNT
  Печать 'cnt_good:% d' % cnt_good

контрольная работа()


Если вы запустите его, он правильно находит пароль:


$ Питон m2.py
ПВт хорошо: тест
CNT: 676
cnt_good: 1


Эта "доказательство концепции" код использует только два SHA256 и один AES256 попробовать пароль.
Его скорость может быть оптимизирована до 10 ** 7 (возможно 10 ** 8) испытания / сек / CPU_core.

Так, с 128 ядрами, 10 ** 15 (возможно 10 ** 16) пароли могут быть проверены в день (по крайней мере, в теории).

Это до cedivad, что делать с этим открытием ...


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

2 июля 2014, 4:56:20 PM   # 20
 
 
Сообщения: 672
Цитировать по имени
цитировать ответ
по умолчанию Re: [Bounty 50BTC] Цель реализации GPU этого алгоритма

Я сделал интересное открытие: если вы знаете, закодированное семя в бумажнике Электрума, то вы можете восстановить незашифрованые семена без пароля растяжения и фантазии эллиптических кривых материала. Просто попытайтесь расшифровать пароль, и если вы получите действительное шестнадцатеричное число 32 символов, то кандидат пароль хорошо, в противном случае это плохо.
...
Его скорость может быть оптимизирована до 10 ** 7 (возможно 10 ** 8) испытания / сек / CPU_core.

Да, это именно то, что я делаю в btcrecover здесь. Я только управление около 10 ^ 5 пытается / с на одно ядро ​​процессора (это написано в Python, но использует библиотеки для SHA и AES, написанной в C), но я предполагаю, что это может быть улучшено, если полностью написан на C, или даже лучше OpenCL ....

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



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW