Skip to di tin dɛn we de insay
Bak na Nymchat

Di tin dɛn we pɔsin fɔ no bɔt Fɔ tɔk to pipul dɛn

Kwantum-rɛsistant ɛnkripshɔn

Prayvet mɛsej ɛn grup chat bitwin Nymchat yuza dɛn kin ɛnkript so dat fɔ rikodɔm dɛn tide nɔ de bay pɔsin we atak natin, ivin wans kwantum kɔmpyuta dɛn dɔn kam.

Di prɔblɛm we i de sɔlv

Ɔdinari Nostr ɛnkripshɔn — . NIP-44 we dɛn kɔl, . we na wetin prayvet mɛsej dɛn ɛn grup chat dɛn dɛn bil pan — gɛt tu af. Di haf dat akchuali skrambl di teks (ChaCha20, HMAC-SHA256, HKDF) hol op fayn agenst wan kwantum kɔmpyuta. Di af we gri pan di ki nɔ gri.

Dat ki agrimɛnt na ɛliptik-kɔv Diffie-Hellman pan secp256k1, di sem mats we Bitcoin de yuz. Shor in algɔritm de sɔlv am wantɛm wantɛm. Ɛnibɔdi we rɔn am agens pɔblik ki de gɛt bak di prayvet ki, ɛn wit am ɛvri sɛri sikrit we da ki de ɛva prodyuz.

Harvest naw, decrypt leta

Dis nɔto prɔblɛm we kin bigin we kwantum kɔmpyuta dɛn kam. Wan ɛnimi we gɛt inof stɔrɔj kin rikodɔ trafik we dɛn dɔn ɛnkript tide, sidɔm pan am, ɛn dikript am afta sɔm ia. Enitin we yu send nau we stil impɔtant da tɛm de, i dɔn ɔlrɛdi kɔmɔt na do. Dat na di patikyula tin atak dis ficha def.

Aw i de wok

Nymchat nɔ tɔch NIP-44 mesij format at ɔl. Di key agreement we e de yuze olwey, e nɔ tɔt; ɛn ɔda wan, we de wok pan in ɔn, de add am pan top. So, na tu key exchange de pan ɛn mesij instead ɔf wan:

  • di standad we de na di standad secp256k1 ECDH, jɔs lɛk aw i bin de bifo;
  • ML-KEM-768, ɛn di ɔda wan dɛn, di post-kwantum algɔritm NIST standad as FIPS 203. Di wan dɛn we de wok. I sikyɔriti de pan lat prɔblɛm dɛn, we Shor in algɔritm nɔ de tɔch.

Di tu de layar, no mixDi mesij de de enkrip wit NIP-44 jus sef de am de du bof de, and dat finis saytifertek de de kover pan di am di seken taim inside di post-quantum laye — ChaCha20-Poly1305, wetin de yu ML-KEM shared sekrit. Di sen-de key, di risiv-de key, di enkapsulashon saytifertek, and di risiv-de ML-KEM key de de join pan di de-riveshon sef ol nɔmɔ de context, so mek wan laye nɔ go fɔm wan trao go pley di sef pan di oda wan.

Wan kɔmbay-na lɛk X-Wing ɔ Signal de PQXDH de mix bɔθ di si-kret de wan kɛ (key) wan. Nymchat nɔ du dat, ɛn di rēzɔn nɔ bɔt di cryptography bɔt bɔt di practical tɛŋ: fɔ mix, yu nidi di raw ECDH output, ɛn wan browser extension ɔ remote signer nɔ go gi dat bɛk — ɛ de rɛtɔn wan fini-fini ciphertext, ɛn ɛ de fɔ dɛn fɔ kip di kɛ (key) na wan ple ais di app nɔ kin ritch am. Di layering de kip NIP-44 wan-wan ɛn de mek am kam awt fɔm wanin we de kip di identity key, ɛn di signer de na in, so di logins de kɔm as ɔdinari participants nɔt as wanin we dem de exclude am.

Di impoten prapati na de seym ɛbri we: di risalt na At lɔst, strɔng as di strɔng paf.. To rid di mesij, e min se yu mas pas di tu layas. If lattice cryptography turn out to de weak pas wetin pipul bin tɔk, to brek ML-KEM go jes tek out di auta laya den NIP-44 de na de botom. If secp256k1 fall na di han di quantum computer, di inna laya go open, bɔt di auta laya

Ɛvri mɛsej kin gɛt fresh post-kwantam ɛkshɛnj, so fɔ rikavari wan mɛsej in ki de sho natin nɔ de bɔt di ɔda wan dɛn.

