Luncat ka eusi
Balik deui ka Nymchat

Dasar pangaweruh Ngawangkong jeung jalma

Énkripsi tahan kuantum

Pesen pribadi sareng obrolan grup antara pangguna Nymchat tiasa énkripsi kitu nu ngarekam aranjeunna dinten mundut hiji lawan nanaon, sanajan sakali komputer kuantum anjog.

Masalah eta solves

Énkripsi Nostr biasa - NIP-44, anu naon pesen pribadi jeung obrolan grup diwangun dina - boga dua halves. Satengah éta sabenerna scrambles téks (ChaCha20, HMAC-SHA256, HKDF) tahan nepi denda ngalawan kuantum komputer. Satengah nu satuju kana konci henteu.

Éta perjangjian konci téh elliptic-kurva Diffie-Hellman on secp256k1, maths sarua Bitcoin migunakeun. Algoritma Shor ngajawabna langsung. Saha anu ngajalankeun eta ngalawan konci umum recovers nu konci swasta, sarta kalawan eta unggal rahasia dibagikeun yén konci kantos dihasilkeun.

Panén ayeuna, dekripsi engké

Ieu sanés masalah anu dimimitian nalika komputer kuantum sumping. Hiji musuh kalawan cukup gudang bisa ngarekam lalulintas énkripsi kiwari, linggih di dinya, sarta ngadekrip eta taun engké. Naon waé anu anjeun kirimkeun ayeuna anu masih penting teras parantos kakeunaan. Éta spésifik nyerang fitur ieu ngéléhkeun .

Kumaha gawéna

Nymchat ninggalkeun format pesen NIP-44 lengkep. kesepakatan utama nu geus dipaké téh untouched; hiji dua, independen ieu ditambahkeun di sakuliahna. Jadi aya dua pertukaran kunci per pesen badag hiji:

  • standar secp256k1 ECDH, persis sakumaha saméméhna;
  • ML-KEM-768, algoritma pos-kuantum NIST standarisasi salaku FIPS 203. Kaamanan na gumantung kana masalah kisi, anu algoritma Shor henteu keuna.

Anjeunna dua Daptarkeun, teu digabungkeunPanggilan ieu disadiakeun ku NIP-44 sahenteuna kumaha éta pernah jadi, sarta text cipher selesai ieu lajeng disegel pikeun kali kedua dina lapisan post-quantum — ChaCha20-Poly1305, disadiakeun ti ML-KEM parantos rahasia. kunci pengirim, kunci penerima, encapsulation ciphertext na ML-KEM lapisan penerima dikaitkeun kana derivation ieu salaku konteks, jadi lapisan teu bisa diangkat ti hiji pertukaran jeung diputerkeun dina sejenna.

A kombinator kawas X-Wing atawa Signal PQXDH ngagabungkeun duanana rahasia kana hiji kunci badag. Nymchat teu, jeung alesan téh praktis ti cryptographic: mixing kudu output raw ECDH, sarta hiji ekstensi browser atawa signer remote bakal pernah nganteurkeun eta balik - éta ngabalukarkeun text encryption selesai, nu téh sakabéh titik ngabogaan kunci di mana aplikasi teu bisa ngahontal eta. Layering ngajaga NIP-44 sakuliah jeung dihasilkeun ku naon anu ngabogaan kunci identitas, signer kaasup, jadi logins ieu partisipan biasa leuwih ti anu dikecualikeun.

Properti anu penting nyaéta sama-sama: hasilna nyaéta Anjeunna sahenteuna setengah kuatna.Ku kituna, anjeun tiasa nyarioskeun ka anjeun, anjeun tiasa nyarios ka anjeun, anjeun tiasa nyarios ka anjeun, anjeun tiasa nyarios ka anjeun.

Unggal pesen meunang bursa post-kuantum seger, jadi recovering konci hiji pesen urang nembongkeun nanaon ngeunaan batur.

