- Умножьте закрытые ключи вместе
- скаляр "умножать" эллиптические точки кривой (открытые ключи)
- Добавить эллиптическая кривая указывает вместе
- Compute адрес из открытых ключей
- Рассчитайте открытые ключи от закрытых ключей
- Создание и проверка подписи блоков для отправки по электронной почте
- Импорт адреса, созданные с помощью калькулятора в кошелек
- Делайте все вышеперечисленное с произвольными ключами, не обязательно в любом бумажнике!
Вы можете скачать исполняемые файлы для Windows, или найти инструкции для создания на Linux на Оружейная веб-страницы.
Если вы найдете это полезное / интересное / удивительно, пожалуйста, поддержите в моя Crowdfunding кампания, чтобы помочь мне продолжать работать на Оружейной (пожертвовать с помощью кредитной карты или BTC)! Все пожертвования в размере $ 10 или больше приходят с моим часовым криптографическим семинаром под названием Понимание криптография: Использование Скучно Math что-нибудь полезное. Она включает в себя краткое введение в эллиптических кривых.
Итак, что этот калькулятор полезно?
Вот много Драгоценные использует для этого калькулятора. Вот два конкретных примера:
(1)Эмуляция 2-2 из-multisig Примечание: это только в том случае, одна стороны будет искупительной полной сумму обремененных средств: нет доверия бесплатного способа разделить средства с помощью этого метода (что делает его полезным для Casascius + OtherParty физического Bitcoins).
- Каждая сторона производит новый адрес (который не должен быть в кошельке [объяснено позже])
- В диалоговом окне свойств бумажника, или "Ключи" Вкладка в калькуляторе, принесите открытые ключи и обмен с другой стороной.
- Принесите свой собственный секретный ключ для открытого ключа вы просто послали
- Используйте среднюю запись в диалоговом окне калькулятора, чтобы умножать открытый ключ другого человека (ввести х, у пары) с помощью закрытого ключа
- Обе стороны получают тот же ответ! Это потому, что партия А имеет секретный ключ и открытый ключ *г и партия B имеет секретный ключ б и открытый ключ б*г. Обе стороны затем в конечном итоге производство *б*г что новый открытый ключ. Тем не менее, ни одна из сторон может вычислить *б (Который является секретным ключом для открытого ключа обе стороны рассчитывали).
- Вычислить адрес для открытого ключа, и пополните его на сумму денег, согласованной.
Это называется "Эллиптические-кривая Диффи-Хеллмана" Обмен (ECDH). Это, как правило, для создания общего секрета с вашими открытыми ключами (например, ключ шифрования). В этом случае, он позволяет производить адрес, только кто-то с обеими закрытыми ключами может получить доступ. В конце этого процесса, один человек должен послать другому человеку свой личный ключ, так что они могут вычислить общий секретный ключ и избавь средства! Поэтому закрытый ключ вы создаете не должен быть частью любого кошелька, потому что в конечном итоге будет общим, и вы никогда не хотите, чтобы разделить закрытый ключ в одном из ваших кошельков!
Это может быть использовано Casascius и другой стороной: Casascius и другая сторона выполнить описанную выше процедуру, и финансировать адрес с 1000 BTC (для BTC золотой слиток 1000). Casascius получает свою руку на золотом слитке, и ставит его темперы доказательства секретного ключа на нем. Он посылает его на другую сторону, и они положили их фальсифицировать доказательства секретного ключа наклейки на другой стороне. Теперь пользователь с золотой слиток является единственным человеком, который никогда не увидит как закрытые ключи (когда он чистит их) и, таким образом, единственный человек, который когда-либо может потратить их! Просто подключите один в «а» поле калькулятора, а другой в «Ь» поля калькулятора (если Casascius хотел это сделать, я бы добавить более простой, уменьшенный интерфейс для умножения частных ключей, но это технически выполнимо как есть).
(2)Отправить Подписанные сообщения
Помните, когда MtGox взломали, и они должны были задним числом проверить личность каждого аккаунта? Это, возможно, было тааак гораздо проще:
"Уважаемый пользователь: Нам нужно проверить подлинность счета 198483202. Первый раз этот счет был профинансирован, адрес 1Qkj3F3qZjkPdkj389 был использован для отправки BTC. Пожалуйста, укажите ваше имя и адрес электронной почты, в сообщении, подписанного адреса 1Qkj3F3qZjkPdkj389."
Это работает, потому что счет, должно быть, первоначально финансировалась адрес, принадлежащих данному пользователю. Если существует этот интерфейс подписания сообщения, это было бы дано MtGox очень просто способ идентифицировать большинство пользователей. В случае, если пользователь не указал адреса больше, они могут просто отправить MtGox и попросить альтернативную проверку личности (которое оказалось по умолчанию).
Также рассмотрим ситуацию онлайн казино. Вы сваливать 200 BTC в этот анонимный онлайн-казино. Теперь, спустя 3 недели, кто-то пытается спекулировать с деньгами и / или вывода средств. Как знать, казино, что вы имеете право делать эти вещи? Ну, все они заботятся о том, что лицо, запрашивающее Выплату тот же человек, который изначально финансировал счет. Чтобы быть абсолютно безопасны, они могли бы собрали вашу личность и предоставили вам логин, но это было бы значительно уменьшить анонимность системы. Вместо этого, казино записывает только первый адрес, когда-либо использовал для пополнения счета, и это ваше "имя пользователя"! Пользователь подписывает сообщение о том, "Я хотел бы снять 100 BTC по следующему адресу: ..." Или он может быть использован как способ "войти в систему" на свой счет. Во всех случаях, пользователь никогда не должен был идентифицировать себя, и только часть необходимой информации: что же пользователь, который финансировал счет просит что-то: легко проверить с помощью подписанного сообщения!