Bitcoin Forum
May 29, 2024, 05:04:50 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Вопрос про публичные и приватные ключи  (Read 1366 times)
rpy3uH (OP)
Newbie
*
Offline Offline

Activity: 9
Merit: 0


View Profile
September 25, 2014, 07:10:11 AM
 #1

Итак, открываю bitcoin core. Смотрю пункт меню "Проверить сообщение". Надо ввести адрес, сообщение и подпись.

Подпись имеет длину 88-90 символов, но это base64, получается что в оригинале 64 байта. Правильно, ибо подпись для ECDSA-256 имеет размер 512 бит или 64 байта. Всё сходится. Для того, чтобы проверить подпись надо знать публичный ключ. Bitcoin-адрес это не публичный ключ, это сего лишь специально вычисленный хэш, по этому хешу восстановить публичный ключ невозможно.

Вопрос: откуда программа знает публичный ключ? Как она его проверяет? У меня была гипотеза, что этот ключ она находит в блокчейне, но тут загвоздка: а если этот адрес вообще не фигурирует в блокчейне и не было ни одной транзакции с ним?
rpy3uH (OP)
Newbie
*
Offline Offline

Activity: 9
Merit: 0


View Profile
September 25, 2014, 07:44:33 PM
 #2

Неужели никто не знает?
fsb4000
Legendary
*
Offline Offline

Activity: 1400
Merit: 1000



View Profile
September 25, 2014, 08:02:25 PM
 #3

Из подписи и сообщения восстанавливается публичный ключ.
Quote
It's also very interesting how that function works. Verifying a signature in public-key crypto requires the public key, signature, and message, right? But if you look at that sign message screenshot, you'll see no place to put/get the public key. (Bitcoin addresses are public key hashes -- not usable as public keys.) So how does Bitcoin verify the signature without the public key? It uses a unique property of ECDSA which allows you to calculate the public key from the message and signature. Bitcoin is, AFAIK, the only program that uses this property of ECDSA.
rpy3uH (OP)
Newbie
*
Offline Offline

Activity: 9
Merit: 0


View Profile
September 26, 2014, 07:21:09 AM
 #4

Из подписи и сообщения восстанавливается публичный ключ.
А где прочитать алгоритм с описанием как это происходит.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!