Di post-quantum haaf nid in in kii, an we dat kii de kam frɔm na wetin de mek di disidion if di ɔl tin de worth ɛniθin. I de du am on pis nɔto kɔm frɔm yu nsec. Wan quantum kompyuta wey de brek di klasikal hlaf, de re-kavah yo nsec frɔm yu pɔblik ki, an eniting we de kam frɔm di nsec bi wan pablish formula kam out wit am — tu lok opan wit wan brek. So Nymchat generat wan separet post-quantum kɔd fɔ ɛci akount, wan tɛm, frɔm ranndom bytes dɛt no pɔblik valyu de sho. I de rid as nympq1… an de sity na besay yua nsec na yu Nym di-te-ils, dem show am and dem nsec.

Natin nɔ de fɔ tɔn pan

Dis nɔto sɛtin. Post-kwantam enkripshɔn na jɔs aw Nymchat de tɔk to Nymchat, di di sem we ɔdinari ɛnkripshɔn na aw i de tɔk to ɔl ɔda tin. I de aplay ɔtomɛtik wan to evri prayvet mesej en grup chat wit oda Nymchat yuza.

Settings > Praivasi ɛn Sikuriti sho if e de wok ɛn ɔl di kɔntak we e de riich na naw, bɔt na ɛnfo dɛn lɛk dat ɔnli — i nɔ de ɛni sɔwit.

Dis go wok wetin aw yu de log in. Wan browser-extension (NIP-07) ɔ remote-signer (NIP-46) login nɔ de gi yu identity key to di app, and na dat na di main reason fɔ de us am — and e nɔ de kaba fɔ du am. Di tu pat of di encryption de de separe: yu signer de du di tin we e de du bafɔ, and di app de du di post-quantum pat wit yu recovery code, we e de kíp fɔ sɔl. Extension and remote-signer login na ordinary tin dem fɔ bot side. Di status line inside Settings go tel yu wetin de aply fɔ yu.

Nɔten we yu ɔlredy di get no de afɛkt. Evri mesij in yu histri de stɛy ridabl na evri dɛvays wit nɔten bɔt yu nsec, de de de am de bɛfɔ, an i go de so fɔ di hole lif di akont. Wetin nìd di nympq1… rikovri kod na di kwantɔm-resistan matrial wey de rayt frɔm naw on: nio mesij, an di sinkt seting an arkayv wey de trayv wit dem.

So wan dip nympq1… Kod frɔm wan dipay we ɔlredi get am. E wan tɛm fɔ ɛvri dipay, ɛ nɔ wan tɛm fɔ ɛvri log in. Dɛn stɛp nɔ de fɔ mek di wok mek lɛn we wi nɔ bin mek wi kam out: wan kod we fɔ kam na wan nū dipay deba fɔ du fɔ kam na wan oda mesij, and dɛn mesij na wetin di ɛtaka we dis fiza de fɔ stɔp de rɛkɔd. Dɛn stɛp na di rɛzɔn we di protɛksọ de rili.

Di app mek di nympq1… kod fɔ yu, so de nɔtin fɔ chuz an nɔtin fɔ invɛnt. Fɔ si am: tap yu nym fɔ opn. Luk ɔ Chenj Nym di Ditis, den Show dis nym di privat key an rikoveri kodi. I de sit dia direkt bɛlon yu nsec, wit de seim show ɛn kopii botɔn. Yu nɔ go nid fɔ tink ɛbout am tɛl de de we yu go ɛd wan sɛkɔn dɛvays.

Dɛs we yu nɔ lin nɔ lock aut fo de time. E de rid evri ting we dem bin rait wetin di ol enkryp-shon de, and e de send dɛn olwey, and wɛn yu lin am, e go bɛk go op di kwantɔm-resistan mesij we e nɔ bin de kaba rid bɛfo. Nɔtin nɔ de lus if yu lin am lat.

Yu odah dispayz

Sekon dɛvays nid tu tɔŋk: di latest versin ɔf di ap, an di nympq1… kɔd. An ol build de wok stil — e nɔ kɔt ɔf — bɔt e nɔ de kán rɛd di nyu fɔmat, so as long as e de na di akaund, di kɔpi we yu de kip fɔ yosɛf go bɛk na di ol wan we e de kán rɛd. A nyu dɛvays we nɔ ɛnk (link) nid yet, de rɛd yu ol histri ɔnd de aski fɔ di kɔd. Nɛda nɔ de kán tɛl wi se ɛ de, dis na di rīzn we dis na wan notɪs rɛda dɛn ɔnd nɔ se na samtin we wi de fɛnd fɔ yu.

