Estoy tratando de explicar los conceptos básicos de Bitcoin a mis padres.
Uno de los componentes principales de bitcoin es firmar transacciones para asegurarse de que su identidad no se pueda suplantar y, por lo tanto, la necesidad de explicar un cifrado asimétrico simplificado.
¿Qué es un cifrado asimétrico extremadamente simple que puedo usar como ejemplo?
¿Cómo se puede utilizar este cifrado simplificado para firmar?
cryptography
Ryan The Leach
fuente
fuente
Respuestas:
Si desea presentar criptografía de clave pública a sus padres o amigos, le sugiero que siga algunas pautas. Primero, no hable sobre funciones específicas, a nadie le importa SHAxxx, mantenga su charla conceptual. El problema resuelto por la criptografía de clave pública es permitir que dos partes que nunca se conocieron intercambien información de forma segura en un canal público. No confunda esto con otras aplicaciones que se logran mediante cifrado de clave pública, como firmas digitales o autenticación.
Una ilustración simple e iluminadora de esto que he visto es la siguiente. Suponga que dos partes tienen una cubeta y varios colores, y quieren acordar un compuesto secreto específico. Se les permite enviarse un cubo con cierto compuesto, pero cualquier cosa enviada está expuesta a un adversario malvado. La suposición de subrayado es que mezclar colores es fácil, pero descomponer una mezcla en sus ingredientes es difícil. Esta suposición (que se conecta fácilmente con el lado formal de las cosas) le permite lograr su objetivo. Elija un color público y permita que ambas partes elijan un color secreto, por . La primera parte envía un cubo de una mezcla de . Del mismo modo, la segunda parte envía un cubo que contiene una mezcla deS 1 , S 2 P , S 1 P , S 2 P , S 1 , S 2P S1,S2 P,S1 P,S2 . Finalmente, cada lado agrega su color privado a la mezcla que recibió, y ahora ambas partes tienen una mezcla de , que (por nuestra suposición) permanece en secreto de cualquier espía. Una versión formal de esto es el protocolo de intercambio de claves Diffie-Hellman, que se basa en la dureza del registro discreto.P,S1,S2
Ahora, mi comprensión del protocolo bitcoin es limitada, pero cuando hablo con tus padres al respecto, no veo ninguna razón para entrar en criptografía. La mayoría de las explicaciones populares que he visto profundizan innecesariamente en los detalles de implementación, y comienzan a hablar sobre encontrar una preimagen de un hash tal que el resultado tenga número de ceros, perdiendo de vista el problema real. Como antes, sugiero mantener la charla conceptual. ¿Qué problema está tratando de resolver el bitcoin y por qué no es tan trivial? A mi entender, el bitcoin resuelve el problema de mantener un libro mayor distribuido, evitando específicamente el doble gastox problema. La motivación es evitar tener una autoridad central, y esto se puede lograr permitiendo que cada participante apruebe una transacción (en lugar de otorgar esta autoridad al banco). Para evitar que los participantes adversarios aprueben sus propias transacciones inválidas, se introduce el concepto de prueba de trabajo. POW usa el hash como un cuadro negro, por lo que puede evitar mencionar candidatos específicos.
fuente
Una metáfora común que escuché es fabricar un montón de candados, guardar todas las llaves y enviar candados abiertos a cualquiera que quiera uno. Entonces, cualquier persona con un candado de este tipo puede enviarle mensajes secretos colocándolos en una caja y luego usando uno de sus candados para bloquearlo antes de enviárselo. Nadie más que usted tiene las llaves, por lo que incluso el remitente no puede desbloquear la caja después de que esté bloqueada, en particular, el servicio postal no puede espiar su mensaje en absoluto. Incluso pueden tener un candado suyo, pero eso no los ayuda a desbloquear la caja.
(Proporciono este ejemplo para responder a su pregunta como se indicó, sin ninguna opinión particular sobre si realmente es útil para la explicación de bitcoin).
fuente
El problema con la explicación de las cifras asimétricas (y la razón por la cual la mayoría de las explicaciones pop realmente no explican nada) es que están entrelazadas con la idea de que existen problemas que son (supuestamente) intratables, que es una de las ideas detrás de la complejidad computacional.
Una vez que entiendes ese punto, un cifrado asimétrico es "simplemente" una función que es fácil de calcular pero que se considera difícil de invertir. Incluso podría hacer la suya, vea la implementación original del intercambio de claves Diffie-Hellman como referencia.
fuente
No creo que haya un sistema de cifrado asimétrico fácilmente demostrable. En cambio, describa lo que hace, no cómo lo hace. De hecho, he tenido que hacer esto recientemente, para describir cómo funciona PGP. Para BitCoin, concéntrese en la segunda parte, firmar mensajes.
Si preguntan cómo se generan las claves, entonces diga
Esto es, por supuesto, pasar por alto el hecho de que el cifrado asimétrico normalmente no funciona en el mensaje en sí, sino en una clave de sesión (para cifrado) o en un hash (verificación de firma). También ignora el requisito muy importante de que debe mantener su clave privada privada: cualquier persona con acceso a ella puede pretender ser usted.
fuente