Saltar al contenido
Volver a Nymchat

base de conocimientos hablando con la gente

Cifrado resistente a lo cuántico

Los mensajes privados y los chats grupales entre usuarios de Nymchat se pueden cifrar para que que registrarlos hoy no le compra nada al atacante, ni siquiera una vez que lleguen las computadoras cuánticas.

El problema que resuelve

Cifrado Nostr ordinario: PNI-44, que es lo que mensajes privados y chats grupales están construidos - tiene dos mitades. la mitad que en realidad codifica el texto (ChaCha20, HMAC-SHA256, HKDF) se mantiene bien contra una tecnología cuántica computadora. La mitad que está de acuerdo con la clave no lo hace.

Ese acuerdo clave es la curva elíptica Diffie-Hellman en secp256k1, la misma matemática que usa Bitcoin. El algoritmo de Shor lo resuelve de plano. Cualquiera que lo ejecute contra una clave pública recupera el clave privada, y con ella cada secreto compartido que esa clave haya producido.

Coseche ahora, descifre más tarde

Este no es un problema que comienza cuando llegan las computadoras cuánticas. Un adversario con suficiente el almacenamiento puede registrar el tráfico cifrado hoy, siéntate y descifralo años después. Todo lo que envíes ahora y que aún sea importante en ese momento ya estará expuesto. Ese es el especifico atacar esta característica derrota.

como funciona

Nymchat deja el formato de mensajes NIP-44 completamente solo. El acuerdo clave que ya utiliza es intacto; se añade un segundo, independiente alrededor de él.

  • el estándar secp256k1 ECDH, exactamente como antes;
  • ML-KEM-768, el algoritmo post-cuántico NIST estandarizado como FIPS 203. Su seguridad se basa en problemas de red, que el algoritmo de Shor no aborda.

Los dos son Misturado, no mezcladoEl mensaje es cifrado con NIP-44 exactamente como siempre fue, y ese texto cifrado acabado es luego sellado una segunda vez dentro de la capa post-cuántica — ChaCha20-Poly1305, clave del secreto compartido de ML-KEM. La clave del remitente, la clave del destinatario, el texto cifrado de encapsulación y la clave ML-KEM del destinatario están atados a esa derivación como contexto, por lo que una capa no puede ser levantada de un intercambio y reproducida en otro.

Un combinador como X-Wing o Signal's PQXDH mezcla ambos secretos en una clave en su lugar. Nymchat no lo hace, y la razón es práctica en lugar de criptográfica: la mezcla necesita la salida ECDH cruda, y una extensión de navegador o firma remota nunca lo entregará de vuelta - devuelve un texto cifrado terminado, que es todo el punto de mantener la clave donde la aplicación no puede llegar a ella.

La propiedad importante es la misma de la misma manera: el resultado es tan fuerte como la mitad más fuerteSi la criptografía de la grúa resulta ser más débil de lo esperado, romper ML-KEM sólo quita la capa exterior y deja el NIP-44 de hoy debajo. Si secp256k1 cae a una computadora cuántica, la capa interna se abre pero la capa exterior no. Un atacante debe romper ambas.

Cada mensaje recibe un nuevo intercambio poscuántico, por lo que recuperar la clave de un mensaje revela nada de los demás.

La mitad post cuántica necesita una clave propia, y de dónde viene esa clave es lo que decide si la cosa entera vale algo. no Trabajó desde su nsecUn ordenador cuántico que rompe la mitad clásica recupera la nsec de su clave pública, y cualquier cosa derivada de la nsec por una fórmula publicada sale con ella — dos cerraduras abiertas por una pausa. Código post cuántico para cada cuenta, una vez, de bytes aleatorios que ningún valor público expone. nympq1… y se sienta junto a ti nsec en los detalles de tu Nym, revelados y copiados de la misma manera. no es una contraseña y no un segundo login: es material clave que puedes guardar, exactamente como el nsec.

No hay nada que encender