Udat yu kin gɛt am wit

Bot saed nidi am. Evri Nymchat klient de pablis wan smol sáynd, we de ɛks-pay wan anonsment we de se dat, an in de put in in pɔst-kwantɔm ki wen in get wan. Yu de hol wan valid anonsment fɔ wan pɔsin na wetin mek di ap de yus di strɔngɔ ɛks-tʃɛndʒ wit dem. No de nid fɔ negoshiet fɔ ɛntɛfɛ: di ki de ɔ di nɔt, an bɔkoz di anonsment de sáynd bɔy di wan we rait am, fɔ mek wan oda ki in ples di rili wan, yu fɔ nid fɔ fɔrj am, nɔ de jɔst sɛrv am.

Wetin wan ataker wey de kɔntrɔl wan rilay kin di wan ded na de de-hide di anons, so di wan we de send am nɔ go eva si wan kii, and e go go bak na di ol difa enkrishon. Dis wan de gud fɔ mek am klia. Dis wan go kɔst di post-kwantɔm protekshen fɔ di mesij; e nɔ go mek di tin nɔ rɛd fɔ rɛd, and e nɔ go mek yu aksep wan kii we nɔ de yu. Di klient de ask bɔt fɔ relays, so fɔ stop di anons, yu fɔ kɔntrol ɔl dɛm.

Di announcement dem de last fɔ wan wik, and dem de refresh deoself evri de we yu de use di app. If yu de go away fɔ mor dɛn dat, yu announcement go kray, and dem go rɛd yu as wan ordinari Nostr client fɔ wan tɛm: di mesij dem we dem sɛnt to yu na dat gap go ɛnkriptit de normal we, ɛnɔt de quantum-resistant we. Dem go stil kam, and yu go stil de rɛd dem — and ɛni-tin we yu bin rissiv bɛfɔ go no ɛfɛkt. Wɛn yu op di app, yu announcement go pulis ōp ōn fɔ yu, and di strɔng ɛnkripshen go start ōn fɔ yu bɔt. Yu nɔ nidɔ du ɛni-tin ōn.

Ɔlman de kɔntinyu fɔ wok jɔs lɛk aw dɛn bin de wok trade. Bitchat ol yusə an en oda Nostr klint riliv stɛndad NIP-17 we dɛn kɔl, e no ɛnje. Nɔtin nɔ de bɔk wen yu mesij ɔn wan outsaɪd Nymchat.

Wan mɛsej we de afta di kwantum de tek in ples di standad wan pas fɔ sɛn am nia am. Fɔ sɛn dɛn ɔl tu nɔ go gɛt wan minin: pɔsin we atak go jɔs brok di kɔpi we wik.

Di kɔpi dɛn we dɛn adrɛs to yu get am bak — di wan we yu ɔda divays dɛn de rid, di arkiv bihayn am, ɛn yu sink sɛtin dɛn, we de travul di sem we ɛn kɛr yu kɔnvɔshɔn list, yu grup ki ɛn yu mɛsej istri. Fɔ lɛf ɛni wan pan dɛn wan dɛn de pan di ol wan enkripshɔn bin fɔ dɔn mek dɛn bi di wik tin we yu de kip: ɛnibɔdi we brok kin rid tide in kriptografi, ilɛksɛf dɛn tek tɛm sial di mɛsej dɛnsɛf.

Stayin ridabl bay Bitchat

Bitchat nɔ ebul fɔ rid Nymchat in mɛsej fɔmat, so istri wan Nymchat sɛn sɛkɔn kɔpi fɔ ɛvri mɛsej we de na Bitchat in fɔmat to ɛnibɔdi we go de yuz am — we, fɔ sɔmbɔdi yu nɔ bin dɔn ɛva yɛri frɔm, min ɔlman.

Di anɔnsmɛnt we de ɔp de mek da gɛs de nɔ nid fɔ de. If sɔmbɔdi dɔn pablish wan, dɛn de we de rɔn Nymchat, so di Bitchat kɔpi de drɔp ɛn na di mɛsej nɔmɔ we strɔng pas am de sɛn. If dɛn nɔ dɔn, natin nɔ chenj: dɛn stil de gɛt ɔl tu di fɔmat dɛn, jɔs lɛk aw dɛn bin de bifo, so natin nɔ de yu sɛn kin bi tin we yu nɔ go ebul fɔ rid bikɔs di ap gɛs rɔng bɔt us klaynt pɔsin de yuz.

