Deseo demostrar la encriptación asimétrica usando bloqueos del mundo real. Por ejemplo, quiero escribir un secreto en una hoja de papel y depositarlo en una caja cerrada. ¿Hay un candado que puedo comprar que viene con dos llaves, una que solo bloquea el candado y otra que solo desbloquea el candado?¿Hay un bloqueo físico que pueda demostrar principios cristográficos asimétricos?
Respuesta
El ejemplo habitual es un candado y una clave para ello.
Bob le da a Alice un candado (su "clave pública") y guarda la llave de ese candado (su "clave privada").
Alice pone un mensaje en un cuadro y lo coloca en el candado. Luego envía la caja a Bob.
Bob puede desbloquearlo con su llave.
Una versión extendida de esto se describe en https://web.archive.org/web/20130708131404/http://www.economicexpert.com/a/Asymmetric:key:algorithm.html
Utilice una caja con dos puertas y dos cerraduras diferentes. Organice las partes internas de la caja para que funcione de una manera, similar a un buzón de la esquina de la calle.
Como alternativa, vea la casilla más candado combinación como clave de cifrado. Usted construye un mensaje obteniendo 1) una caja, 2) candado, 3) poniendo algo en la caja y bloqueándolo. La clave física para ese candado es la clave de descifrado, que se ajusta al modelo ya que la clave de cifrado no puede desbloquear el mensaje.
Si desea dar un paso más, echa un vistazo a CoreStreet's smart card lock products. Este es su negocio.
Me gusta la respuesta de David, pero solo mencioné que he visto que se demostró como malo ejemplo de seguridad - el razonamiento era que no había forma de asegurarse de que Alice recibiera el candado que envió Bob (Eva podría cambiar por un candado diferente en tránsito)
la manifestación luego se trasladó a un ejemplo con una caja y dos candados, lo cual fue demostrativamente seguro ...
Alice pone mensaje dentro de la caja y cerraduras con su candado (candado de llave pública) Envía la caja al destinatario (Bob)
Bob añade otro candado (candado de clave privada) cuadro envía de vuelta a Alice
Alice quita el candado de clave pública (con la llave), es decir, el paquete está ahora protegida sólo por la clave privada.
Alice devuelve la caja a Bob que ahora puede desbloquear con la clave privada.
Para un efecto adicional, puede hacer que una Eva pase las casillas hacia delante y hacia atrás y muestre que en ningún momento Eve puede entrar en la caja. Es un gran ejemplo físico, y fácil de entender para mostrar que el paquete es seguro en todos los puntos.
¿Qué pasa si Eve hace lo siguiente en cada paso; ** 1.** guarda la caja de Alice (llamémosla box1) y le envía a Bob otra caja (llamémosla box2) con el mensaje de Eve y bloqueada con el candado de Eve, ** 2. ** mantiene la casilla 2 de Bob y envía a Alice box1 con la de Eve candado, ** 3. ** después de recuperar box1 de Alicia, solo está protegido con el candado de Eve (del paso 2) así que Eve tiene acceso al mensaje en el recuadro 1 ** y ** puede enviar el recuadro 2 a Bob (con su candado) después de quitar su propio candado (del paso 1) de él. –
@Piotr. Bien, bien hecho! – PaulG
¿Cómo elimina Eve el candado de Alice sin su clave para mover el mensaje a box2? Aquí es donde los ejemplos físicos se descomponen. Digitalmente, puede copiar la caja y el candado completos. En un mundo físico, todavía no tenemos replicadores de partículas como en Star Trek :) –
- 1. Servidor TCP sin bloqueo que usa los principios de OTP
- 2. ¿Hay alguna herramienta que pueda incorporar CSS?
- 3. ¿Hay un VCS distribuido que pueda administrar archivos grandes?
- 4. Cómo demostrar un ataque CSRF
- 5. ¿Hay algo que la composición no pueda lograr que la herencia pueda?
- 6. ¿Hay alguna heurística de relleno de CSS que pueda seguir?
- 7. ¿Hay algún programa que pueda ayudar a entender otro programa?
- 8. ¿Hay una biblioteca que pueda compilar C++ o C
- 9. ¿Hay algún módulo Perl que pueda automatizar ollydbg?
- 10. ¿Hay alguna forma en que pueda hacer dos lecturas atómicas?
- 11. ¿Hay algún tipo de firma que Haskell no pueda verificar?
- 12. ¿Hay alguna manera de hacer que TFS se pueda enlazar?
- 13. ¿Hay algo que no pueda hacer con el bigote?
- 14. ¿hay algo en javascript que pueda convertir "agosto" a 8?
- 15. ¿Hay algún método que pueda anular en un objeto JavaScript para controlar lo que muestra console.log?
- 16. Buscando un host que pueda manejar Haskell
- 17. Cómo hacer que un LinearLayout pueda desplazarse
- 18. ¿Hay alguna manera de determinar el tamaño físico del monitor?
- 19. emacs: ¿hay un claro ejemplo de bloqueo de fuente multilínea?
- 20. ¿Hay un iterador de C++ que pueda iterar sobre un archivo línea por línea?
- 21. ¿Hay alguna herramienta de análisis estático que informe qué tan cerca se siguen los principios SÓLIDOS?
- 22. apego PHPMailer, hacerlo sin un archivo físico
- 23. ¿Cómo demostrar a nuestros usuarios que no están siendo engañados?
- 24. ¿Hay una regla .Net StyleCop que advierte acerca de bloqueo (este), bloqueo (typeof, bloqueo (<string obj>, etc.?
- 25. Cómo demostrar que comprende los requisitos del proyecto
- 26. ¿cómo puedo demostrar que esta gramática es ambigua?
- 27. ¿Hay un servicio web gratuito/pago que pueda consultar para obtener datos MLS?
- 28. ¿Hay alguna tarea Ant que pueda obtener un artefacto de Hudson/Jenkins?
- 29. ¿Cómo probar mi cliente FIX? ¿Hay un intercambio de FIX falso por ahí que pueda usar?
- 30. ¿Hay alguna herramienta que pueda mostrar visualmente un repositorio SVN (es decir, gráficos bonitos)?
Para fines de demostración, el candado en sí es una "clave" (la clave pública) – Paolo
Me gusta cómo funciona esto. Es un poco desafortunado que la clave * pública * esté representada mediante un * bloqueo * físico ... con suerte no confundirá demasiado a la gente. Parece que este ejemplo ha funcionado anteriormente en otras audiencias. –