Setengah post-quantum kudu kunci sorangan, jeung mana nu kunci ieu datang nyaéta naon anu ngarti lamun sakabéh hal téh berharga naon. henteu Diwangun ku anjeun nsecKomputer kuantum nu ngéléhkeun setengah klasik ngaronjatkeun nsec ti kunci publik anjeun, jeung naon anu dihasilkeun ti nsec ku formula diterbitkeun datang ku eta — dua locks dibuka ku hiji break. Jadi Nymchat ngahasilkeun hiji Ngeunaan kodeu pikeun unggal akun, hiji kali, ti bytes acak nu teu nilai publik exposes. Ieu dibaca salaku nympq1… Demi sasatoan anu dimaksud nyaéta vertebrata. nsec dina rinci Nym anjeun, diwanohkeun jeung disalin kana cara anu sarua. Ieu teu kata lalampahan jeung teu login kedua: éta bahan utama anjeun tiasa nyimpen, sahenteuna kawas nsec.

Henteu aya anu dihurungkeun

Ieu sanes setelan. enkripsi pos-kuantum téh saukur kumaha Nymchat ceramah Nymchat, éta cara sarua enkripsi biasa nyaeta kumaha eta ngobrol jeung sagalana sejenna. Ieu lumaku otomatis pikeun unggal pesen pribadi sareng obrolan grup sareng pangguna Nymchat anu sanés.

Settings & rssaquo; Privasi & Kaséhatan ngajelaskeun lamun éta aktif jeung sababaraha kontak anjeun ayeuna nampa, tapi ngan salaku inpormasi - teu aya switch.

A browser-extension (NIP-07) atawa remote-signer (NIP-46) login teu ngabalukarkeun kunci identitas anjeun ka app, nu téh sakuliah titik ngagunakeun hiji - na éta teu kudu. Dua setengah tina enkripsi anu disingkirkeun: signer Anjeun ngalakukeun bagian anu pernah dilakukeun, jeung app ngalakukeun bagian post-quantum jeung kode recovery Anjeun, nu anjeunna nyimpen langsung. ekstensi jeung remote-signer logins anu partisipan biasa di dua arah. garis status dina Settings nyebutkeun naon anu diperlukeun ka anjeun.

Sakabéh pesan dina sajarah anjeun tetep bisa dibaca dina unggal alat tanpa kitu tapi anjeun. nsecDemi sasatoan anu dimaksud nyaéta vertebrata, nyaéta vertebrata. nympq1… kode pemulihan nyaéta bahan kuantum-resistant ditulis ti ayeuna: pesan anyar, jeung setelan sinkronisasi jeung arsiték anu jalan ku aranjeunna.

Jadi hiji alat kudu nyimpen kode ieu saméméh bisa buka aranjeunna, jeung nambahkeun hiji alat ayeuna nyandak hiji langkah tambahan. nympq1… kode ti alat nu geus mibanda eta. Ieu hiji kali per alat, teu hiji kali per login. Langkah ieu teu friction urang gagal nyingkahan: kode nu bisa datang dina alat anyar ku sorangan bakal kudu travel aya dina hiji pesen biasa, jeung pesen ieu ngan naon attacker fitur ieu aya pikeun ngéléhkeun éta nyokot. Langkah ieu alasna perlindungan anu nyata.

App ieu ngaronjatkeun nympq1… kode pikeun anjeun, jadi aya naon pikeun milih jeung naon pikeun invent. pikeun ningali eta: tap nym Anjeun pikeun buka Nonton atawa Edit Nym's DetailAnjeunna Ngaronjatkeun nym ieu kunci pribadi jeung kode pemulihanIeu aya di handap anjeun. nsecAnjeun teu kudu pikaresep ngeunaan eta nepi ka dinten anjeun nambahkeun alat kedua.

A alat unlinked teu diblokir di antarana. Ieu terus maca sagala anu ditulis dina enkripsi tua jeung terus ngirim normal, sarta saatos anjeun ngahubungkeun eta, éta balik tur ngajalankeun pesen-resistant nu teu bisa dibaca saméméh.

Alat séjénna