Lɛk di ɛnkripshɔn insɛf, dis na ɔtomɛtik ɛn i nɔ gɛt ɛni sɛtin.

Wetin mek yu nɔ jɔs gɛs frɔm pɔblik aktiviti

Nymchat kin infer udat de ron wetin frɔm pɔblik chanɛl aktiviti, ɛn i go spot pipul dɛn kwik kwik wan. Bɔt da infɔmeshɔn de kin rɔng wan wan tɛm, ɛn fɔ bi rɔng ya min fɔ sɛn mɛsej to pɔsin we dɛn ap nɔ ebul fɔ opin, wit nɔ mistek ɛn nɔ tray bak. Wan we dɛn dɔn pablish anɔnsmɛnt na pɔsin we rayt am sayn am ɛn dɛn nɔ go ebul fɔ mek am lay lay, so dɛn kin yuz am insted.

Insay grup chat

Grup mɛsej dɛn dɔn ɔlrɛdi ɛnkript sɛpret fɔ ɛni mɛmba, so wan grup kin miks ɔl tu di kayn dɛn fri wan — mɛmba dɛn we dɛn klaynt dɛn de sɔpɔt am kin gɛt di strɔng ɛnkripshɔn, di ɔda wan dɛn kin gɛt di standad wan, ɛn di grup de wok nɔmal wan ɛni we.

Bikɔs ɔf dat, wan grup mɛsej kin jɔs mak kwantum-rɛsistant we ɛvri mɛmba bin gɛt am da we de. If ivin wan kɔpi yuz di standad ɛkshɛnj, da kɔpi de kin kɛr di sem tin mɛsej, so di mɛsej as a ɔl na jɔs lɛk aw in kɔpi we wik pas ɔl de protɛkt am. Di ap se "kwantum-rεsistant to 8 pan 10 mεmba dεm" pas fכ rכund כp.

Grup chat dɛn bak kin kip dɛn we de rɔta wan tɛm ki dɛn, we de ayd udat de na wan grup frɔm ɛnibɔdi we de wach wan rilay. Dat protɛkshɔn nɔ de afɛkt ɛn i de wok jɔs lɛk aw i bin de wok.

We yu de rid di badge

Eni privat mesij an grup mesij kari wan smol kɔba nɛks to di padlok. Tap ɛbọn māk go ɛksplein wetin i de sho.

MakMinin
Padlɔk we dɛn kɔlUdat sɛn am — if di sayn mach di pɔsin we dɛn se rayt am.
KɔbaKwantama-resis-tan. Bɔθ saed de hol wan post-kwantama kod fɔ dem sɔn, an dem us di hybid eks-chenj fɔ ɛvri kɔpi fɔ dis mesij.
Shild we gɛt dashPartly quantum-resistant — wan group mesij wey only some members bin get wan protected copy of. Bikos di oda dem de carry di sem tekst, treat di mesij as if e de encrypt de normal way.
Shild wey get lin na inE nɔ quantum-resistant. Standard NIP-44 enkripshen — e stil end-to-end enkriptid, and na di pipul we de in di tin klan fɔ rɛd am tedei.
No shild nɔ deNɔ enkripte mesij. Di pos na di pabliki chanèl, de mek yu kin rid dem na di rilay de as de set am, so nɔ enki enkrishon mak de fɔ kam fɔ wok.

Di shield de olwey na enskritid mesij, an e de se am klia wen di ansaw na no. If di mak no de, e go de mek pipul konfuz—e go de mek pipul tink se e mɛn 'e no quantum-resistant', 'dis build old too much', ɔ 'di indikeita don brik'—an wan sekuriti indikeita we yu no kin tɛl di difrens ɔ brik wan, e no de tɛl yu ɛnitin.

I de sit na di padlok na di saed, em no de repley am bikos di tu de ansa difren kwestion, and wan mesij kin bi wan witout di oda — quantum-resistan bat frowm wan un-vɛrifaid sen-da, or vɛrifaid bat de kɔn-sen-shon-al ɛnkriptid.

Oulda mesij de hol di shild we de line thru am fɔr ɛvritaem. Wetin en nɔmɔ send bɔf bot sɛd de na di quantum-resistant build, dem bin seal am wit di oda exchange, and dat ciphertext de na di relays ɔlredi — yu nɔ kin seal am again afta dat don de. Dis na di exact tin we "harvest-now-decrypt-later" de do, we di upgrade de fix fɔ go fɔwɔd, so di badge we de show am na di trut rather mek e be fault.

Wetin i nɔ de du

