Skip menyang isi
Bali menyang Nymchat

Basis kawruh Ngomong karo wong

Enkripsi tahan kuantum

Pesen pribadi lan obrolan grup antarane pangguna Nymchat bisa dienkripsi supaya sing ngrekam dina iki ora tuku panyerang, sanajan komputer kuantum teka.

Masalah iku solves

Enkripsi Nostr biasa - NIP-44, kang apa pesen pribadi lan grup chatting dibangun ing - duwe rong bagian. Setengah iku bener scrambles teks (ChaCha20, HMAC-SHA256, HKDF) tahan karo kuantum komputer. Setengah sing setuju ing tombol ora.

Persetujuan kunci kasebut yaiku kurva elliptic Diffie-Hellman ing secp256k1, maths sing padha digunakake Bitcoin. Algoritma Shor ngrampungake kanthi langsung. Sapa wae sing mbukak marang kunci umum mbalekake tombol pribadi, lan karo saben rahasia sambungan sing tombol tau diprodhuksi.

Panen saiki, dekripsi mengko

Iki dudu masalah sing diwiwiti nalika komputer kuantum teka. Mungsuh karo cukup panyimpenan bisa ngrekam lalu lintas ndhelik dina iki, njagong ing, lan decrypt taun mengko. Apa wae sing sampeyan kirim saiki sing isih penting saiki wis katon. Sing spesifik nyerang fitur iki kalah.

Cara kerjane

Nymchat ndadekake format pesan NIP-44 kanthi lengkap. kesepakatan kunci sing wis digunakake ora disentuh; siji pisanan, independen ditambahake.

  • standar secp256k1 ECDH, persis kaya sadurunge;
  • ML-KEM-768, algoritma post-kuantum NIST standar minangka FIPS 203. Keamanan kasebut ana ing masalah kisi, sing algoritma Shor ora didemek.

Dhèwèké iku Tembung, ora dicampurPanggonan iki dienkripsi karo NIP-44 kanthi akurat minangka iku, lan teks cipher lengkap iki banjur ditutup ing lapisan pasca-quantum - ChaCha20-Poly1305, ditutupi saka rahasia umum ML-KEM. Kunci pengirim, kunci penerima, teks cipher encapsulation lan kunci ML-KEM penerima diikat ing derivasi kasebut minangka konteks, supaya lapisan ora bisa diangkat saka salah siji pertukaran lan diputer ing liyane.

A kombinator kayata X-Wing utawa Signal's PQXDH nggabungake kedhaftar rahasia dadi satu kunci ing ndhuwur. Nymchat ora, lan alasan iku praktis luwih saka cryptographic: mixing kudu output ECDH raw, lan ekstensi browser utawa signer remote bakal ora ngirimake iku balik - iku ngirim teks cipher lengkap, kang iku kabeh titik ngandhutake kunci ing ngendi aplikasi ora bisa ngakses. Layering nyimpen NIP-44 kabeh lan diprodhuksi dening apa sing ngandhutake kunci identitas, signer kalebu, supaya logins iku peserta biasa lan ora sing dikecualikan.

Properti penting iku padha: hasil punika Paling kuat minangka setengah kuatBaca pesan iku nggawé liwat kedhaftar lapisan. yen kriptografi lattice ndadekake luwih lemah saka ditunggu-tunggu, njaluk ML-KEM mung nguripake lapisan luar lan ndadekake NIP-44 saiki ing ngisor iki. yen secp256k1 ndadekake menyang komputer kuantum, lapisan internal mbukak nanging lapisan luar ora.

Saben pesen entuk ijol-ijolan pasca-kuantum sing anyar, mula mbalekake siji kunci pesen kasebut apa-apa bab liyane.

Setengah-setengah post-quantum kudu kunci dhewe, lan ngendi kunci iki datang iku apa sing ngluwihi yen kabeh iku layak apa-apa. ora Dheweke dadi karya saka nsecKomputer kuantum sing ngluwihi setengah klasik njaluk nsec saka kunci publik, lan apa-apa sing diwenehi saka nsec ing formulir diterbitake muncul karo iku - dua kunci dibuka dening siji break. Kode Post-Quantum kanggo saben akun, siji, saka bytes acak sing ora ngetokake nilai publik. nympq1… Dheweke bakal ndhuwur karo sampeyan. nsec ing rincian Nym, diwenehi lan disalin ing cara sing padha. iku ora password lan ora login kedhaftar: iku bahan utama sampeyan bisa nyimpen, uga kaya nsec.

Ora ana sing kudu diuripake