A alat kedua kudu dua hal: versi ayeuna tina aplikasi, jeung nympq1… kode. hiji build tua terus ngoperasikeun - éta teu dipigawé - tapi éta teu bisa maca format ayeuna, jadi bari éta masih dina akun nu salinan Anjeun nyimpen pikeun diri anjeun turun balik ka hiji tua nu éta bisa. A peranti up-to-date nu teu geus dikaitkeun tapi leungit sajarah tua anjeun jeung ngécéskeun pikeun kode.

Saha anjeun meunang eta kalawan

Tiap klien Nymchat publishes hiji kecil ditandatanganan, expiring pamaréntah nyebutkeun eta, sarta ngawengku post-quantum key nya lamun aya hiji. Ngabogaan hiji pamaréntah sah pikeun batur nyaeta naon make app ngagunakeun panggero anu kuat jeung aranjeunna. Aya teu negosiasi pikeun nginterprétasi: atawa kunci aya atawa éta teu, jeung sabab pamaréntah ieu ditandatanganan ku author na, hiji kunci substitusi bakal kudu dipigawé leuwih ti ngan served.

Kumaha hiji penyerang anu kontrol relay Anjeunna Ieu ngabalukarkeun post-quantum perlindungan pikeun pesen nu; éta teu bisa nyieun hiji unreadable, sarta éta teu bisa ngabalukarkeun Anjeun nganggap hiji kunci nu teu anjeun. Klien ngabalukarkeun sababaraha relay, jadi ngabalukarkeun eta ngabalukarkeun kontrol sadaya.

Pemberitahuan-pemberitahuan ieu ngaronjatkeun hiji minggu sarta ngaronjatkeun diri unggal dinten nalika anjeun ngagunakeun aplikasi. Lamun anjeun jauh leuwih ti ieu, anjeun leungitkeun jeung anjeun dibaca salaku klien Nostr biasa pikeun sababaraha waktu: pesan anu dikirim ka anjeun dina leungitna ieu disadiakeun kana cara normal badag cara kuantum-resistant. Aranjeunna masih datang, jeung anjeun masih bisa maca aranjeunna - jeung kitu anu anjeun nampa saméméh éta dipikawanohkeun. buka aplikasi ngirimkeun pamaréntah Anjeun, jeung enkripsi anu leuwih kuat ninggalkeun sorangan. Aya naon nu bisa dipigawé.

Sadayana tetep damel persis sapertos sateuacana. Bitchat pamaké jeung sagala klien Nostr lianna meunang standard NIP-17, unchanged. teu aya nu dipigawé lamun anjeun ngirim pesan ka jalma luar Nymchat.

Pesen pos-kuantum ngagantikeun standar hiji tinimbang dikirim barengan eta. Ngirimkeun duanana moal aya gunana: panyerang ngan saukur ngarobih salinan anu langkung lemah.

Salinan ditujukeun ka anjeun kéngingkeun ogé - anu dibaca ku alat anjeun anu sanés, éta arsip di tukangeunana, sareng setélan singkronisasi anjeun, anu ngarambat dina cara anu sami sareng nyandak anjeun daptar paguneman, konci grup anjeun sarta sajarah pesen anjeun. Ninggalkeun salah sahiji jalma dina heubeul enkripsi bakal nyieun eta hal weakest anjeun simpen: bisa dibaca ku saha anu megatkeun kriptografi kiwari, euweuh urusan sabaraha taliti pesen sorangan disegel.

Tetep bisa dibaca ku Bitchat

Bitchat teu bisa maca format pesen Nymchat urang, jadi sajarahna Nymchat dikirim salinan kadua unggal pesen dina format Bitchat pikeun saha waé anu tiasa nganggo éta — anu, pikeun batur anjeun teu kungsi ngadéngé, hartina dulur.

Pengumuman di luhur ngajadikeun éta guessing teu perlu. Lamun batur geus diterbitkeun hiji, aranjeunna ngajalankeun Nymchat, jadi salinan Bitchat ieu turun sarta ngan pesen kuat dikirim. Lamun maranehna teu boga, nanaon geus robah: aranjeunna masih nampi duanana format, persis sakumaha sateuacan, jadi nanaon Anjeun ngirim tiasa janten teu kabaca sabab aplikasina salah nebak ngeunaan klien anu dianggo ku batur.