Dis de protɛkt di di tin dɛn we de insay fɔ yu mɛsej dɛn. I nɔ de mek ɛvri pat pan Nostr kwantum-pruf, ɛn i fayn fɔ bi prɛsis bɔt di difrɛns.

  • Sayn dɛn stil de secp256k1. Nostr aydentiti dɛn sayn wit Schnorr pan di di sem kɔv. Wan ɛnimi we dɔn ɔlrɛdi gɛt kwantum kɔmpyuta we de wok kin fɔj a sayn ɛn mek lɛk se yu na pɔsin insay rial tɛm. Wetin di haybrid exchenj de stɔp na fɔ rid trafik we dɛn dɔn rɛkɔd — kɔnfidɛns, nɔto ɔthɛntishɔn.
  • Nɔ de fɔwɔd siːkresɛti. Di tu ki dey kip fɔ long time: NIP-44 tek in ki frɔm yu nsec, and di post-quantum laye encapsulate to di ML-KEM ki baha yu nympq1… Kod. Evri mek-saj get in in-dis kover, so di kiti fɔ wan mek-saj nɔ de op di nòks — bɔt di wan we go ɛnd op de hol di lang-tɛm kiti dem kin rid ɛvritin we in bin rɛkɔd, nɔ de wetin we de kɔm afta nɔ de. Dat na wetin Mesij wey de fin mek am loku, and na dat de reason we dis fitiya de aim pan "ketch am naw, den opan am laka de de" rader pas wan ki we dem de tek.
  • Mɛtadata nɔ chenj. Wan rilay stil de si se dɛn bin adrɛs wan ivent to wan ki, ɛn roughly we. Dat na di wan we dɛn de handle bay gift we dɛn kin rap ɛn wan tɛm ki dɛn, nɔto bay dis.
  • De Bluetooth mesh nɔ de kɔv am. Wan mesij we de krey o-va di mes E de go inside wan Noise XX session, wey de use gud, modern encryption but di key exchange na di ol style—so e no get di post-quantum layer, even between tu Nymchat users. Di badge de show dis: if wan mesij de go di mesh, e no de get di mark se e quantum-resistant. If yu wan add am, e mean yu go hafe to change di handshake itself, wey mek bot di pesin de de de do am at di sem taim, wit no relay wey dem go de go, and all dat, di mesij must still de possible for Bitchat de read am.
  • Yu rikovri kod na wan sēkɔnd tin we yu fɔ kip. E de stat wit nympq1 and yu go faynd am in yu Nym di detayls, na di seim panèl de yu nsec — tap yu nym, den “Show dis nym private key and recovery code”. Yu nsec E nɔ de rili mek yu post-quantum key kɔm bak wen yu nɔ de do nɔtin — dis na de rili rason we e de wok — so if no device de hold dat kɔd ɛn yu nɔ de got kɔpi de am, wet ɛn de fɔ kɔs dat kɔd nɔ de op ɛn ɛn. Nɔ de reset ɛn nɔ de nɔbɔdi we yu de ɔs. Sek di wenɛv yu de sek yu nsec.
  • I nɔ go ebul fɔ protɛkt wetin di ɔda say de du. Wan pɔsin we gɛt di sik kin stil tek skrinshɔt, . kɔpi ɔ kip mɛsej.

Dis na di sem pozishɔn we Sayn de tek wit in yon post-kwantam ɔpgrɛd: fiks di ki ɛkshɛnj naw, bikɔs na dat na di pat we pɔsin we atak kin akt pan retroactively, ɛn trit sayn dɛn lɛk a separet prɔblɛm fɔ we di standad dɛn kech.

Fɔ chɛk di wok we dɛn de du

Dem de test di ML-KEM implementashin wit di ofishal wan. tɛst vektas NIST de pɔblɪʃFIPS 203. Di wan dɛn we de wok...so dɛm de check am fɔ di standad de self, nɔ ɛ nɔ fɔ de check am fɔ de self Ɔnli. Di web app lɛn di mobile app dɛm de yus wan set di test vector we dɛm de shɛ, ɛn dis na wetin de mek se wan mesij we wan de rɛt, di ɔda de rɛd am.

Di tu dey opɛn sɔːs na de AGPL-3.0, an de web app bil-dem de wan-wan de kam out — luk fɔ chɛk fɔ si if dɛn bil am.

Go dīp-er: Post-Quantum Ki Agrement in Nymchat — wan teknikal witpepa on aw di ML-KEM ki de distribyut witaut wan direktori, di eksakt kɔnstrɔkʃn we de kɔmbain di tu ki eks-chenj, ɛnd di dizayns we de rɛʤɛkt.