Preskočite na sadržaj
Nazad na Nymchat

Baza znanja Razgovarati sa ljudima

Šifriranje otporno na kvantnost

Privatne poruke i grupni razgovori između Nymchat korisnika mogu biti šifrirani na taj način da njihovo snimanje danas ne kupuje napadaču ništa, čak ni kada stignu kvantni kompjuteri.

Problem koji rješava

Obična Nostr enkripcija — NIP-44, što je šta privatne poruke i grupni razgovori izgrađeni su na — ima dvije polovine. Pola toga zapravo šifrira tekst (ChaCha20, HMAC-SHA256, HKDF) dobro se drži naspram kvanta kompjuter. Polovina koja se slaže oko ključa ne.

Taj ključni sporazum je eliptična kriva Diffie-Hellman na secp256k1, ista matematika koju Bitcoin koristi. Šorov algoritam to potpuno rješava. Svako ko ga pokrene protiv javnog ključa oporavlja privatni ključ, a sa njim i svaka zajednička tajna koju je taj ključ ikada proizveo.

Žetva sada, dešifriranje kasnije

Ovo nije problem koji počinje kada stignu kvantni računari. Protivnik sa dovoljno skladište može snimati šifrirani promet danas, sjedite na njemu i dešifrirajte ga godinama kasnije. Sve što sada pošaljete što je tada još uvijek važno je već otkriveno. To je specifično napad ove karakteristike porazi.

Kako to radi

Nymchat ostavlja format poruka NIP-44 potpuno sam. Ključni sporazum koji već koristi je netaknut; drugi, nezavisni jedan se dodaje oko njega.

  • standard secp256k1 ECDH, tačno kao i prije;
  • ML-KEM-768, post-kvantni algoritam NIST standardizovan kao FIPS 203. Njegova sigurnost počiva na problemima rešetke, koje Shorov algoritam ne dotiče.

Ova dva su Mješoviti, a ne mešaniPoruka je šifrovana pomoću NIP-44, baš kao što je to uvek bilo, a taj gotov šifrirani tekst zatim je drugi put zapečaćen unutar post-kvantnog sloja – ChaCha20-Poly1305, ključan iz ML-KEM zajedničke tajne. ključ pošiljatelja, ključ primatelja, encapsulation šifrirani tekst i ML-KEM ključ primatelja vezani su u tu derivaciju kao kontekst, tako da sloj ne može biti podignut iz jedne razmjene i reproduciran na drugoj.

Kombinator kao što je X-Wing ili Signal's PQXDH miješa obje tajne u jedan ključ umjesto toga. Nymchat ne, a razlog je praktičan umjesto kriptografski: miješanju je potreban sirovi ECDH izlaz, a proširenje pretraživača ili daljinski potpisnik nikada neće dati to nazad - to vraća gotov šifrirani tekst, što je cela tačka držanja ključa gde aplikacija ne može da dođe do njega.

Važna imovina je ista na bilo koji način: rezultat je barem kao jaka kao jača polovicaČitanje poruke znači proći kroz oba sloja. Ako se kriptografija rešetke pokaže slabijom nego što se očekivalo, razbijanje ML-KEM-a samo obriše spoljni sloj i ostavlja današnji NIP-44 ispod. Ako secp256k1 padne na kvantni računar, unutrašnji sloj se otvara, ali spoljni ne.

Svaka poruka dobija novu post-kvantnu razmjenu, tako da se otkrivanje ključa jedne poruke ništa o ostalima.

Post-kvantna polovica treba svoj ključ, i odakle taj ključ dolazi je ono što odlučuje da li je cela stvar vrijedna nečega. ne Radili su iz vaših nsecKvantno računalo koje razbija klasičnu polovicu oporavlja vaš nsec od vašeg javnog ključa, i sve što proizlazi iz nsec po objavljenoj formuli izlazi s njim – dva zaključaka otvorena jednim prekidom. Post-kvantni kod za svaki nalog, jednom, iz slučajnih bajta koje ne otkriva nikakva javna vrijednost. nympq1… Sedi pored tebe nsec u detaljima vašeg Nym-a, otkriveni i kopirani na isti način.To nije lozinka i nije drugi login: to je ključni materijal koji možete sačuvati, baš kao i nsec.

Nema šta da se uključi

