Creo que estás subestimando el valor de contactar a alguien con quien nunca has hablado antes, y estás sobreestimando la complejidad de un sistema de clave pública.
Cada vez que desee comunicarse con alguien nuevo utilizando el cifrado simétrico, debe " decirle [la clave compartida] en persona, leerlo por teléfono, usar One Time Secret ," etc. Debe comunicarse con la persona por teléfono o en persona antes de poder contactarla en línea, lo que parece afectar seriamente la utilidad de la comunicación cifrada. Para la clave pública criptográfica, las claves se pueden publicar en línea en un repositorio público (o, mejor aún, en muchos repositorios en línea), eliminando esta desventaja. (De manera análoga, considere un mundo en el que es imposible crear una guía telefónica pública o pasarle un número de teléfono a un amigo: para llamar a alguien, primero debe reunirse con ellos en persona para agregarlos a su guía privada).
Tenga en cuenta que, al usar criptografía de clave pública, para vincular una clave a una identidad personal, todavía necesita comunicación fuera de banda (por ejemplo, partes de firma clave), pero la principal ventaja es que puede crear una Web pública de confianza. Si Alice quiere enviarle un mensaje a Bob, puede inspeccionar el trabajo para ver si hay docenas de personas que ya lo conocieron en persona. No es necesario que llame a Bob por teléfono antes de enviar un correo electrónico, ya que tiene acceso a su clave pública y acceso a muchas declaraciones criptográficas públicas de la validez del par de { key, identity }
que encontró para Bob. (Con suerte, algunas de estas declaraciones provienen de alguien en quien confía, o de alguien en quien confía).
Usted dice que:
Por lo tanto, el cifrado simétrico es ... más simple que asimétrico: una clave en lugar de cuatro para Alice y Bob.
Pero el número de claves reales no es estrictamente relevante: deberíamos considerar el número de claves que necesita cada parte. Cada parte en criptografía de clave pública tiene que gestionar
- su propia clave privada,
- su propia clave pública, y
- una clave pública para cada persona con la que quieran ponerse en contacto.
Supongamos que hay n
de personas que se comunican entre sí. En su sistema simétrico imaginado, el número de claves que posee cada parte es n-1
(una clave para cada otra persona). En un sistema asimétrico, el número de claves que posee cada parte es (n-1)+2 => n+1
(una clave para cada otra persona, más su propio par de llaves). Suponiendo un gran número de participantes n
, eso no es una diferencia significativa en absoluto. (En términos amortizados, ambos son O(n)
.)