Diferencias entre la entropía de la frase de contraseña y la entropía de la clave privada.


¿Alguna vez te has preguntado cuál es la diferencia entre la entropía de la frase de contraseña y la entropía de la clave privada? Además de ser una simple cadena aleatoria de números y letras, hay más que eso.

La billetera Ballet está diseñada y construida con numerosos componentes diferentes. Cada componente es vital para su autenticidad y usabilidad. Los principales componentes, cruciales para certificar la propiedad de sus criptomonedas, son la entropía de la frase de contraseña y la entropía de la clave privada. La entropía de la frase de contraseña es el conjunto secreto de letras y números que se encuentra debajo de la sección de raspado de la billetera, y la entropía de la clave privada es la longitud de 58 caracteres que comienza con "6P" debajo de la etiqueta del código QR a prueba de manipulaciones. Cuando ambas se combinan para firmar una transacción, la entropía de la frase de contraseña puede descifrar la entropía de la clave privada mediante las matemáticas del estándar BIP38.

Para retroceder un poco, quizás sea importante comprender cómo se crean ambos componentes. El estándar BIP38 permite que dos partes participen en la creación de las claves privadas. La primera parte comienza creando una entropía de frase de contraseña generada aleatoriamente y un poco de "sal" para añadir más entropía al proceso. Posteriormente, se deriva una cadena de frase de contraseña intermedia (intermediate_passphrase_string) y se entrega a la segunda parte para generar una dirección pública y una entropía de clave privada. Cabe destacar que la cadena de frase de contraseña intermedia (intermediate_passphrase_string) NO revela la entropía de la frase de contraseña original, que la primera parte conserva y es necesaria para descifrar la entropía de la clave privada resultante.

Para tomar un extracto de un blog anterior, el proceso detallado de cómo se calcula la entropía de la frase de contraseña y la entropía de la clave privada se describe a continuación:

Paso 1: El propietario (el equipo de Ballet en EE. UU.) crea una frase de contraseña secreta y genera un código intermedio (intermediate_passphrase_string)

1. El propietario genera un 'ownersalt' aleatorio y una 'entropía de frase de contraseña' aleatoria.

2. Tanto la entropía de la frase de contraseña como la de la propietaria se procesan mediante un algoritmo de derivación de claves llamado Scrypt. El resultado es una clave llamada "factor de contraseña".

3. Luego se utiliza la multiplicación de la curva elíptica para “multiplicar” el punto de la curva elíptica G y el “factor de paso”, dando como resultado un “punto de paso”.

4. El "ownersalt" y el "passpoint" originales se comparten con la impresora (el equipo de Ballet en China) en un formato codificado en base58check, conocido como cadena de frase de contraseña intermedia (intermediate_passphrase_string), o "código intermedio". Esta cadena comienza con la palabra "passphrase" para facilitar su lectura. (Este también es el código intermedio BIP38 que nuestros clientes generan si desean solicitar las billeteras de la Serie PRO). A continuación, se muestra un ejemplo de este código intermedio que nos enviarían:

frase de contraseña q56ehW7gSRMgF6MttNx1bpsPffCe7cKSodv8AaUVKCYZbSLH35MYu6uhXq6KpJ

5. Incluso si utiliza la misma entropía de frase de contraseña para ejecutar el algoritmo nuevamente, siempre obtendrá un 'código intermedio' diferente debido a la otra porción aleatoria que surge de 'ownersalt'.

Paso 2: El propietario (el equipo de Ballet en EE. UU.) envía el código intermedio a la impresora (el equipo de Ballet en China) a través de una red cifrada. La impresora calcula la dirección pública y la entropía de la clave privada.

1. La impresora establece un byte de bandera: 0x20 o 0x04, que indica cómo se formará la dirección de bitcoin.

2. Luego, la impresora genera un 'seedb' aleatorio, que luego se ejecuta a través de SHA256 dos veces para generar 'factorb'.

3. El punto de acceso se multiplica por EC por factorb, lo que genera las claves públicas, que posteriormente se codifican para generar la dirección pública de Bitcoin. Durante este paso, la impresora también puede generar un código de confirmación que permite al usuario final, el propietario de nuestra billetera Ballet, confirmar si la dirección de Bitcoin proporcionada coincide con la entropía de la frase de contraseña.

4. El 'ownersalt' y un hash de la dirección pública se concatenan como una sal para cifrar 'seedb'. Se deriva otra clave del 'passpoint' mediante Scrypt. El resultado se divide en dos mitades de 32 bytes llamadas 'derivedhalf1' y 'derivedhalf2'.

5. Luego se utiliza AES256Encrypt para producir dos resultados de 16 bytes llamados "encryptedpart1" y "encryptedpart2".

6. La entropía de la clave privada codificada en base58 se deriva de la fórmula (que comienza con '6P'):

7. 0x01 0x43 + byte de bandera + hash de dirección + sal del propietario + parte cifrada 1[0…7] + parte cifrada 2

8. La entropía de la clave privada con su dirección pública correspondiente se devuelve al Propietario, quien posee la entropía de la frase de contraseña secreta. El Propietario ahora puede descifrar la entropía de la clave privada con la entropía de la frase de contraseña para revelar la clave privada descifrada (mostrada como una clave formateada importada de la billetera).

Así que ahí lo tienen. Esto es lo que diferencia la entropía de la frase de contraseña de la entropía de la clave privada. En esencia, la entropía de la frase de contraseña puede ser cualquier cadena de caracteres sin límite de tipo ni longitud. Sin embargo, la entropía de la clave privada también tendrá 58 caracteres, comenzando con '6P'.

Gracias a la aleatoriedad de cada parte (tanto la 1 como la 2), si alguien vuelve a ejecutar la entropía de la contraseña inicial en el generador BIP38, siempre obtendrá un código intermedio diferente, así como una entropía de clave privada completamente distinta. Por lo tanto, una entropía de contraseña solo producirá una única entropía de clave privada, una sola vez. Intentar generar la misma entropía de clave privada a partir de una contraseña robada es estadísticamente casi imposible. Además, intentar adivinar la entropía de una contraseña a partir de una clave privada existente se vuelve exponencialmente más difícil de forzar si la entropía de la contraseña es larga y compleja.

Sobre nosotros

Ballet es una empresa estadounidense que ofrece soluciones sencillas y seguras de almacenamiento de criptomonedas para el mercado global. Ballet es el equipo detrás de la primera billetera física multidivisa, no electrónica y para criptomonedas del mundo. La empresa fue fundada en 2019 por Bobby Lee y un equipo internacional de veteranos de la industria de las criptomonedas. Ballet tiene su sede en Las Vegas, Nevada, Estados Unidos, y una oficina en Shanghái, China.

Para obtener más información sobre nuestros productos, visítenos en: https://www.ballet.com/

Interactúa con nosotros en nuestras otras plataformas de redes sociales:

Gorjeo: https://twitter.com/BalletCrypto/

Facebook: https://www.facebook.com/balletcrypto.global/

Instagram: https://www.instagram.com/balletcrypto/

Telegrama: https://t.me/BalletCrypto/

Reddit: https://www.reddit.com/r/BalletCrypto/

LinkedIn: https://www.linkedin.com/company/balletcrypto/

YouTube: https://www.youtube.com/channel/UCi2y_uFMqgdst7xe7FolG3w/

Weibo: https://www.weibo.com/BalletCrypto?from=myfollow_all/

Discordia: https://discord.gg/e58FqyDA

Ancla: https://anchor.fm/ballet-crypto

Dejar un comentario

Por favor tenga en cuenta que los comentarios deben ser aprobados antes de ser publicados