Gean nei de ynhâld
Werom nei Nymchat

Kennisbasis Mei minsken prate

Quantum-resistant fersifering

Privee berjochten en groepchats tusken Nymchat-brûkers kinne sa fersifere wurde dat it opnimmen fan harren hjoed keapet in oanfaller neat, sels ien kear quantum kompjûters komme.

It probleem dat it oplost

Gewoane Nostr-fersifering - NIP-44, wat is wat privee berjochten en groep petearen binne boud op - hat twa helten. De helte dat skriuwt de tekst eins (ChaCha20, HMAC-SHA256, HKDF) goed tsjin in kwantum kompjûter. De helte dy't it iens is oer de kaai net.

Dy kaai oerienkomst is elliptic-curve Diffie-Hellman op secp256k1, deselde wiskunde Bitcoin brûkt. Shor's algoritme lost it direkt op. Elkenien dy't rint it tsjin in iepenbiere kaai herstelt de privee kaai, en dêrmei elk dielde geheim dat kaai ea produsearre.

Harvest no, ûntsiferje letter

Dit is gjin probleem dat begjint as kwantumkompjûters oankomme. In tsjinstanner mei genôch opslach kin fersifere ferkear opnimme hjoed, sit derop en ûntsiferje it jierren letter. Alles wat jo no stjoere dat doe noch telt, is al bleatsteld. Dat is it spesifike oanfalle dizze funksje nederlagen.

Hoe't it wurket

Nymchat liedt it NIP-44 messaging-formaat heul sels. De wichtichste oerienkomst dy't hy al brûkt is ongetakt; in twadde, ûnôfhinklike ien wurdt toegeande om it.

  • de standert secp256k1 ECDH, krekt as foarhinne;
  • ML-KEM-768, de post-quantum algoritme NIST standerdisearre as FIPS 203. De feiligens dêrfan is basearre op roosterproblemen, dy't Shor's algoritme net oanrekket.

De beide binne Yn Fryslân, no yn de Mynten.De boodschap is encrypted mei NIP-44 krekt as it altyd wie, en dat ferfongen encryptertekst wurdt dan ferdield in twadde kear yn 'e post-quantum layer - ChaCha20-Poly1305, sleutsen út it ML-KEM gedeelde geheim. De sendersleutel, de recipient's key, de encapsulation encapsulation encryptertext en de recipient's ML-KEM key binne boande yn dy derivation as kontekst, dus in layer kin net ferheegje út ien útwikseling en replayed op in oare.

In kombinear lykas X-Wing of Signal's PQXDH mengt beide geheimen yn ien sleutel ynstee. Nymchat net, en de reden is praktysk eerder as kriptografysk: mixing nedich de raw ECDH-output, en in browser-ûntjouwing of remote signer sil nooit dat weromgean - it returns in ferfongen encryptiontekst, dat is it hiele punt fan hâlding fan de sleutel wêr't de app kin net berikke. Layering hâldt NIP-44 heule en produsearre troch wat hâldt de identiteit sleutel, signer ynklusyf, dus dy logins binne gewoane dielnimmers eerder as útskreaun.

De wichtichste eigendom is itselde: it resultaat is Sa sterk as de sterkere helte.It lêzen fan 'e berjocht betsjut te kommen troch beide lagen. As grid cryptography komt út te wêzen swakker as hopen, brekken ML-KEM allinich strips de bûtenskip en ferlaat hjoeddeistige NIP-44 ûnder. As secp256k1 falls nei in quantum kompjûter, de ynterne laag iepen, mar de bûtenskip nei.

Elk berjocht krijt in frisse post-quantum-útwikseling, dus it weromheljen fan de kaai fan ien berjocht ûntbleatet neat oer de oaren.

De post-quantum helte hat in sleutel fan har eigen, en wêr't dy sleutel komt is wat bepaalt of it hiele ding wat waard. net Hy wurket út syn nsecIn kwantum kompjûter dy't de klassike helte brekt, herstelt jo nsec fan jo iepenbiere sleutel, en alles dy't út de nsec By in publisearre formule komt út mei it — twa sloten opnommen troch ien break. De post-quantum koade Foar elke account, ien kear, út willekeurige bytes dy't gjin iepenbiere wearde eksposearret. nympq1… Yn de bûtenlânske nsec It is net in wachtwoord en net in twadde ynlogging: it is sleutelmateriaal dy't jo kinne opslaan, krekt as de nsec.