Esto no es un escenario. El cifrado poscuántico es simplemente la forma en que Nymchat se comunica con Nymchat, el De la misma manera, el cifrado ordinario es la forma en que se comunica con todo lo demás. Se aplica automáticamente a cada mensaje privado y chat grupal con otro usuario de Nymchat.

Configuración › Privacidad & Seguridad muestra si está activo y cuántos de sus contactos alcanza actualmente, pero sólo como información - no hay interruptor.

Una extensión de navegador (NIP-07) o un signatario remoto (NIP-46) nunca entregan su clave de identidad a la aplicación, que es todo el punto de usar una - y no tiene que hacerlo. Las dos mitades de la cifrado se mantienen separadas: su signatario hace la parte que siempre ha hecho, y la aplicación hace la parte post-cuántica con su código de recuperación, que tiene directamente.

Cada mensaje en su historial permanece legible en todos los dispositivos con nada más que su nsec, exactamente como antes, y permanece de esa manera para la vida de la cuenta. nympq1… El código de recuperación es el material cuántico-resistente escrito a partir de ahora: nuevos mensajes, y las configuraciones sincronizadas y el archivo que viaja con ellos.

Así que un dispositivo tiene que mantener ese código antes de poder abrirlos, y agregar un dispositivo ahora toma un paso adicional. nympq1… Es una vez por dispositivo, no una vez por inicio de sesión.Este paso no es la fricción que no pudimos eliminar: un código que podría llegar a un nuevo dispositivo por sí mismo tendría que viajar allí dentro de un mensaje ordinario, y ese mensaje es exactamente lo que el atacante esta característica existe para detener está grabando.El paso es la razón por la que la protección es real.

La aplicación genera el nympq1… el código para ti, por lo que no hay nada que elegir y nada que inventar. para verlo: pincha tu nim para abrir Ver o editar los detalles de NymY entonces Revelando la clave privada y el código de recuperación de este nymSe encuentra directamente debajo de su nsec, con los mismos botones de muestra y copia. Nunca tienes que pensar en ello hasta el día en que añadas un segundo dispositivo.

Un dispositivo desconectado no está bloqueado en el transcurso del tiempo. sigue leyendo todo lo escrito bajo la encriptación anterior y continúa enviando normalmente, y una vez que lo enlaces, se vuelve y abre los mensajes resistentes a los cuánticos que no podía leer antes.

Sus otros dispositivos

Un segundo dispositivo necesita dos cosas: una versión actual de la aplicación, y el nympq1… Un código más antiguo sigue funcionando —no se interrumpe— pero no puede leer el formato actual, por lo que mientras todavía está en la cuenta las copias que usted conserva para sí mismo caen de nuevo a la más antigua que puede. Un dispositivo actualizado que no ha sido vinculado todavía lee su historial anterior y pide el código. Ni siquiera puede decirnos que existe, por lo que este es un aviso más que algo que detectamos para usted.

con quien lo consigues

Ambos lados lo necesitan. Cada cliente de Nymchat publica un pequeño anuncio firmado, expirando diciendo así, e incluye su clave post cuántica cuando la tiene.Tener un anuncio válido para alguien es lo que hace que la aplicación use el intercambio más fuerte con ellos.No hay negociación para interferir: ya sea la clave está allí o no está, y porque el anuncio es firmado por su autor, una clave sustituida tendría que ser falsificada en lugar de simplemente servida.

¿Qué un atacante que controla un relay Puede No es retener el anuncio, por lo que el remitente nunca ve una llave y vuelve a la encriptación ordinaria. Eso vale la pena decir claramente. Cuesta protección post-cuántica para esos mensajes; no puede hacer que uno no sea legible, y no puede hacer que acepte una llave que no es tuya.

Estos anuncios duran una semana y se refrescan diariamente mientras usa la aplicación.Si está lejos más de eso, sus fallas y usted es leído como un cliente Nostr ordinario por un tiempo: los mensajes enviados a usted en esa brecha son cifrados de la manera normal en lugar de la manera cuántica-resistente. Aún llegan, y usted todavía puede leerlos - y nada que recibió antes se ve afectado.