Kawas enkripsi sorangan, ieu otomatis tur teu boga setelan.

Naha henteu ngan nebak tina kagiatan umum

Nymchat tiasa nyimpulkeun saha anu ngajalankeun naon tina kagiatan saluran umum, sareng éta bakal katingali jalma leuwih gancang. Tapi inferensi éta aya kalana salah, sareng janten salah di dieu hartosna ngirim pesen ka batur anu aplikasina teu tiasa dibuka, teu aya kasalahan sareng teu dicobian deui. A diterbitkeun Pengumuman ditandatanganan ku pangarangna sareng teu tiasa dipalsukan, janten dianggo.

Dina obrolan grup

Talatah grup geus énkripsi misah pikeun tiap anggota, jadi grup bisa nyampur duanana jenis bebas - anggota anu klien ngarojong eta meunang enkripsi kuat, sésana meunang standar hiji, sarta grup jalan normal boh cara.

Kusabab éta, pesen grup ngan ditandaan kuantum-tahan nalika unggal anggota nampi éta cara éta. Upami bahkan hiji salinan nganggo bursa standar, salinan éta sami pesen, jadi pesen sakabéhna ngan ditangtayungan sakumaha salinan na weakest. aplikasi nu nyebutkeun "kuantum-tahan ka 8 ti 10 anggota" tinimbang rounding up.

Grup obrolan ogé tetep maranéhna muterkeun hiji-waktos kenop, nu nyumputkeun saha di grup ti saha waé anu ningali relay. Perlindungan éta henteu kapangaruhan sareng jalanna persis sapertos kitu.

Maca lencana

Sakabéh pesan pribadi jeung grup ngabalukarkeun hiji leutik tameng Demi sasatoan anu dimaksud nyaéta vertebrata, nyaéta vertebrata anu dimaksud nyaéta vertebrata.

TandaanHartina
GembokSaha anu ngirimkeunana - naha tanda tangan cocog sareng panulis anu diklaim.
TamengKuantitatif-resistant. Dua pihak ngabogaan kode post-quantum sorangan, jeung pertukaran hybrid dipaké pikeun unggal salinan tina pesen ieu.
Perisai anu dicabutParsial kuantum-resistant — hiji pesan grup ngan sababaraha anggota nampa salinan dilindungi tina. Ku kituna ngabalukarkeun teks anu sarua, perlakuan pesan salaku conventionally encrypted sakabéh.
Tembongkeun perisaiStandar NIP-44 enkripsi - masih end-to-end enkripsi, sarta masih unreadable ka mana wae ti pamilon ayeuna.
Taya tamengPanggilan saluran publik anu bisa dibaca dina relay ku desain, jadi no tanda enkripsi diterapkan.

A tanda mungkirna bakal ambigu - éta bisa ogé ngarti “no quantum-resistant”, “build ieu terlalu tua”, atawa “indikator nu rusak” - jeung indikator kaamanan nu teu bisa dibedakeun ti nu rusak nu teu nyebutkeun anjeun naon.

Ieu aya di sabudeureun padlock badag ngarobah eta sabab nu dua nyanggakeun soalan béda, jeung pesan bisa salah tanpa anu séjén - kuantum-resistant tapi ti hiji pengirim unverified, atawa verified tapi conventionally encrypted.

Ngeunaan alat pikeun ngajaga perlindungan permanén. Sakabéh barang anu dikirimkeun saméméh pihak dina konstruksi kuantum-resistant geus ditutup ku pertukaran konvensional, sarta nu ciphertext geus aya dina relay - éta teu bisa ditutup deui sanggeus fakta.

Naon eta teu ngalakukeun