Der is neat oan te skeakeljen

Dit is gjin ynstelling. Post-quantum fersifering is gewoan hoe't Nymchat praat mei Nymchat, de deselde manier gewoane fersifering is hoe't it praat mei al it oare. It jildt automatysk foar elk priveeberjocht en groepchat mei in oare Nymchat-brûker.

Settings › Privacy & Security sjen of it is aktive en hoeveel fan jo kontakten it op it stuit berikt, mar allinich as ynformaasje - der is gjin switch.

In browser-ûntjouwing (NIP-07) of remote-sign-ner (NIP-46)-ynlogging fertsjintwurdige nooit jo identiteitssleutel nei de app, dat is it hiele punt fan it brûken fan ien - en it hoeft net te. De twa helten fan de encryption wurde hâlden apart: jo signer docht it part dat hy altyd makke hat, en de app docht it post-quantum-part mei jo herstel koade, dy't it direkt hâldt. Extension en remote-sign-ner-ynlogins binne gewoane dielnimmers yn beide rjochtingen.

Alle berichten yn jo histoary bliuwt leesbaar op alle apparaten mei niks dan jo nsecIt is net sa goed as yn 'e tiid fan it libben. nympq1… Recovery code is it quantum-resistant materiaal skreaun fan hjoed: nije berichten, en de synchronearre ynstellingen en arkyf dy't reisje mei harren.

Dus in apparaat hat te hâlden dat koade foardat it kin iepen dy't, en it tafoegjen fan in apparaat hat no in ekstra stap. nympq1… It is ien kear per apparaat, net ien kear per ynlogging. Dat stap is net friksje dy't wy mislearre te ferwiderjen: in koade dy't op in nije apparaat oankomme kinne by him sels moatte reizen der yn in gewoane berjocht, en dat berjocht is krekt wat de oanfalder dizze funksje eksisteart om te stoppen is opnimmen.

De app generearret de nympq1… De koade is foar jo, dus der is niks om te kiezen en niks om te finnen. Om it te sjen: tap your nym te iepenjen Sjoch of Edit Nym's DetailsDêrnei Reveal this nym's private key en recovery codeIt leit direkt ûnder de nsec, mei itselde sjen en kopiearje knoppen. Jo moatte gjin gedachten oer it oant de dei dy't jo oanfetsje in twadde apparaat.

In unlinked apparaat is net blokkearre yn 'e ferheging. It hâldt lêzen alles skreaun ûnder de âldere encryption en hâldt stjoere normaal, en as jo link it, it komt werom en iepen de quantum-resistante berichten dat it net kin lêzen foardat.

De oare apparaten

In twadde apparaat hat twa dingen nedich: in hjoeddeistige ferzje fan de app, en de nympq1… Koade. In âldere boarnen hâlde wurkje - it wurdt net útskreaun - mar it kin net lêze de hjoeddeistige format, dus wylst it noch op it akkount de kopieën dy't jo hâlde foar jo sels fallen werom nei de âldere dy't it kin. In up-to-date apparaat dy't net ferbûn is noch lêze jo âldere histoary en biede foar de koade.

Mei wa't jo it krije

Beide kanten moatte it. Elke Nymchat-kliïnt publisearret in lytse signearre, útgeande aankondiging dy't sa sê, en befettet syn post-quantum sleutel doe't it in hat. Hâlding in geldig oankondiging foar ien is wat de app brûkt foar de sterkere útwikseling mei harren. Er is gjin onderhandelingen om ynterferearje: of de sleutel is der of it is net, en omdat de oankondiging wurdt signearre troch syn auteur, in ferfongen sleutel sil wurde feroare as net gewoan.

Wat in oanfalder dy't kontrolearret in relay Kan It kostet post-quantum beskerming foar dy berichten; it kin net meitsje ien unleasbaar, en it kin net meitsje jo akseptearje in sleutel dy't is net jo. Kliïnten fragen ferskate relays, dus suppressing it hat kontrôle oer alle fan harren.

Dy oankundigingen duorje in wike en ferfrisje se elke dei wylst jo de app brûke. As jo langer fergean binne dan dat, jo leaves en jo wurde learde as in gewoane Nostr-kliïnt foar in oantal oeren: berichten dy't jo yn dat gapen wurde ferstjoerd wurde, wurde ynsteld op de normale manier ynstee as de quantum-resistante manier.

