Batayan ng kaalaman Nakikipag-usap sa mga tao
Quantum-resistant encryption
Maaaring ma-encrypt ang mga pribadong mensahe at panggrupong chat sa pagitan ng mga user ng Nymchat na ang pagre-record sa kanila ngayon ay walang binibili sa isang umaatake, kahit na minsan dumating ang mga quantum computer.
Ang pahinang ito ay isinalin sa makina para sa kaginhawahan. Ang orihinal na Ingles ay ang bersyon na naaangkop.
Ang problemang nalulutas nito
Ordinaryong Nostr encryption — NIP-44, na kung ano mga pribadong mensahe at mga group chat ay binuo sa - may dalawang halves. Yung kalahati aktwal na nag-aagawan ng teksto (ChaCha20, HMAC-SHA256, HKDF) ay humahawak ng maayos laban sa isang quantum kompyuter. Ang kalahati na sumasang-ayon sa susi ay hindi.
Ang pangunahing kasunduan na iyon ay elliptic-curve Diffie-Hellman sa secp256k1, ang parehong matematika na ginagamit ng Bitcoin. Ang algorithm ni Shor ay malulutas ito nang direkta. Ang sinumang magpapatakbo nito laban sa isang pampublikong susi ay mababawi ang pribadong key, at kasama nito ang bawat nakabahaging lihim na ginawa ng susi.
Hindi ito isang problema na magsisimula kapag dumating ang mga quantum computer. Isang kalaban na may sapat ang imbakan ay maaaring magtala ng naka-encrypt na trapiko ngayon, umupo dito, at i-decrypt ito pagkalipas ng ilang taon. Ang anumang ipapadala mo ngayon na mahalaga pa rin noon ay nalantad na. Iyon ang tiyak atake ang tampok na ito ay natalo.
Paano ito gumagana
Ang Nymchat ay humihingi ng NIP-44 na format ng mensahe na ganap na lamang. Ang key agreement na ito ay gumagamit na ngayon ay untouched; isang ikalawang, independiyenteng isa ay idinagdag sa paligid nito. Kaya mayroong dalawang key exchanges per message sa lugar ng isa:
- ang pamantayan secp256k1 ECDH, eksakto tulad ng dati;
- ML-KEM-768, ang post-quantum algorithm na NIST ay na-standardize bilang FIPS 203. Ang seguridad nito ay nakasalalay sa mga problema sa sala-sala, na hindi hinahawakan ng algorithm ni Shor.
Ang dalawang ito ay Piliin, hindi na mixedAng mensahe ay na-encrypt na may NIP-44 na katulad nito, at ang na-finished encryption text ay pagkatapos na-sealed ang isang ikalawang beses sa loob ng post-quantum layer — ChaCha20-Poly1305, keyed mula sa ML-KEM shared secret. Ang key ng sender, ang key ng recipient, ang encapsulation encryption text at ang ML-KEM key ng recipient ay bundok sa derivation na ito bilang konteksto, kaya ang isang layer ay hindi maaaring i-lift mula sa isang exchange at i-replay sa ibang.
Ang isang combiner tulad ng X-Wing o Signal's PQXDH ay sumali ang parehong mga sekreto sa isang key sa halip. Ang Nymchat ay hindi, at ang dahilan ay praktiko kaysa sa cryptographic: mixing kailangan ang raw ECDH output, at ang isang extension ng browser o remote signer ay hindi magbigay na back - ito ay bumalik ng isang nakalipas na encryption, na kung saan ay ang buong punto ng pagmamay-ari ng key kung saan ang app ay hindi makakuha ng ito.
Ang mahalagang property ay pareho sa parehong paraan: ang resulta ay at malapit na ding maging isang trahedyaAng pag-read ng mensahe ay nangangahulugan upang pumunta sa pamamagitan ng dalawang layer. Kung ang cryptography ng lattice ay lumilitaw na mas mababa kaysa sa inaasahan, pag-atake ng ML-KEM lamang ay nagdiriwang ang outer layer at humihingi ng kasalukuyang NIP-44 sa ilalim. Kung ang secp256k1 ay bumaba sa isang quantum computer, ang interior layer ay buksan ngunit ang outer one ay hindi.
Ang bawat mensahe ay nakakakuha ng isang bagong post-quantum exchange, kaya ang pagbawi ng susi ng isang mensahe ay nagpapakita wala tungkol sa iba.
Ang post-quantum halimbawa ay kailangan ng isang key ng kanyang sarili, at kung saan ang key na ito ay dumating ay kung ang buong bagay ay mahalaga ng anumang bagay. hindi nagtatrabaho mula sa iyong nsecA quantum computer that breaks the classical half recovers your
nsec sa iyong public key, at ang lahat na derived mula sa nsec sa pamamagitan ng isang na-publish na formula ay dumating sa kanya — dalawang locks na buksan sa pamamagitan ng isang break. So Nymchat generates a separate lock Paglalarawan ng Post-Quantum Code para sa bawat account, isang beses, mula sa random bytes na walang public value exposes. nympq1… Ikaw ay tumutulong sa iyong nsec Ito ay hindi isang password at hindi isang ikalawang login: ito ay isang pangunahing materyal na maaari mong i-save, parehong tulad ng ang nsec.
Walang mai-on
Ito ay hindi isang setting. Ang post-quantum encryption ay kung paano nakikipag-usap ang Nymchat kay Nymchat, ang parehong paraan ang ordinaryong pag-encrypt ay kung paano ito nakikipag-usap sa lahat ng iba pa. Awtomatikong nalalapat ito sa bawat pribadong mensahe at panggrupong chat sa isa pang gumagamit ng Nymchat.
Settings › Privacy & Security ay nagpapakita kung ito ay aktibo at kung paano ang iyong mga contact na ito kasalukuyang makakuha, ngunit lamang bilang impormasyon - walang switch.
Ang isang browser-extension (NIP-07) o remote-signer (NIP-46) login ay hindi gumagawa ng iyong identity key sa app, na kung saan ay ang buong punto ng paggamit ng isa - at ito ay hindi kailangang. Ang dalawang bahagi ng encryption ay itinatag: ang iyong signer ay gumagawa ng bahagi na ito ay nangangailangan, at ang app ay gumagawa ng post-quantum bahagi na may iyong recovery code, na kung saan ito ay itinatag nang direkta.
Ang lahat ng mensahe sa iyong kasaysayan ay matatagpuan sa lahat ng device na walang iba sa iyong nsecPero kapag nalaman niyang nakilala mo siya dahil binasa mo ang diary... get ready for the consequences. nympq1… Recovery code ay ang quantum-resistant na materyal na itinatag mula ngayon: mga bagong mensahe, at ang mga sinynchronized setting at archive na naglalakbay sa kanila.
Kaya ang isang aparato ay dapat magtatag ng code na ito bago ito ay maaaring i-open ang mga ito, at ang pagdaragdag ng isang aparato ngayon ay nangangailangan ng isang extra step. nympq1…
Code mula sa isang device na may ito na ngayon. Ito ay isang beses sa bawat device, hindi isang beses sa bawat login. Ang step na ito ay hindi ang friction na hindi natagpuan: isang code na maaaring pumunta sa isang bagong device sa pamamagitan ng sarili ay dapat pumunta dito sa loob ng isang regular na mensahe, at ang mensahe na ito ay eksaktong kung ano ang ang attacker na ito feature ay mag-atake ay nag-record.
Ang app ay gumagawa ng nympq1… code para sa iyo, kaya walang bagay upang piliin at walang bagay upang i-invent. upang makita ito: i-tap ang iyong nym upang i-open Tingnan o i-edit ang mga detalye ng NymAt pagkatapos
I-reveal ang private key at recovery code ng itoIto ay matatagpuan sa ilalim ng iyong nsec, na may parehong ipakita at kopya mga buttons. Hindi mo na kailangang mag-iisip tungkol dito hanggang sa araw na i-add ang isang ikalawang device.
Ang isang unlinked device ay hindi locked out sa pagitan na ito ay patuloy na mag-read ang lahat na itinuturing sa ilalim ng mga nakaraang encryption at patuloy na mag-send normal, at kapag nag-link ito, ito ay bumalik at buksan ang mga mensahe na resistant sa quantum na ito ay hindi maaaring mag-read bago.
Ang isang second device ay kailangan ng dalawang bagay: isang kasalukuyang bersyon ng app, at ang
nympq1… Code. Ang isang lumang build ay patuloy na gumagana — ito ay hindi na-cut off — ngunit ito ay hindi maaaring i-read ang kasalukuyang format, kaya habang ito ay pa rin sa account ang mga kopya na ibinigay mo para sa iyong sarili ay bumalik sa isang lumang ito ay maaaring. Ang isang up-to-date na device na hindi na nakipag-link ngunit mag-read ang iyong lumang kasaysayan at nag-iisip para sa code. Walang maaaring sabihin sa amin na ito ay mayroon, kung bakit ito ay isang admonition hindi isang bagay na natagpuan para sa iyo.
Kung kanino mo ito makukuha
Ang bawat Nymchat client ay nag-publish ng isang maliit na-signing, na-expirate na ad sa sinabi na ito, at naglalaman ng kanyang post-quantum key kapag ito ay may isa. Magkaroon ng isang katumbas na ad para sa isang tao ay kung ano ang gumagawa ng app na gamitin ang mas mataas na exchange sa kanila. Walang negosyo upang i-interfere sa: o ang key ay doon o ito ay hindi, at dahil ang ad ay ibinigay sa pamamagitan ng kanyang awtor, ang isang substitutong key ay dapat na binubuo at hindi lamang ibinigay.
Ano ang isang attacker na kontrolin ang isang relay ang can Do ay i-retract ang mga mensahe, kaya ang pagpapadala ay hindi makikita ng isang key at bumalik sa normal na encryption. Ito ay kailangan upang sabihin nang malinaw. Ito ay nagkakahalaga ng post-quantum protection para sa mga mensahe na ito; ito ay hindi maaaring gumawa ng isang unreadable, at ito ay hindi maaaring gawin ka mag-akcept ng isang key na hindi iyong. Mga kliyente ay nag-iisip ng ilang relays, kaya suppressing ito ay nangangailangan ng kontrol sa lahat ng mga ito.
Kung ikaw ay umalis sa loob ng isang taon na ang nakalipas, ang iyong mga inilabas at ikaw ay nabasa bilang isang normal na Nostr client para sa isang oras: ang mga mensahe na ibinigay sa iyo sa loob ng isang taon na ang nakalipas ay na-encrypted sa normal na paraan kaysa sa quantum-resistant na paraan.
Ang iba ay patuloy na gumagana nang eksakto tulad ng dati. Bitchat ang mga gumagamit at ang anumang iba pang client ng Nostr ay makakuha ng standard NIP-17Walang pagkakaiba kung ikaw ay mensahe sa isang tao sa labas ng Nymchat.
Isang post-quantum message pumapalit ang pamantayan sa halip na ipadala sa tabi nito. Ang pagpapadala sa dalawa ay magiging walang kabuluhan: ang isang umaatake ay basta na lamang masira ang mas mahinang kopya.
Ang mga kopya na naka-address sa ikaw kunin din ito — ang nabasa ng iba mo pang device, ang archive sa likod nito, at ang iyong mga naka-sync na setting, na naglalakbay sa parehong paraan at nagdadala ng iyong listahan ng pag-uusap, mga key ng iyong pangkat at kasaysayan ng iyong mensahe. Iniwan ang alinman sa mga iyon sa luma ang pag-encrypt ay gagawin silang pinakamahinang bagay na iniimbak mo: nababasa ng sinumang masira kriptograpiya ngayon, gaano man kaingat ang mga mensahe sa kanilang sarili ay selyado.
Manatiling nababasa ng Bitchat
Hindi mabasa ng Bitchat ang format ng mensahe ni Nymchat, kaya sa kasaysayan ay nagpadala ang Nymchat ng pangalawang kopya ng bawat mensahe sa format ng Bitchat sa sinumang maaaring gumagamit nito — na, para sa isang tao hindi mo pa narinig mula sa, ang ibig sabihin ng lahat.
Ginagawa ng anunsyo sa itaas na hindi kailangan ang paghula. Kung may nag-publish ng isa, sila ay nagpapatakbo ng Nymchat, kaya ang kopya ng Bitchat ay ibinaba at ang mas malakas na mensahe lamang ang ipinadala. Kung sila hindi pa, walang nagbago: natatanggap pa rin nila ang parehong mga format, eksakto tulad ng dati, kaya wala ang ipinadala mo ay maaaring maging hindi nababasa dahil mali ang hula ng app kung aling kliyente ang ginagamit ng isang tao.
Tulad ng mismong pag-encrypt, awtomatiko ito at walang setting.
Ang Nymchat ay maaaring magpahiwatig kung sino ang nagpapatakbo ng ano mula sa aktibidad ng pampublikong channel, at makikita nito mas maaga ang mga tao. Ngunit ang hinuha na iyon ay paminsan-minsan ay mali, at ang ibig sabihin ng pagiging mali dito pagpapadala ng mensahe sa isang tao na hindi mabubuksan ng kanilang app, nang walang error at walang subukang muli. Isang nai-publish ang anunsyo ay nilagdaan ng may-akda nito at hindi maaaring peke, kaya ito ang ginamit sa halip.
Sa mga group chat
Ang mga mensahe ng grupo ay naka-encrypt nang hiwalay para sa bawat miyembro, kaya maaaring paghaluin ng isang grupo ang parehong uri malaya — ang mga miyembro na sinusuportahan ito ng mga kliyente ay nakakakuha ng mas malakas na pag-encrypt, ang iba ay nakakakuha ng standard one, at ang grupo ay gumagana nang normal sa alinmang paraan.
Dahil diyan, ang isang mensahe ng grupo ay minarkahan lamang ng quantum-resistant kapag bawat miyembro natanggap ito sa ganoong paraan. Kung kahit isang kopya ang gumamit ng karaniwang palitan, ang kopyang iyon ay may dala mensahe, kaya ang mensahe sa kabuuan ay protektado lamang gaya ng pinakamahina nitong kopya. Ang sabi ng app "quantum-resistant sa 8 sa 10 miyembro" sa halip na pag-ikot.
Ang mga panggrupong chat ay pinapanatili din ang kanilang umiikot na isang beses na key, na nagtatago kung sino ang nasa isang grupo mula sa sinumang nanonood ng relay. Ang proteksyon na iyon ay hindi naaapektuhan at gumagana nang eksakto tulad ng ginawa nito.
Binabasa ang badge
Ang lahat ng private message at group message ay may isang maliit na kalasag Pagkatapos ng pag-aaral, ang mga ito ay nagtatagumpay sa pamamagitan ng pag-aaral.
| Mark | Ibig sabihin |
|---|---|
| Padlock | Sino ang nagpadala nito — kung tumugma ang lagda sa inaangkin na may-akda. |
| kalasag | Quantum-resistant. Ang parehong bahagi ay may post-quantum code ng kanilang sarili, at ang hybrid exchange ay ginagamit para sa bawat kopya ng mensahe na ito. |
| Nabasag na kalasag | Partly quantum-resistant — isang grupo na mensahe lamang ang ilang mga miyembro ay nakuha ng isang protektadong kopya ng. Dahil ang iba pang mga may parehong teksto, tinatanggap ang mensahe bilang conventionally encrypted sa buong. |
| Pagkakaiba sa pamamagitan ng Shield | Ang standard na NIP-44 encryption - pa rin end-to-end na encrypted, at pa rin hindi makikita para sa anumang tao ngunit ang mga participant ngayon. |
| Walang kalasag | Hindi isang encrypted mensahe. Public channel posts ay makikita sa relay sa pamamagitan ng disenyo, kaya walang encryption mark ay gumagamit. |
Ang isang missing mark ay magiging ambiguous - ito ay maaaring katumbas na ibig sabihin “non-quantum-resistant”, “ang build na ito ay mababa”, o “ang indicator ay batay” - at isang security indicator na hindi makikita mula sa isang batay na ito ay hindi sabihin sa iyo ang anumang bagay.
Ito ay matatagpuan sa likod ng padlock at hindi i-substitute ito dahil ang dalawa ay tumugon sa iba't ibang mga tanong, at ang mensahe ay maaaring maging ang isa nang walang ang isa - quantum-resistant ngunit mula sa isang unverified sender, o verified ngunit conventionally encrypted.
Iba pang mga mensahe ay nagbibigay ng isang permanentong scroll-through shield. Anything sent before both sides were on a quantum-resistant build was sealed with the conventional exchange, at na encryption text already exists on the relays — ito ay hindi maaaring re-sealed pagkatapos ng katotohanan.
Ang hindi nito ginagawa
Pinoprotektahan nito ang nilalaman ng iyong mga mensahe. Hindi nito ginagawa ang bawat bahagi ng Nostr quantum-proof, at ito ay nagkakahalaga ng pagiging tumpak tungkol sa pagkakaiba.
- Ang mga pirma ay secp256k1 pa rin. Nostr identity sign na may Schnorr sa parehong kurba. Ang isang kalaban na mayroon nang gumaganang quantum computer ay maaaring magpanday ng a lagdaan at magpanggap bilang isang tao sa real time. Ang hinihinto ng hybrid exchange ay pagbabasa naitalang trapiko — pagiging kumpidensyal, hindi pagpapatunay.
- Walang advance secret. Lahat ng mga key ay long-lived: NIP-44 derives ang kanyang key mula sa iyong
nsec, at ang post-quantum layer encapsulates sa ML-KEM key sa ilalim ng iyongnympq1…Ang bawat mensahe ay makakuha ng isang bagong encapsulation, kaya ang key ng isang mensahe ay hindi buksan ang susunod na - ngunit ang taong nagsisimula sa pagmamay-ari ng mga long-term keys ay maaaring basahin ang lahat na sila ay nangangailangan, hindi lamang kung ano ang dumating pagkatapos. Mga mensahe Reduce, at ito ang dahilan kung bakit ang feature na ito ay tinutukoy sa harvest-now-decrypt-later hindi sa isang key na ginagamit. - Ang metadata ay hindi nagbabago. Nakikita pa rin ng isang relay na ang isang kaganapan ay na-address sa isang susi, at kung kailan. Iyan ay hinahawakan ng pambalot ng regalo at isang beses na susi, hindi ni ito.
- Ang Bluetooth mesh ay hindi naka-cover. Isang mensahe na inilabas sa ang mesh naglalakbay sa loob ng isang Noise XX session, na kung saan ay malakas, kasalukuyang encryption ngunit isang classic key exchange - kaya ito ay hindi naglalaman ng post-quantum layer, kahit na sa pagitan ng dalawang Nymchat mga gumagamit. Ang badge ay nagpapakita ng ito: ang mensahe na ibinigay sa pamamagitan ng mesh ay hindi na-marked na quantum-resistant. Ipasok ito dito ay nangangahulugan sa pagbabago ng handshake mismo, na kung saan ang parehong mga kasamahan ay dapat gawin sa parehong oras, na walang relay upang pumunta sa pamamagitan ng at sa pagiging readable sa pamamagitan ng Bitchat.
- Ang iyong recovery code ay isang ikalawang bagay na patuloy. Nagsimula ito sa
nympq1at makikita mo ito sa Ang mga detalye ng iyong NymSa parehong panel na ang iyongnsec— i-tap ang iyong nym, pagkatapos “I-reveal ang private key ng ito nym at recovery code”.nsecsa kanyang sarili ay hindi rebuild ang iyong post-quantum key - na ito ay ang katotohanan kung bakit ito gumagana - kaya kung walang aparato ay may code na ito at hindi mo may isang kopya ng ito, kung ano ang tinutukoy sa ito ay hindi maaaring i-open din.nsec. - Hindi nito mapoprotektahan ang ginagawa ng kabilang panig. Maaari pa ring mag-screenshot ang isang tatanggap, kopyahin o panatilihin ang isang mensahe.
Ito ang parehong posisyon na kinukuha ng Signal sa sarili nitong post-quantum upgrade: ayusin ang key exchange ngayon, dahil iyon ang bahaging maaaring kumilos nang retroactive ang isang umaatake, at ituring ang mga lagda bilang isang hiwalay na problema para kapag naabutan ang mga pamantayan.
Sinusuri ang trabaho
Ang implementasyon ng ML-KEM ay tested sa opisyal test vectors sa pamamagitan ng NIST para sa FIPS 203Ang web app at ang mobile app ay karaniwang naka-shared sa isang kopya ng test vectors, na kung saan ay garantiyang isang mensahe na napili ng isa ay maaaring read sa pamamagitan ng iba.
ang dalawang Open source ang sa ilalim ng AGPL-3.0, at ang mga build ng web app ay reproductible — tingnan ang pag-verify ng isang build.
Magkakaroon ng deeper: Post-Quantum Key Agreement sa Nymchat — isang teknikal na whitepaper tungkol sa kung paano ang ML-KEM key ay ibinibigay nang walang isang directory, ang eksaktong konstruksiyon na sumali ang dalawang key exchanges, at ang mga disenyo na inihayag.