Todos los demás siguen trabajando exactamente como antes. Bitchat usuarios y cualquier otro cliente de Nostr reciben estándar PNI-17, sin cambios. Nada se rompe cuando mensajes a alguien fuera de Nymchat.

Un mensaje poscuántico reemplaza el estándar en lugar de enviarse junto con él. Enviar ambos sería inútil: un atacante simplemente rompería la copia más débil.

Las copias dirigidas a Consíguelo también: el que leen tus otros dispositivos, el archivo detrás de él, y su configuración sincronizada, que viaja de la misma manera y lleva su lista de conversaciones, las claves de su grupo y su historial de mensajes. Dejando cualquiera de esos en el viejo el cifrado los habría convertido en el objeto más débil que se almacena: legible por cualquiera que rompa la criptografía actual, sin importar cuán cuidadosamente se sellaron los mensajes.

Mantenerse legible por Bitchat

Bitchat no puede leer el formato de mensaje de Nymchat, por lo que históricamente Nymchat enviaba una segunda copia de cada mensaje en el formato de Bitchat a cualquiera que pueda estar usándolo, lo cual, para alguien de quien nunca habías oído hablar, se refería a todos.

El anuncio anterior hace que las conjeturas sean innecesarias. Si alguien ha publicado uno, es ejecuta Nymchat, por lo que la copia de Bitchat se descarta y solo se envía el mensaje más fuerte. si ellos no lo han hecho, nada ha cambiado: siguen recibiendo ambos formatos, exactamente como antes, así que nada que envía puede volverse ilegible porque la aplicación adivinó mal qué cliente usa alguien.

Al igual que el cifrado en sí, esto es automático y no tiene configuración.

¿Por qué no simplemente adivinar a partir de la actividad pública?

Nymchat podría inferir quién dirige qué a partir de la actividad del canal público y detectaría gente antes. Pero esa inferencia a veces es errónea, y equivocarse aquí significa enviar a alguien un mensaje que su aplicación no puede abrir, sin errores ni reintentos. Un publicado El anuncio está firmado por su autor y no puede ser falsificado, por lo que se utiliza en su lugar.

En chats grupales

Los mensajes grupales ya están cifrados por separado para cada miembro, por lo que un grupo puede mezclar ambos tipos libremente: los miembros cuyos clientes lo admiten obtienen el cifrado más seguro, el resto obtiene el estándar, y el grupo funciona normalmente en cualquier sentido.

Por eso, un mensaje grupal sólo se marca como resistente cuántico cuando cada miembro lo recibió de esa manera. Si incluso una copia utilizó el intercambio estándar, esa copia lleva el mismo mensaje, por lo que el mensaje en su totalidad está tan protegido como su copia más débil. La aplicación dice "resistente a lo cuántico hasta 8 de 10 miembros" en lugar de redondear hacia arriba.

Los chats grupales también mantienen su teclas giratorias de un solo uso, que ocultan quién está en un grupo de cualquiera que esté viendo un relevo. Esa protección no se ve afectada y funciona exactamente como lo hizo.

leyendo la insignia

Cada mensaje privado y mensaje de grupo lleva un pequeño blindaje al lado del padlock. Tapping cualquiera de las marcas explica lo que está mostrando.

MarcaSignificado
CandadoQuién lo envió: si la firma coincide con el autor reivindicado.
BlindajeAmbos lados tenían un código post-cuántico propio, y el intercambio híbrido se usaba para cada copia de este mensaje.
Escudo discontinuoParcialmente cuántico-resistente — un mensaje de grupo sólo algunos miembros recibieron una copia protegida de.
A través del escudoLa encriptación estándar NIP-44 sigue siendo encriptada de extremo a extremo, y aún no puede ser leída por nadie más que por los participantes de hoy.
Sin escudoNo es un mensaje encriptado.Los mensajes de canal público son legibles en el relay por diseño, por lo que no se aplica ninguna marca de encriptación.

