Я думаю, чтобы иметь возможность грубой силы пароля, но мне нужно еще немного теста скорости, Электрум в 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 (семя)
Семя = 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 из моего бумажника, так что вы можете проверить все, или не я успешно извлекать основывает.
(Редактирование: удалены).
Если кто-то захотел попробовать, спасибо.