Bitcoin Forum

Local => Новички => Topic started by: alpet on March 29, 2013, 09:40:40 AM



Title: Проверка криптографии wallet.dat
Post by: alpet on March 29, 2013, 09:40:40 AM
Предлагаю желающим подобрать пароль к кошельку, что я забыл опять:
http://files.mail.ru/25F226BCB3434905A66902828DD80A23
Там осталось без малого одна монета, и соответственно при должном энтузиазме можно заработать (альтруисты могут подсказать пароль в личку).
В пароле порядка 10-12 символов, так что дерзайте!


Title: Re: Проверка криптографии wallet.dat
Post by: alpet on March 29, 2013, 09:46:14 AM
Прошу прощения, я сам себя запутал. Оказался пароль 1, а вовсе не сложный из ребуса.
Вот другой кошелек, с гарантированным паролем 11 символов:
http://files.mail.ru/B83209B0050843CFB819ACAD66E843AC
Некоторые символы я запомнил, поэтому просьба приз не увеличивать транзакциями на этот кошелек (у меня преимущество восстановления).


Title: Re: Проверка криптографии wallet.dat
Post by: naima53 on March 29, 2013, 02:21:03 PM
А какой там алгоритм?


Title: Re: Проверка криптографии wallet.dat
Post by: Mikanoshi on March 30, 2013, 05:51:16 AM
Для начала данные о мастер-ключе для данного кошелька:
Code:
"mkey": {
        "crypted_key": "6b6178c1803c946cdc62b2eccfbb121443cf006069e919d5994442dc29413ef692f5b3bbf2f9a2909fec85c8a3fe2429",
        "nDerivationMethod": 0,
        "nDeriveIterations": 122023,
        "nID": 1,
        "salt": "8cd9c4a1c4a6f710",
        "vchOtherDerivationParameters": ""
}

Алгоритм:

1. Введённый юзером пароль используется для вычисления с помощью функции EVP_BytesToKey (http://www.openssl.org/docs/crypto/EVP_BytesToKey.html) ключа и вектора для шифрования произвольного мастер-ключа алгоритмом AES-256-CBC.
nDerivationMethod = 0 - соответствует SHA512
nDeriveIterations = 122023 - количество проходов выбранной хэш функции, динамически меняется в зависимости от производительности компа

2. Мастер-ключом шифруются приватные ключи для кошельков опять же алгоритмом AES-256-CBC, использующим в качестве ключа мастер-ключ, а в качестве вектора - двойной SHA256 публичного ключа.

Ключ для расшифровки мастер-ключа брутить минимум в 122023 раз дольше, чем простой SHA512 :) Тем более из 11 любых символов это нереально долго.


Title: Re: Проверка криптографии wallet.dat
Post by: suppp on March 30, 2013, 07:11:44 PM
увеличивай награду значит :)


Title: Re: Проверка криптографии wallet.dat
Post by: Mikanoshi on March 30, 2013, 08:24:34 PM
Да даже майнить видяхами выгоднее будет, чем брутить в 10 раз большую сумму)
К тому же брутфорсер ещё написать надо, который бы брутил по указанным алгоритмам на ГПУ (не на ГПУ вообще медленно будет).
Там не просто много раз SHA512, а несколько раз по много раз SHA512, потом ещё AES-256-CBC, чтобы сравнить с crypted_key ;D


Title: Re: Проверка криптографии wallet.dat
Post by: alpet on March 31, 2013, 12:12:10 PM
Получается так, что пароль из 40 случайных символов можно считать абсолютно надежным, если кошелек хранится в открытом виде на хостинге или в облачном хранилище?


Title: Re: Проверка криптографии wallet.dat
Post by: Mikanoshi on March 31, 2013, 04:14:28 PM
Да я думаю и из меньшего количества вполне) Главное, чтобы набор символов был как можно шире. Вообще-то шифрование и предназначено для защиты при краже кошелька, чтобы нельзя было воспользоваться средствами на нём.