Реальная история.
Какой конкретный криптографический алгоритм используется для создания Bitcoin закрытого ключа
Закрытый ключ Bitcoin просто случайным образом число между 1 и 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364140
Это может быть закодировано в любой из различных представлений для простоты использования. Некоторые из этих представлений являются:
- Десятичная дробь
- двоичный
- шестнадцатеричный
- Base58
- WIF (Wallet Импорт Format)
Из них, один из наиболее распространенных представлений WIF.
Шаги, чтобы получить WIF от значения секретного ключа Hex являются:
- Добавить 0x80 байт перед ним для mainnet адресов или 0xEF для testnet адресов. Кроме того, добавить 0x01 байты в конце, если секретный ключ будет соответствовать сжатому открытому ключу. (Это расширенный ключ)
- Выполните SHA-256 хэш на числовое значение (а не буквенно-цифровое представление)
- Выполните SHA-256 хэш на цифровом значении результата SHA-256 хэша (не буквенно-цифровое представление)
- Возьмите первые 4 байта второй SHA-256 хэш, это контрольная сумма
- Добавьте 4 контрольных сумм байт до конца расширенного ключа
- Преобразовать результат в строку base58, используя кодировку Base58Check
и открытый ключ
Открытый ключ является координатой точки на линии. Он рассчитывается с использованием алгоритма ECDSA с кривой Secp256k1. Она состоит из двух числовых значений (Х координаты и Y координат).
Это может быть закодировано в любой из различных представлений для простоты использования.
как они хранятся, например, целое число без знака из 64 байт.
Как они хранятся до программиста, который делает их использование. Чаще всего, я бы ожидать, каждое из значений, которые будут сохранены как целое число без знака: либо 32 или 64 байт, в то время как они используются для расчетов. Они могут быть сохранены в других форматах на энергонезависимую память (например, жесткий диск).
Какие конкретные криптографический алгоритм используется для генерации адреса P2SH?
Минимально, SHA256 и RIPEMD-160. Дополнительные алгоритмы могут быть использованы для обработки самого скрипта (например, алгоритм для проверки каких-либо подписей).
Я предполагаю, что значение (перед 3 предваряются и контрольная сумма добавляется) составляет 32 байт, как это такие же длины, как Bitcoin ключа хэша общественности?
Неправильно. Оба хэш сценария и Bitcoin хэш-ключ общественности длиной 20 байт (бит выходного алгоритма RIPEMD-160 160.
Немного не по теме, но для этих криптографических алгоритмов, кто-нибудь знает, если есть какие-либо изменения для любого altcurrencies?
Я уверен, что там было много вариантов. Есть еще много altcurrencies, которые пришли и ушли, чем я когда-нибудь все равно, чтобы следить за.