Usando pycoin.
ku <ext_pri_key> -s 1/4/6/2/8/4/2/5.......
¿A cuántos niveles de profundidad en el árbol tendría que ir (usando solo un dígito) antes de que un atacante no pueda encontrarlo usando una búsqueda sistemática?
Veinte niveles de profundidad pensé que sería adecuado:
10**20 = 100000000000000000000
Sé que hay formas más efectivas de ocultar su dirección, pero estoy interesado en este caso de uso particular.
Gracias.
Es un poco extraño usar dígitos individuales para toda la ruta HD, ya que la especificación BIP32 le permite seleccionar números hasta 2^31 (no endurecidos). La derivación de clave BIP32 utiliza en gran medida SHA512. El ASICS actual para SHA256 puede calcular alrededor de 10 billones de SHA256 por segundo, es decir, alrededor de 160 quintillones de operaciones hash en aproximadamente 6 meses. Suponiendo que se pueda construir un ASIC con aproximadamente el mismo poder de hash, necesitaría profundizar unos 20 niveles para obligar a una máquina como esa a encontrar su dirección en aproximadamente 6 meses. Por supuesto, más máquinas significan un craqueo más rápido.
Una solución mucho más simple sería usar todo el espacio de cada nivel en lugar de solo 10. 3 niveles serían suficientes (~ 10 ^ 28)
Si necesita derivar una clave aleatoria de otra (en lugar de una que se puede encontrar a través de una búsqueda iterativa), no use BIP32.
Si desea una derivación normal (permitiendo que las claves públicas se deriven sin conocer la clave privada principal), use el esquema de pago por contrato: privkey = parent_privkey + H(parent_pubkey || id) pubkey = parent_pubkey + H(parent_pubkey || id) * G
Si desea una derivación más dura, simplemente use la clave principal como fuente de entropía adicional: privkey = H(parent_privkey || id) pubkey = H(parent_privkey || id) * G
(donde id es al menos 16 bytes de aleatoriedad)
BIP32 se puede usar si realmente lo necesita, para este caso de uso, pero es innecesariamente complicado. Sugeriría no menos de 5 niveles de enteros de 31 bits (4 serían menos de 128 bits de entropía) o no menos de 39 niveles para subcaminos de un solo dígito (129,55 bits de entropía).
pieter wuille
canción de jimmy
pieter wuille
canción de jimmy