¿Existe un generador determinista de pares de claves público-privado sin el problema de revelación de la clave privada BIP32?

HD Wallets tiene la falla de que revelar una clave privada y su clave pública maestra principal revelará su clave privada maestra principal. (Descrito aquí[1] y aquí[2]).

¿No existe un concepto similar con clave pública maestra y clave privada maestra que no sufra este problema? (No tiene que ser ECDSA. Solo quiero un generador de par de claves privado-público determinista que pueda publicar su clave pública maestra).

[1] https://bitcoinmagazine.com/8396/deterministic-wallets-advantages-flaw/

[2] https://eprint.iacr.org/2014/998.pdf (capítulo 3)

Respuestas (1)

Esto se tiene en cuenta dentro de la especificación BIP32, se denominan claves 'reforzadas'. Las claves privadas secundarias reforzadas se derivan de las claves privadas de los padres, y revelar las claves privadas secundarias reforzadas no revela la clave privada de los padres.

Los índices secundarios 0...2^31-1 están reservados para claves regulares (que tienen el problema que usted describe), y los índices secundarios 2^31...2^32-1 están reservados para claves privadas reforzadas.

Notación para un niño estándar:

m/0

Notación para un niño endurecido:

m/0'
m/0h
Esto hace que generar una clave pública maestra sea inútil, ya que no puede generar claves públicas en niños, que es algo que quiero tener.
@PavolRusnak, desafortunadamente no puedes tenerlo en ambos sentidos. La publicación principal y la publicación secundaria están relacionadas por una clave ECC para la cual se conoce la clave privada, o no. ¡Pero puede usar claves reforzadas y estándar en la misma estructura de árbol! La mejor práctica es usar claves reforzadas para los niveles superiores del árbol y no reforzadas solo para los niveles inferiores.
Consulte Bip44: puede usar m / 44'/0'/0'/0/k, donde k es su clave. Perder la clave privada k junto con parent/k no revelaría toda la cadena porque lo hace: m/44'/0'/0>'</0/0 (menta el >.<)