Alle oaren wurkje krekt as earder. Bitchat brûkers en elke oare Nostr-kliïnten ûntfange standert NIP-17Niks brekt út as jo beskriuwje iemand bûten Nymchat.

In post-quantum berjocht ferfangt de standert yn stee fan it njonken te stjoeren. It ferstjoeren fan beide soe nutteloos wêze: in oanfaller soe de swakkere kopy gewoan brekke.

De kopyen rjochte oan jo krije it ek - de iene jo oare apparaten lêze, de argyf derachter, en jo syngronisearre ynstellingen, dy't deselde manier reizgje en jo konversaasjelist, jo groepkaaien en jo berjochtskiednis. Lit ien fan dy op 'e âlde fersifering soe hawwe makke se it swakste ding jo opslaan: lêsber foar elkenien dy't brekt hjoeddeiske kryptografy, nettsjinsteande hoe soarchfâldich de berjochten sels waarden fersegele.

Lêsber bliuwe troch Bitchat

Bitchat kin it berjochtformaat fan Nymchat net lêze, dus histoarysk stjoerde Nymchat in twadde kopy fan elk berjocht yn Bitchat's opmaak oan elkenien dy't it miskien brûke - wat, foar immen do hiest nea fan heard, bedoelde elkenien.

De oankundiging hjirboppe makket dat rieden net nedich. As immen ien hat publisearre, binne se Running Nymchat, sadat de Bitchat-kopy wurdt sakke en allinich it sterkere berjocht wurdt ferstjoerd. As se hawwe net, neat is feroare: se krije noch altyd beide formaten, krekt as foarhinne, dus neat jo stjoere kin ûnlêsber wurde, om't de app ferkeard ried oer hokker kliïnt immen brûkt.

Lykas de fersifering sels is dit automatysk en hat gjin ynstelling.

Wêrom net gewoan riede fan publike aktiviteit

Nymchat koe ôfliede wa't wat rint fan publike kanaalaktiviteit, en it soe spot minsken earder. Mar dy konklúzje is sa no en dan ferkeard, en hjir ferkeard wêze betsjut immen in berjocht ferstjoere kin har app net iepenje, sûnder flater en gjin opnij besykjen. In publisearre oankundiging wurdt tekene troch de skriuwer en kin net wurde fake, dus it wurdt brûkt ynstee.

Yn groep chats

Groepberjochten binne al apart fersifere foar elk lid, dus in groep kin beide soarten mingje frij - leden waans kliïnten stypje it krije de sterkere fersifering, de rest krije de standert ien, en de groep wurket normaal beide wei.

Fanwegen dat, in groep berjocht wurdt allinnich markearre kwantum-resistant wannear elk lid krige it sa. As sels ien eksimplaar de standertútwikseling brûkte, draacht dat eksimplaar itselde berjocht, dus it berjocht as gehiel is mar sa beskerme as syn swakste kopy. De app seit "kwantum-resistint foar 8 fan 10 leden" ynstee fan omheech.

Groepchats hâlde har ek rotearjende ienmalige toetsen, dy't ferbergje wa't yn in groep is fan elkenien dy't in estafette sjocht. Dy beskerming is net beynfloede en wurket krekt sa't it die.

It lêzen fan it badge

Elke privee berjocht en groepsboadstjoering draait in lytse skyld By de oanhâlding fan 'e plakken is it bekend wat de oanhâlding betsjuttet.

MerkBetsjutting
HangslotWa stjoerde it - oft de hantekening oerienkomt mei de bewearde auteur.
ShieldBeide kanten hielden in post-quantum koade fan har eigen, en de hybride útwikseling waard brûkt foar elke kopie fan dizze berjocht.
Skildere skildPartly quantum-resistant — in groepsboarchskip dat allinich ien fan 'e leden in beskerme kopie fan krige. Omdat de oare itselde tekst dragen, behandel de boarchskip as conventionally encrypted yn totaal.
Struck-through skildStandert NIP-44-kryptering - noch end-to-end-kryptearre, en noch net lesber foar elkenien bûten de dielnimmers hjoed.
Gjin skyldPublic channel posts binne leesbaar op de relay troch ûntwerp, dus gjin encryption merk wurdt oanwêzich.

