Soy relativamente nuevo en criptografía y blockchain y estoy aprendiendo cómo funciona la criptografía de clave pública y su aplicación en el entorno de Bitcoin.
Leí dos artículos diferentes, el primero que tenía sentido, pero el segundo me confundió.
Del primer artículo ( https://www.blockchain-council.org/blockchain/how-does-blockchain-use-public-key-cryptography/ ), entiendo que la clave privada del remitente se usa para firmar la transacción digital y el minero/receptor utiliza la clave pública del remitente para verificar la firma del remitente.
Sin embargo, un segundo artículo que leí ( https://www.ibm.com/support/knowledgecenter/en/SSB23S_1.1.0.14/gtps7/s7pkey.html ) sobre criptografía de clave pública dice lo contrario; usando la clave pública primero y luego la clave privada. Adjunto la imagen del segundo enlace:
¿Qué estoy entendiendo mal? ¿Por qué el uso de las claves es en orden inverso?
Gracias de antemano por tu aportación...
¿Qué estoy entendiendo mal?
Está mezclando varios usos distintos de la criptografía, varios propósitos diferentes:
Si desea enviar un mensaje privado a alguien, de manera que nadie que intercepte el mensaje pueda leerlo, normalmente cifra el mensaje utilizando un algoritmo simétrico (clave secreta) y una clave secreta recién creada. A continuación, cifra la clave secreta con la clave pública del destinatario previsto. Esto garantiza que solo el destinatario previsto pueda descifrar la clave secreta del mensaje utilizando su clave privada (que nadie más conoce). Después de descifrar la clave secreta, el destinatario previsto puede descifrar el mensaje utilizando el algoritmo simétrico.
Tenga en cuenta que solo usa un algoritmo simétrico para cifrar el mensaje porque dichos algoritmos son mucho más rápidos que los algoritmos asimétricos (clave pública). Es principalmente por eficiencia, no por ninguna otra razón.
Si desea enviar un mensaje a alguien y proporcionar una prueba de que envió el mensaje, use un procedimiento diferente. Crea un hash criptográfico del mensaje utilizando un algoritmo hash. Luego cifra ese hash con su clave privada (que solo usted conoce). El hash cifrado se envía con el mensaje. Este hash cifrado se conoce como firma digital. El destinatario del mensaje puede usar su clave pública para extraer el hash y compararlo con un hash recién calculado del mensaje, si los hash coinciden, es una prueba de que envió el mensaje.
Asymmertic significa que utiliza diferentes claves para cifrar y descifrar. Hay una clave privada y una clave pública. de ahí el nombre de "criptografía de clave pública".
Por el contrario, un ejemplo de un algoritmo simétrico (no asimétrico) es DES , que es un algoritmo de cifrado simétrico porque solo hay una clave, la misma clave se usa tanto para cifrar como para descifrar. La clave es una "clave secreta" compartida, de ahí los nombres "criptografía de clave secreta" o "criptografía de clave compartida".
Por lo que he leído, Bitcoin usa
Tenga en cuenta que ECDSA es asimétrica
Tenga en cuenta también que Bitcoin se preocupa por el anonimato y no por la privacidad (la cadena de bloques es pública, no privada). Por lo tanto, Bitcoin no utiliza el cifrado con fines de privacidad. Su software Wallet puede usar cifrado para ocultar sus claves secretas detrás de una contraseña, pero eso no es parte de la especificación de BitCoin.
El primer artículo trata sobre cómo Bitcoin firma (el hash de) los datos para demostrar la propiedad (y el gasto) de las monedas. No hay nada encriptado, se usa como un esquema de autenticación .
El segundo artículo trata sobre el cifrado asimétrico . Es para cifrar datos, no para autenticación. No es lo que usa Bitcoin. (Ver también: ECIES)
Tienen diferentes propósitos. No dejes que te confundan.
Los dos artículos hablan de dos cosas muy diferentes.
El primer artículo trata sobre las firmas digitales, que se utilizan para demostrar que alguien ha escrito un mensaje y no ha sido suplantado. Estos se utilizan ampliamente en Bitcoin. El remitente del mensaje usa su propia clave privada para firmar, el receptor usa la clave pública del remitente para verificar que la firma sea auténtica.
El segundo artículo trata sobre el cifrado, que se utiliza para ocultar el contenido de un mensaje a todos excepto al destinatario. Esto no se usa en Bitcoin en absoluto. En los lugares donde se utiliza, el remitente utiliza la clave pública del receptor para cifrar y el receptor utiliza su propia clave privada para descifrar y acceder a la información.
DCH
rojoarenosoladrillo