Я наконец-то удосужился написание предложения и реализации теста для моего Passphrase-Protected предложение приватных ключей. Я просил номер BIP быть назначен.
Предложение по https://en.bitcoin.it/wiki/Casascius/BIP_draft_for_passphrase-protected_private_key
Код (Windows, с источником) можно найти на сайте https://casascius.com/btcaddress-alpha.zip (Минимально испытания использование на свой страх и риск).
Также на GitHub: https://github.com/casascius/Bitcoin-Address-Utility
Вот что вы можете сделать:
1. Шифрование закрытых ключи с паролем, включая печать, защищенный пароль бумажных кошельков. Защищенные паролем частные ключи начинаются с "6P", Вы можете расшифровать их с помощью этой утилиты. Я надеюсь, сделав BIP стандарта, что вы можете расшифровать их в любом месте закрытого ключа принимается. Например, вы могли бы использовать это, чтобы положить бумажные бумажники в ваших сейфах, не опасаясь, что кто-то из банка могли шпионить в вашем ящике, а затем сохранить пароль в памяти или в домашних условиях.
2. зашифровать ключевую фразу в промежуточное значение, которое может быть использовано для создания двухфакторной защищенных паролем физических биткойны. Это промежуточное значение может быть использовано для создания новых для физических паров ключей Bitcoins, которые могут быть выкуплены только с оригинальной ключевой фразой. Это означает, что вы можете выбрать ключевую фразу, отправьте мне промежуточное значение, а затем я могу сделать PassPhrase защищенного физическим биткоен, что только вы можете выкупить, без меня зная пароль. (The "промежуточное значение" состоит из небольшого количества соли и точки эллиптической кривой, полученной из вашего пароля).
Все пароль вывод осуществляется с помощью Scrypt и правильно соленая, поэтому пароль крекинг крайне сложно. Безопасный достаточно для веб-сайта пароль хорошего достаточно хорошо здесь - стандарт не так высок, как, скажем, несоленого SHA256 на основе brainwallet.
Пример того, как это работает (метод 1):
Вы выбираете фразу "Satoshi" и закрытый ключ 5KN7MzqK5wt2TP1fQCYyHBtDrXdJuXbUzm4A9rKAteGu3Qi5CVR.
Когда вы зашифровать его с моим инструментом, результат 6PRVWUbkzzsbcVac2qwfssoUJAN1Xhrg6bNk8J7Nzm5H7kxEbn2Nh2ZoGg.
(При использовании этого метода, полученный Биткойн адрес используется в качестве соли, так же секретный ключ и ключевая фраза всегда будет давать один и тот же зашифрованный результат).
Пример того, как это работает (метод 2):
Вы выбираете фразу "Satoshi" и ввести его в свой инструмент (или кого-то другого инструмента реализации моего BIP)
Инструмент дает следующий промежуточный код: passphraseoRDGAXTWzbp72eVbtUDdn1rwpgPUGjNZEc6CGBo8i5EC1FPW8wcnLdq4ThKzAS
(Код содержит 64 бита на сумму соли, так что вы получите различную промежуточную, даже если вы переколировку ту же фразу)
Вы даете мне промежуточный код. Я использую его, чтобы создать физический Bitcoin.
Физический Bitcoin имеет адрес 1CqzrtZC6mXSAhoxtFwVjz8LtwLJjDYU3V и вы его финансирование.
Код внутри физического Bitcoin является 6PfLGnQs6VZnrNpmVKfjotbnQuaJK4KZoPFrAjx1JMJUa1Ft8gnf5WxfKd (просто подождать и посмотреть, как я вписываюсь этой длинная присоской внутри моего бара ... не волнуйтесь, это так же разборчиво, как и все мои другими коды)
Я не могу вычислить секретный ключ только промежуточный.
Вы вводите этот код и оригинальную фразу "Satoshi", Процесс дешифрования происходит медленно и занимает несколько секунд, это увеличивает вашу защиту от грубой силы.
Вы получаете незашифрованный закрытый ключ 5KJ51SgxWaAYR13zd9ReMhJpwrcX47xTJh2D3fGPG9CM8vkv5sH и может претендовать на средства для 1CqzrtZC6mXSAhoxtFwVjz8LtwLJjDYU3V.
EDIT: уменьшил Scrypt силу 2-й половины метода 2, поскольку в этом нет необходимости - ключевая фраза будет хрустел полностью в 1-й половине. Это аннулирует мой предыдущий пример метода 2 и я обновил его. Я не ожидал, что кто полагается на этом же дал это лишь предложенный проект, но только в том случае, если вы создали какую-либо с предыдущей версией, использовать ту же версию, чтобы расшифровать его.