Ovo nije postavka. Post-kvantna enkripcija je jednostavno način na koji Nymchat razgovara sa Nymchatom, tj na isti način uobičajena enkripcija je način na koji razgovara sa svim ostalim. Primjenjuje se automatski na svaka privatna poruka i grupni razgovor sa drugim Nymchat korisnikom.

Postavke › Privatnost i sigurnost pokazuje je li aktivan i koliko vaših kontakata trenutno dostiže, ali samo kao informacije - nema prebacivanja.

Ovo funkcioniše bez obzira na način na koji se prijavite. Prilog za proširenje pretraživača (NIP-07) ili daljinski potpisnik (NIP-46) nikada ne donosi ključ identiteta aplikaciji, što je čitava tačka korištenja jednog – i ne mora. Dve polovine šifriranja se drže odvojeno: vaš potpisnik radi onaj deo koji je oduvek radio, a aplikacija radi post-kvantni deo sa vašim kodom za oporavak, koji drži direktno. Prilog za proširenje i daljinski potpisnik su obični učesnici u oba smjera.

Svaka poruka u vašoj istoriji ostaje čitljiva na svakom uređaju sa samo vašim nsec, baš kao i ranije, i ostaje na taj način za život računa. nympq1… Recovery Code je kvantno otporan materijal napisan od sada: nove poruke, i sinhronizovane postavke i arhiv koji putuju s njima.

Dakle, uređaj mora držati taj kod prije nego što ih može otvoriti, a dodavanje uređaja sada zahtijeva jedan dodatni korak. nympq1… kod iz uređaja koji ga već ima. To je jednom po uređaju, a ne jednom po prijavi. Taj korak nije trenje nismo uspeli ukloniti: kod koji bi mogao doći na novi uređaj sam morao bi da putuje tamo unutar obične poruke, a ta poruka je upravo ono što napadač ova funkcija postoji da zaustavi je snimanje.

Aplikacija generira nympq1… kod za vas, tako da nema ništa izabrati i ništa izmisliti. da ga vidite: dodirnite svoj nim da biste otvorili Pogledajte ili uredite Nym's DetaljiTada Otkrijte ovaj nym privatni ključ i kod za oporavakSedi neposredno ispod vašeg nsec, sa istim prikaz i kopiranje dugmad. Nikad ne morate razmišljati o tome do dana kada dodate drugi uređaj.

U međuvremenu, neovezan uređaj nije zaključan. On čita sve što je napisano pod starijim šifrovanjem i nastavlja da šalje normalno, a kada ga povežete, on se vraća i otvara kvantno otporne poruke koje prije nije mogao čitati.

Vaši drugi uređaji

Drugi uređaj treba dvije stvari: trenutnu verziju aplikacije i nympq1… stariji build nastavlja da radi – ne prekida se – ali ne može da pročita trenutni format, tako da dok je još na nalogu kopije koje čuvate za sebe padaju natrag na stariji koji može.

Sa kim ga dobijete

Obe strane to trebaju. Svaki Nymchat klijent objavljuje mali potpisan, isteka oglas rekavši tako, i uključuje svoj post-kvantni ključ kada ima jedan. Držeći valjan oglas za nekoga je ono što čini aplikacija koristi jaču razmjenu s njima. Nema pregovora da se meša: ili ključ je tu ili nije, i zato što je oglas potpisan od strane svog autora, zamijenjen ključ bi trebao biti krivotvoren, a ne samo poslužen.

Koji napadač kontrolira relaj može to je zadržavanje najave, tako da pošiljatelj nikada ne vidi ključ i pada natrag na uobičajeno šifrovanje. To je vrijedno jasno reći. To košta post-kvantnu zaštitu za te poruke; to ne može učiniti jednu nečitljivu, i to ne može učiniti da prihvatite ključ koji nije vaš. Klijenti traže nekoliko prenosa, tako da suzbijanje preuzima kontrolu nad svim njima.

Te objave traju nedelju dana i osvežavaju se svakodnevno dok koristite aplikaciju. Ako ste daleko duže od toga, vaši propusti i vi ste čitali kao običan Nostr klijent za neko vreme: poruke poslate vama u toj praznini su šifrirane na normalan način, a ne na kvantno otporan način. Oni i dalje stižu, a vi ih još uvijek možete pročitati – i ništa što ste ranije primili nije pogođeno. Otvaranje aplikacije ponovno objavljuje vašu obaveštenje, a jače šifriranje se nastavlja samo po sebi.