Iki dudu setelan. Enkripsi post-kuantum mung carane Nymchat ngomong karo Nymchat, ing cara sing padha enkripsi biasa iku carane ngomong karo kabeh liya. Iku ditrapake kanthi otomatis kanggo saben pesen pribadi lan grup chatting karo panganggo Nymchat liyane.

Settings › Privasi & Keamanan nuduhake yen aktif lan sawetara kontak sampeyan saiki njaluk, nanging mung minangka informasi - ora ada switch.

A browser-extension (NIP-07) utawa remote-signer (NIP-46) login ora ngirim kunci identitas sampeyan kanggo app, kang iku kabeh titik nggunakake siji - lan ora kudu. Dua setengah saka enkripsi disingkirake: signer sampeyan nggunakake bagian iku wis pernah nggunakake, lan app nggunakake bagian post-quantum karo kode pemulihan, kang ndeleng langsung. ekstensi lan login remote-signer iku peserta biasa ing loro arah. garis status ing Settings ngandika apa sing digunakake kanggo sampeyan.

Apa-apa sing sampeyan wis wis wis terpengaruh. saben pesan ing riwayat sampeyan tetep bisa dibaca ing kabeh piranti tanpa apa-apa kecuali nsecTiyang-tayang, lan iku iku ing wektu iki, lan iku iku ing wektu iki. nympq1… kode pemulihan iku materi kuantum-resistant ditulis saka saiki: pesan anyar, lan pengaturan sinkronisasi lan arsip sing ngliwati karo loro.

Jadi piranti kudu nyimpen kode iki sadurunge bisa buka, lan nyimpen piranti ora njaluk satu langkah tambahan. nympq1… kode saka piranti sing wis ana. iku siji per piranti, ora siji per login. Langkah iki ora friksi kita gagal kanggo nghapus: kode sing bisa mbukak ing piranti anyar kanthi dhewe bakal kudu travel ing ing pesan biasa, lan piranti iku tepat apa penyerang fitur iki ana kanggo nghenti rekaman. Langkah iku alasan perlindungan iku nyata.

Aplikasi iki ngasilake nympq1… kode kanggo sampeyan, supaya ora ana apa kanggo milih lan ora apa kanggo ngincipake. kanggo nonton iku: ketuk nym kanggo buka View or Edit rincian saka NymDheweke bakal Nglumpukake kunci pribadi nym iki lan kode pemulihanDheweke langsung ing ngisor iki nsecSampeyan ora kudu nyimpen babagan iki nganti dina sampeyan nambah piranti kedua.

Ing wektu iki, piranti unlinked ora diblokir. iku terus ngandika kabeh sing ditulis ing enkripsi sadurunge lan terus ngirim normal, lan nalika sampeyan nyambungake, iku mbukak lan mbukak pesan kuantum-resistant sing ora bisa dibaca sadurunge.

Peralatan liyane

Perangkat kedhaftar kudu dua hal: versi saiki saka aplikasi, lan nympq1… code. Build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-build-bu

Sing njaluk karo

Tiyang-tiyang dibutuhake. saben klien Nymchat ngirim iklan sing ditandatangani, sing kadharan sing ngandika, lan kalebu kunci post-quantum nalika duwe siji. Ngandhutake iklan sing valid kanggo wong iku apa sing nggunakake app nggunakake pertukaran sing luwih kuat karo loro. Ana ora negosiasi kanggo ngganggu: utawa kunci iku ana utawa ora, lan amarga pengumuman ditandatangani dening pengarang, kunci pengganti bakal kudu diwenehi lan ora mung diwenehi.

Apa sawijining penyerang sing ngontrol relay Bisa Do iku nyimpen pengumuman, supaya pengirim ora ndeleng kunci lan ndadekake menyang enkripsi biasa. Yang patut diwenehi jelas. Dheweke biaya perlindungan post-quantum kanggo pesan-pesan iki; iku ora bisa nggawe siji ora bisa dibaca, lan iku ora bisa nggawe sampeyan njaluk kunci sing ora kanggo sampeyan. Klien njaluk sawetara relay, supaya suppressing iku njupuk kontrol saka kabeh loro.

Panggonan-panggonan iki ngluwihi seminggu lan nyedhiyakake saben dina nalika sampeyan nggunakake app. Yen sampeyan ora luwih akeh, lan sampeyan njaluk minangka klien Nostr biasa kanggo sesawi: pesan sing dikirim menyang sampeyan ing gap iki dienkripsi cara normal lan ora cara kuantum-resistant.