Ieu ngajaga eusi tina pesen anjeun. Teu nyieun unggal bagian tina Nostr kuantum-buktina, sarta eta sia keur tepat ngeunaan bédana.

  • Tanda tangan masih secp256k1. tanda identitas Nostr kalawan Schnorr dina kurva sarua. Hiji musuh anu geus boga komputer kuantum bisa ngajalin a tanda tangan jeung impersonate batur sacara real waktu. Naon bursa hibrid eureun maca lalulintas dirékam - karusiahan, teu auténtikasi.
  • Teu aya rahasia ka depan. Dua kunci anu tahan panjang: NIP-44 ngawanohkeun kunci nya ti nsec, sarta lapisan post-quantum encapsulates ka kunci ML-KEM di balik nympq1… Kode. unggal pesan nampa encapsulation anyar, jadi kunci salah sahiji pesan teu ngajalankeun sakuliahna - tapi anu ngadeukeutan nyimpen kunci jangka panjang ieu bisa maca sadaya anu pernah dicatkeun, teu ngan naon datang saterusna. Ngeunaan Pesan ngurangan, sarta itulah sebabna fitur ieu ditujukan ka pananjat-kini-dekripsi-lanyar badag ti hiji kunci anu dicokot.
  • Metadata henteu robih. A relay masih ningali yén hiji acara ditujukeun ka konci a, sarta kasarna nalika. Anu diurus ku bungkus kado sareng konci hiji waktos, henteu ku ieu.
  • The Bluetooth mesh teu dilakukeun. Pesan anu ditangtukeun Pikeun Mesh di perjalanan dina sesi Noise XX, nu téh kuat, encryption ayeuna tapi hiji pertukaran kunci klasik - jadi éta teu ngabalukarkeun lapisan post-quantum, malah antara dua pamaké Nymchat. badge ngagambarkeun ieu: hiji pesan disadiakeun ngaliwatan mesh teu ditandatanganan kuantium-resistant. Tambihkeun eta aya maksudna ngarobah handshake sorangan, nu duanana peer bakal kudu ngalakukeun dina waktu saméméh, tanpa relay pikeun turun balik ngaliwatan jeung bari tetep bisa dibaca ku Bitchat.
  • Kodeun pemulihan anjeun mangrupakeun hal kadua pikeun nyimpen. Dimimitian ku nympq1 Anjeun bakal manggihan eta di Rincian tina NymDi sisi anu sarua jeung anjeun nsec — tap nym anjeun, lajeng “Dibongkeun nym ieu privasi jeung kode pemulihan”. nsec nu sorangan teu rebuild post-kvantum key Anjeun - nu ngan sababna éta ngaktipkeun - jadi lamun teu aya alat nyimpen kode ieu jeung anjeun teu boga salinan tina eta, naon anu ditutup kana eta teu bisa dibuka deui. nsec.
  • Éta henteu tiasa ngajaga naon anu dilakukeun ku pihak anu sanés. Panarima masih tiasa screenshot, nyalin atawa nyimpen pesen.

Ieu mangrupikeun posisi anu sami sareng Sinyal kalayan pamutahiran pos-kuantum sorangan: ngalereskeun bursa konci ayeuna, sabab éta bagian hiji lawan bisa meta dina retroactively, sarta ngubaran tanda tangan salaku masalah misah pikeun nalika standar nyekel up.

Mariksa pagawéan

Implementasi ML-KEM ieu diuji ku resmi Tés vektor NIST diterbitkeun Pikeun FIPS 203The aplikasi web jeung aplikasi mobile ogé ditangtayungan ka set sampurna vektor uji, nu téh naon jaminan pesan ditulis ku hiji bisa dibaca ku séjénna.

Keduanya téh sumber terbuka di bawah AGPL-3.0, jeung builds tina aplikasi web anu bisa diulangkeun — tingali verifying hiji ngawangun.

Ngeunaan author nu: Ngeunaan alat-alat utama di Nymchat - kertas putih teknis ngeunaan kumaha kunci ML-KEM disebarkeun tanpa direktori, konstruksi akurat anu ngagabungkeun dua pertukaran kunci, jeung desain nu ditolak.