Svi ostali rade kao i prije. Bitchat korisnici i bilo koji drugi Nostr klijent dobijaju standard NIP-17, nepromijenjena. ništa se ne slomi kada poručite nekome izvan Nymchat.

Post-kvantna poruka zamjenjuje standardni, a ne da se pošalje uz njega. Slanje oba bi bilo besmisleno: napadač bi jednostavno razbio slabiju kopiju.

Kopije adresirane na ti nabavite ga i – onaj koji čitaju vaši drugi uređaji arhivu iza njega i vaše sinhronizovane postavke, koje putuju na isti način i nose vaše lista razgovora, vaših grupnih ključeva i historije poruka. Ostavljajući sve na starom enkripcija bi ih učinila najslabijom stvari koju pohranjujete: čitljivim za svakoga ko provali današnjoj kriptografiji, bez obzira koliko pažljivo su same poruke bile zapečaćene.

Ostanite čitljivi od Bitchata

Bitchat ne može pročitati Nymchatov format poruke, pa je istorijski Nymchat poslao drugu kopiju svaku poruku u Bitchatovom formatu svakome ko je možda koristi — što, za nekoga nikad nisi čuo, mislio na sve.

Gornja najava čini to nagađanje nepotrebnim. Ako je neko objavio, onda je pokreće Nymchat, tako da se kopija Bitchata ispušta i šalje se samo jača poruka. Ako oni nisu, ništa se nije promijenilo: i dalje primaju oba formata, kao i prije, dakle ništa koje pošaljete može postati nečitljivo jer je aplikacija pogrešno pogodila kojeg klijenta neko koristi.

Kao i samo šifrovanje, ovo je automatsko i nema podešavanja.

Zašto ne nagađati iz javnih aktivnosti

Nymchat bi mogao zaključiti ko čime upravlja iz aktivnosti javnog kanala, i to bi uočio ljudi ranije. Ali taj zaključak je povremeno pogrešan, a pogriješiti ovdje znači slanje poruke nekome da se njihova aplikacija ne može otvoriti, bez greške i bez ponovnog pokušaja. A objavljeno Saopštenje je potpisano od strane autora i ne može se lažirati, pa se koristi umesto njega.

U grupnim razgovorima

Grupne poruke su već šifrirane zasebno za svakog člana, tako da grupa može miješati obje vrste slobodno — članovi čiji klijenti to podržavaju dobijaju jaču enkripciju, ostali dobijaju standardni, a grupa radi normalno u oba smjera.

Zbog toga je grupna poruka označena kao kvantno otporna samo kada svaki član primio na taj način. Ako je čak i jedna kopija koristila standardnu razmjenu, ta kopija nosi isto poruke, tako da je poruka u cjelini zaštićena samo onoliko koliko je zaštićena njena najslabija kopija. Aplikacija kaže "kvantno otporan na 8 od 10 članova" umjesto zaokruživanja.

Grupni razgovori također zadržavaju svoje rotirajući jednokratni ključevi, koji skrivaju ko je u grupi od bilo koga ko gleda štafetu. Ta zaštita je nepromijenjena i radi upravo onako kako je radila.

Čitanje značke

Svaka privatna poruka i poruka grupe nosi malu poruku štit uz padlock. dodirivanje bilo koje oznake objašnjava ono što pokazuje.

MarkZnačenje
KatanacKo ga je poslao – da li se potpis poklapa sa autorom koji se tvrdi.
ŠtitObje strane su držale svoj post-kvantni kod, a hibridna razmjena je korišćena za svaku kopiju ove poruke.
Isprekidani štitDelimično kvantno otporna – grupa poruka samo neki članovi primili zaštićenu kopiju.
Struck-through štitStandardna NIP-44 enkripcija – još uvek od kraja do kraja šifrirana, i još uvek nečitljiva za bilo koga osim učesnika danas.
Nema štitaJavni postovi kanala su čitljivi na prenosu po dizajnu, tako da se ne primjenjuje oznaka šifriranja.

Znak koji nedostaje bi bio dvosmislen - to bi isto tako moglo značiti “ne kvantno otporan”, “ ova konstrukcija je previše stara”, ili “indikator je slomljen” - i sigurnosni indikator koji se ne može razlikovati od slomljenog ne govori vam ništa.