El escudo siempre está presente en un mensaje cifrado, y dice claramente cuando la respuesta es no. Una marca que falta sería ambigua - podría significar igualmente “no-resistente a los cuánticos”, “esta construcción es demasiado vieja”, o “el indicador está roto”- y un indicador de seguridad que no se puede distinguir de un roto no le dice nada.

Se sienta junto al bloque en lugar de reemplazarlo porque los dos responden a preguntas diferentes, y un mensaje puede ser uno sin el otro - resistente al cuántico pero de un remitente no verificado, o verificado pero convencionalmente cifrado.

Los mensajes más antiguos mantienen el escudo golpeado de forma permanente. Cualquier cosa enviada antes de que ambos lados estuvieran en una construcción resistente al cuántico fue sellada con el intercambio convencional, y que el texto cifrado ya existe en los relés - no puede ser sellado de nuevo después del hecho.

lo que no hace

Esto protege el contenido de tus mensajes. No hace que cada parte de Nostr es a prueba de cuánticos, y vale la pena ser preciso acerca de la diferencia.

  • Las firmas siguen siendo secp256k1. Las identidades de Nostr firman con Schnorr en el misma curva. Un adversario que ya tuviera una computadora cuántica en funcionamiento podría forjar una firmar y hacerse pasar por alguien en tiempo real. Lo que detiene el intercambio híbrido es leer Tráfico registrado: confidencialidad, no autenticación.
  • No hay antecedentes secretos. Ambas claves son duraderas: NIP-44 deriva su clave de su nsec, y la capa post cuántica se encapsula en la clave ML-KEM detrás de su nympq1… Cada mensaje recibe una nueva encapsulación, por lo que la clave de un mensaje no abre la siguiente, pero quien acabe manteniendo esas claves a largo plazo puede leer todo lo que alguna vez registraron, no sólo lo que vino después. Expiración de mensajes reducir, y es por eso que esta característica está dirigida a la cosecha-ahora-descifrar-más tarde en lugar de una clave que se toma.
  • Los metadatos no cambian. Un relevo todavía ve que un evento estaba dirigido a una clave, y aproximadamente cuándo. Eso es manejado por envoltorio de regalo y llaves de un solo uso, no por esto.
  • La red Bluetooth no está cubierta. Un mensaje transmitido por La Mesh viaja dentro de una sesión Noise XX, que es fuerte, actual encriptación pero un intercambio de clave clásico - por lo que no lleva la capa post-cuántica, incluso entre dos usuarios de Nymchat. El badge refleja esto: un mensaje entregado sobre la red no está marcado como cuántico-resistente.
  • Su código de recuperación es una segunda cosa a mantener. Comienza con nympq1 Y lo encontrarás en Detalles de tu NymEn el mismo panel que su nsec - toque su nym, y luego “Revele la clave privada y el código de recuperación de este nym”. nsec por sí sola no reconstruye su clave post cuántica - eso es precisamente por qué funciona - así que si ningún dispositivo tiene ese código y usted no tiene una copia de él, lo que fue sellado en él no puede ser abierto de nuevo. nsec.
  • No puede proteger lo que hace la otra parte. Un destinatario aún puede hacer una captura de pantalla, copiar o conservar un mensaje.

Esta es la misma posición que toma Signal con su propia actualización poscuántica: arreglar el intercambio de claves ahora, porque esa es la parte sobre la que un atacante puede actuar retroactivamente y tratar las firmas como una problema separado para cuando los estándares se pongan al día.

comprobando el trabajo

La implementación de ML-KEM está siendo probada contra el oficial test vectores NIST publicaciones por FIPS 203La aplicación web y la aplicación móvil se mantienen además a un conjunto compartido de vectores de prueba, lo que garantiza que un mensaje escrito por uno puede ser leído por el otro.

Ambos son fuente abierta bajo la AGPL-3.0, y las ediciones de la aplicación web son reproducibles — véase verificando una construcción.

Y más profundamente: Acuerdo de clave post cuántica en Nymchat - un whitepaper técnico sobre cómo se distribuye la clave ML-KEM sin un directorio, la construcción exacta que combina los dos intercambios de claves, y los diseños que fueron rechazados.