A missing mark would be ambiguous — it kin ek betsjut “nicht quantum-resistant”, “this build is te âld”, of “de ynspiraasje is gebroken” — en in feiligensindikaator dat kin net ferdield wurde fan in gebroken ien is net sizze jo wat.

It sit by de padlock ynstee as it ferfetsje omdat de twa ferskillende fragen antwurde, en in berjocht kin ien wêze sûnder de oare - kwantum-resistant, mar fan in unverifiearre ferstjoerder, of verifiearre, mar konvinsjonele encrypted.

Oare berichten hâlde de slag-through shield permanent. Alles dy't ferstjoerd wurde foardat beide kanten op in kwantum-resistante bou waard ferdield mei de konvinsjonele útwikseling, en dat cifertekst is al op de relais - it kin net re-sealed nei it feit.

Wat it net docht

Dit beskermet de ynhâld fan jo berjochten. It makket net elk diel fan Nostr quantum-proof, en it is de muoite wurdich wêzen presys oer it ferskil.

  • Hantekeningen binne noch secp256k1. Nostr identiteiten tekenje mei Schnorr op 'e deselde kromme. In tsjinstanner dy't al in wurkjende kwantumkompjûter hie, koe in hantekening en impersonearje immen yn real time. Wat de hybride útwikseling stoppet is lêzen opnommen ferkear - fertroulikens, gjin autentikaasje.
  • Der is gjin foarôfgeand geheim. Beide sleutels binne langlebere: NIP-44 ferwideret syn sleutel út jo nsecDe post-quantum-layout wurdt ynkapsulearre nei de ML-KEM-toets dêrby. nympq1… Elke berjocht krije in ferske ynkapseling, dus de sleutel fan ien berjocht iepenet de folgjende net - mar de man dy't de langtermyn sleutels hâldt, kin lêze alles dy't se eartiids opnommen hawwe, net wat dêrnei kaam. Skriuw dy yn foar Messages Dit is de reden dat dizze funksje is rjochte op harvest-now-decrypt-later as op in sleutel dy't wurdt útfierd.
  • Metadata is net feroare. In estafette sjocht noch dat der in evenemint oan rjochte wie in kaai, en likernôch wannear. Dat wurdt behannele troch kado-ferpakking en ienmalige kaaien, net troch dit.
  • De Bluetooth mesh is net dekt. In boodschap oerbrocht De mesh reist yn in Noise XX-sessy, dat is sterk, aktuele encryption, mar in klassike key exchange - dus it draait net de post-quantum layer, sels tusken twa Nymchat brûkers. De badge fertsjintwurdiget dit: in berjocht fertsjintwurdiget oer it mesh is net markearre quantum-resistant.
  • Jou herstel koade is in twadde ding te hâlden. It begjint mei nympq1 En wy sille it yn De details fan jo NymYn itselde plak wie de nsec — tikje op jo nym, dan “Reveal dizze nym's privee sleutel en herstel koade”. nsec Op 'e eardere hâldt jo jo post-quantum sleutel net opnieuw op - dat is krekt de reden dat it wurket - dus as gjin apparaat dat koade hâldt en jo gjin kopie hat fan it, wat op it ferdield waard, kin net opnommen wurde. nsec.
  • It kin net beskermje wat de oare kant docht. In ûntfanger kin noch in skermôfbylding meitsje, kopiearje of bewarje in berjocht.

Dit is deselde posysje dy't Signal nimt mei in eigen post-quantum upgrade: reparearje de kaai útwikseling no, omdat dat is it diel in oanfaller kin hannelje op retroaktyf, en behannelje hantekenings as in apart probleem foar wannear't de noarmen ynhelje.

Kontrolearje it wurk

De ML-KEM-implementaasje wurdt testet tsjin de offisjele Test vektoren NIST publisearret Yn FIPS 203De web-applikaasje en de mobile app wurde ek hâlden oan in mienskiplike set fan testvektoren, dat is wat garandearret dat in berjocht skreaun troch ien troch de oare leare kin.

Beide binne Yn Open Source Under de AGPL-3.0, en de builds fan 'e web-app binne reprodusearbere — sjoch ferifiearje in build.

Yn de djippe: Post-Quantum Key Agreement yn Nymchat — in technyske whitepaper oer hoe't de ML-KEM-sleutel wurdt ferdield sûnder in directory, de eksakte konstruksje dy't de twa sleutelbûten kombinearret, en de ûntwerpen dy't wurde ferstoar.