Ona sjedi pored poklopca, a ne da ga zamijeni, jer dva odgovaraju na različita pitanja, a poruka može biti jedna bez druge - kvantno otporna, ali od nepotvrđenog pošiljatelja, ili provjerena, ali konvencionalno šifrirana.

Starije poruke trajno drže štit. Sve što je poslato pre nego što su obje strane bile na kvantno otpornoj konstrukciji bila je zapečaćena konvencionalnom razmjenom, a taj šifrirani tekst već postoji na relejima - ne može se ponovno zapečaćiti nakon činjenice.

Šta ne radi

Ovo štiti sadržaja vaših poruka. Ne čini svaki deo Nostr kvantno dokazan, i vrijedi biti precizan u pogledu razlike.

  • Potpisi su još uvijek secp256k1. Nostr se potpisuje sa Schnor-om na ista kriva. Protivnik koji je već imao ispravan kvantni kompjuter mogao bi krivotvoriti a potpisuje i lažno predstavlja nekoga u realnom vremenu. Ono što hibridna razmjena zaustavlja je čitanje snimljeni promet — povjerljivost, a ne autentifikacija.
  • Ne postoji napredna tajna. Oba ključa su dugotrajna: NIP-44 izvodi svoj ključ iz vašeg nsec, a post-kvantni sloj se inkapsulira u ML-KEM ključ iza vašeg nympq1… Svaka poruka dobija novu enkapsulaciju, tako da ključ jedne poruke ne otvara sledeću - ali ko god na kraju drži te dugoročne ključeve može pročitati sve što su ikada snimili, a ne samo ono što je došlo nakon toga. Ispuštanje poruka smanjiti, i zato je ova funkcija usmjerena na žetvu-sada-dešifriranje-kasnije, a ne na ključ koji se preuzima.
  • Metapodaci su nepromijenjeni. Relej i dalje vidi da je događaj adresiran ključ, i otprilike kada. Time se bavi zamotavanje poklona i jednokratni ključevi, ne od strane ovo.
  • Bluetooth mreža nije pokrivena. Poruka prenesena preko Mješavina putuje unutar Noise XX sesije, koja je jaka, trenutna enkripcija, ali klasična razmjena ključa - tako da ne nosi post-kvantni sloj, čak i između dva Nymchat korisnika. Oznaka to odražava: poruka isporučena preko mreže nije označena kvantnom otpornošću. Dodavanje znači promjenu samog rukovanja, što bi oba vršnjaka morala učiniti u istom trenutku, bez releja koji bi se vratio kroz i dok bi Bitchat ostao čitljiv.
  • Vaš kod za oporavak je druga stvar koju treba zadržati. Počinje sa nympq1 Naći ćete ga u Detalji vašeg Nymna istom panelu kao i vaš nsec — dodirnite svoj nym, a zatim “Otkriti ovaj nym privatni ključ i kod za oporavak”. nsec sam po sebi ne rekonstruiše vaš post-kvantni ključ – to je upravo razlog zašto radi – pa ako nijedan uređaj ne drži taj kod i nemate kopiju, ono što je zapečaćeno na njemu ne može se ponovo otvoriti. nsec.
  • Ne može zaštititi ono što druga strana radi. Primalac i dalje može snimiti ekran, kopirajte ili zadržite poruku.

Ovo je ista pozicija koju Signal zauzima sa sopstvenom post-kvantnom nadogradnjom: popraviti razmenu ključeva sada, jer je to dio na koji napadač može djelovati retroaktivno i tretirati potpise kao a poseban problem kada se standardi sustignu.

Provjera rada

ML-KEM implementacija je testirana protiv službenog test vektor NIST objavljuje za FIPS 203, tako da se provjerava protiv samog standarda, a ne samo protiv sebe. web aplikacija i mobilna aplikacija dodatno se drže zajedničkog skupa test vektora, što je ono što garantuje da poruku koju je napisao jedan može pročitati drugi.

Obojica su otvorenog izvora pod AGPL-3.0, a konstrukcije web aplikacije mogu se reproducirati – vidi provjera izgradnje.

Idemo dublje : Post-kvantni ključni sporazum u Nymchatu – tehnički dokument o tome kako se ML-KEM ključ distribuira bez direktorijuma, točna konstrukcija koja kombinuje dvije ključne razmjene i dizajni koji su odbijeni.