Wong liya tetep kerja kaya sadurunge. Bitchat user lan klien liyane Nostr njaluk standar NIP-17Ing ngisor iki, ora ana apa-apa lan ora ana apa-apa ing Nymchat.

Pesen post-kuantum ngganteni sing standar tinimbang dikirim bebarengan. Ngirim loro-lorone ora ana gunane: panyerang mung bakal ngilangi salinan sing luwih lemah.

Salinan ditujokake kanggo kowe entuk uga - sing diwaca piranti liyane, yaiku arsip konco iku, lan setelan diselarasake, kang lelungan cara sing padha lan nindakake Panjenengan dhaptar obrolan, tombol grup lan riwayat pesen sampeyan. Ninggalake samubarang sing lawas enkripsi bakal nggawe wong sing paling lemah sing sampeyan simpen: bisa diwaca dening sapa wae sing ngilangi kriptografi saiki, ora ketompo carane ati-ati pesen kasebut disegel.

Tetep bisa diwaca dening Bitchat

Bitchat ora bisa maca format pesen Nymchat, supaya historis Nymchat dikirim salinan kapindho saben pesen ing format Bitchat kanggo sapa wae sing bisa nggunakake - kang, kanggo wong sampeyan wis tau krungu saka, temenan everyone.

Pawarta ing ndhuwur ndadekake pangira-ira iku ora perlu. Yen wong wis nerbitake siji, iku mlaku Nymchat, supaya salinan Bitchat dropped lan mung pesen kuwat dikirim. Yen padha wis ora, boten diganti: padha isih nampa loro format, persis kaya sadurunge, supaya boten sampeyan ngirim bisa dadi ora bisa diwaca amarga app guess salah babagan klien sing digunakake.

Kaya enkripsi dhewe, iki otomatis lan ora ana setelan.

Apa ora mung guess saka kegiatan umum

Nymchat bisa nyimpulake sapa sing mlaku saka kegiatan saluran umum, lan bakal ditemokake wong luwih cepet. Nanging kesimpulan kasebut sok-sok salah, lan salah ing kene tegese ngirim wong pesen app sing ora bisa mbukak, tanpa kesalahan lan ora nyoba maneh. A diterbitake woro-woro ditandatangani dening penulis lan ora bisa palsu, supaya digunakake tinimbang.

Ing obrolan grup

Pesen grup wis dienkripsi kanthi kapisah kanggo saben anggota, supaya klompok bisa nyampur loro jinis kasebut bebas - anggota sing klien ndhukung iku njaluk enkripsi kuwat, liyane njaluk standar siji, lan grup dianggo biasane salah siji cara.

Amarga iku, pesen grup mung ditandhani kuantum-tahan nalika saben anggota ditampa kanthi cara kasebut. Yen malah siji salinan nggunakake ijol-ijolan standar, salinan kasebut padha pesen, supaya pesen sakabèhé mung dilindhungi minangka salinan paling lemah. App ngandika "tahan kuantum kanggo 8 saka 10 anggota" tinimbang dibunderaké.

Obrolan grup uga tetep muter tombol siji-wektu, sing ndhelikake sapa sing ana ing grup saka sapa wae sing nonton relay. Perlindhungan kasebut ora kena pengaruh lan kerjane persis kaya sing ditindakake.

Maca lencana

Tiap pesan pribadi lan grup nglakoni pesan cilik tameng Piyambakipun nglakokake tanda-tanda sing padha nglakokake tanda-tanda.

TandhaniTegese
gembokSapa sing ngirim - apa tandha cocog karo penulis sing diklaim.
tamengWektu-resistant. Wektu-wektu nduweni kode post-quantum dhewe, lan pertukaran hybrid digunakake kanggo saben salinan pesan iki.
Perisai sing nggegirisiPartly quantum-resistant - pesan grup mung sawetara anggota njaluk salinan sing dilindungi.Karena wong-wong liyane nglakoni teks sing padha, nglakoni pesan minangka konvensional enkripsi total.
Ngluwihi perisai lan perisaiStandar enkripsi NIP-44 - uga end-to-end enkripsi, lan isih ora bisa dibaca kanggo siapapun nanging peserta saiki.
Ora ana tamengPanggonan saluran publik bisa dibaca ing relay kanthi desain, supaya ora ana tanda enkripsi digunakake.

A tanda mungkasi bakal ambigu - iku uga bisa ngarti “non-quantum-resistant”, “it build is too old”, utawa “indicator wis rusak” - lan indikator keamanan sing ora bisa dipisahake saka sing rusak ora ngandika apa-apa.

Iki dumunung ing ndhuwur padlock lan ora nggantiake amarga kedhaftar nganggur pertanyaan sing beda, lan pesan bisa siji tanpa liyane - kuantum-resistant nanging saka pengirim sing ora dikonfirmasi, utawa dikonfirmasi nanging konvensional dikripsi.

Mesej-mesej tua nglakoni perisai-perisai kanthi permanen. Apa-apa sing dikirim sadurunge sawetara pihak ana ing build-resistant quantum wis ditutup karo pertukaran konvensional, lan sing ciphertext wis ana ing relay - iku ora bisa ditutup ulang sawise fakta.

Apa sing ora ditindakake

Iki nglindhungi isi saka pesen sampeyan. Iku ora nggawe saben bagean saka Nostr kuantum-bukti, lan iku worth kang pas bab prabédan.

  • Teken isih secp256k1. Nostr identitas mlebu karo Schnorr ing kurva padha. Mungsuh sing wis duwe komputer kuantum bisa forge a teken lan impersonate wong ing wektu nyata. Apa ijol-ijolan hibrida mandheg maca lalu lintas sing direkam - rahasia, ora otentikasi.
  • Dheweke ora duwe rahasia maju. Kabeh kunci sing langgeng: NIP-44 njupuk kunci saka nsecIng ngisor iki, ing ngisor iki, ing ngisor iki, ing ngisor iki, ing ngisor iki, ing ngisor iki. nympq1… Kode. saben pesan njaluk encapsulation anyar, supaya kunci saka salah siji pesan ora ngluwihi liyane - nanging siapa ngluwihi nyimpen kunci jangka panjang iki bisa maca kabeh sing ora njaluk, ora mung apa sing ngluwihi. Panggonan iku ngurangi, lan iku mengapa fitur iki ditargetake kanggo ngurangi-saja-decrypt-sampun, lan ora kanggo kunci sing njaluk.
  • Metadata ora owah. A relay isih weruh sing acara wis ono kanggo tombol, lan kira-kira nalika. Sing ditangani dening bungkus hadiah lan tombol siji-wektu, ora dening iki.
  • Bluetooth mesh ora ditutupi. Panggonan sing diwenehi lan mesh ing ing sesi Noise XX, kang kuat, encryption saiki nanging pertukaran kunci klasik - supaya iku ora ngangkut lapisan post-quantum, uga antarane loro pengguna Nymchat. badge ngandhutake iki: pesan sing dikirim liwat mesh ora ditandhingake kuantum-resistant. Ngandhutake iku berarti ngganti handshake dhewe, sing kedhaftar bakal kudu kanggo nggunakake ing wektu sing padha, tanpa relay kanggo mbukak balik liwat lan nalika tetep bisa dibaca dening Bitchat.
  • Kode pemulihan iku hal kedua kanggo nyimpen. Dheweke wiwit karo nympq1 Dheweke bakal nemokake ing Rincian saka NymPanjenenganipun, ing panjenenganipun nsec — ketuk nym, banjur “Deklarasikan kunci pribadi nym iki lan kode pemulihan”. nsec ing ndhuwur ora rebuild post-quantum kunci sampeyan - ya iku tepat mengapa iku kerja - supaya yen ora ada piranti nglakoni kode sing lan sampeyan ora duwe salinan saka iku, apa sing ditutup kanggo iku ora bisa dibuka lagi. nsec.
  • Ora bisa nglindhungi apa sing ditindakake dening pihak liya. Panampa isih bisa screenshot, nyalin utawa nyimpen pesen.

Iki posisi sing padha Sinyal njupuk karo upgrade post-kuantum dhewe: ndandani ijol-ijolan tombol saiki, amarga sing bagean panyerang bisa tumindak retroactively, lan nambani teken minangka masalah kapisah kanggo nalika standar nyekel munggah.

Priksa karya

Implementasi ML-KEM diuji kanthi resmi Test vektor NIST diterbitake kanggo FIPS 203Aplikasi web lan aplikasi seluler uga ditahan kanggo serangkaian vektor test, kang iku apa jaminan pesan ditulis dening siji bisa dibaca dening liyane.

Iki kedhaftar Open sumber ing AGPL-3.0, lan builds saka aplikasi web bisa diputarake — ndeleng verifikasi mbangun.

Ing ngisor iki: Post-Quantum Key Agreement ing Nymchat - kertas putih teknis babagan cara kunci ML-KEM diwenehi tanpa direktori, konstruksi akurat sing nggabungake dua pertukaran kunci, lan desain sing ditolak.