Базаи дониш: шифргузории муқовиматбарояи квантӣ

Саҳифаи сафеди техникии Nymchat

Созиши калиди пас-квантӣ дар Nymchat

Тақсимоти калидҳои кушодаи ML-KEM-768 тавассути Nostr бидуни директория ё реестр ва таъмини онҳо аз сиррие, ки ягон қимати ошкоро онро эълон намекунад.

Версия 1.0 Август 2026 Ба Nymchat 3.74+ тааллуқ дорад

Илова кардани мубодилаи калиди пас-квантӣ ба мессенҷер бештар мушкили криптографӣ нест. Примитивҳо стандартгузоришудаанд ва китобхонаҳо мавҷуданд. Қисми душвора ин аст, ки акнун ҳар як иштирокчӣ ба сония калиди кушода, ва шабакаи децентрализатсияшуда ҷойи равшан барои ҷойгир кардани он надорад. Ин мақола тавсиф мекунад, ки Nymchat ба ин чӣ гуна ҷавоб медиҳад — калиди дуюм аз куҷо меояд, чӣ гуна он ба одамоне, ки ба он ниёз доранд, мерасад ва интерфейс дар бораи натиҷа чӣ гуна эъломе кардан ҳуқуқ дорад — ва дар қисми охирин, он натиҷа аз чӣ ҳимоя намекунад.

1Мушкил

Паёмҳои шахсии Nostr шифр карда мешаванд бо NIP-44, ки дорои ду қисми ҷудошаванда мебошад. Қисме, ки матни одиро омехта мекунад — ChaCha20 бо теги HMAC-SHA256, ки тавассути HKDF (RFC 5869) — таҳдиди ҷиддӣ аз ҷониби компютери квантӣ надорад; алгоритми Гровер суръати тез шудани решавиро дар муқобили калиди симметрӣ пешбинӣ мекунад ва 256 бит инро ҷаббида мегирад. Нисфи он, ки розӣ мешавад дар калид Diffie-Hellman дар криваяи эллиптикӣ аст дар secp256k1, ва алгоритми Шор масъалаи логарифми дискретӣро мустақиман ҳал мекунад. Истихроҷ кардани як калиди махфӣ аз муқобили кушодаи он ҳар як сирри муштаракеро, ки он калид то ҳол тавлид кардааст, ба таври ретроактивӣ ифшо мекунад.

Таҳдиде, ки ин эҷод мекунад, то сохта шудани чунин дастгоҳ таъхир намеёбад. Душмани дорои захираи маълумот метавонад матни маҳфиро имрӯз сабт кунад ва ҳар вақте ки имконияти он пайдо шавад, онро фаш кунад. Ҳар чизе, ки ҳоло фиристода мешавад ва дар оянда ҳам муҳим боқӣ мемонад, аллакай зери таҳдид аст. Ин ҳамон ҳуҷуми мушаххасест, ки мубодилаи калиди пас-квантӣ мағлуб мекунад ва маҳз ҳамин сабаб мебошад, ки кор набояд то сохта шудани дастгоҳ интизор шавад.

1.1 Саволе, ки ин мақола ба он ҷавоб медиҳад

Чораҳои пешгирӣ хуб фаҳмида шудаанд: механизми маҷмӯи калидҳои пас-квантӣ (post-quantum key encapsulation mechanism)-ро дар канори мубодилаи классикӣ иҷро кунед, то ки ҳамлакунанда барои хондани ҳар чиз бояд ҳардуро шиканад. Nymchat аз ML-KEM-768 (FIPS 203). Ин фавран мушкили тақсимотро ба миён меорад:

Савол

Барои имрӯз ба Элис паём навиштан, ба шумо як чиз лозим аст: npub-и ӯ. Агар мубодилаи пас-квантӣ илова кунед, ба шумо чизи дуюм лозим мешавад — калиди кушодаи ML-KEM-и ӯ. Он калид дар куҷо ҷойгир аст ва чӣ гуна шумо метавонед онро пеш аз фиристодани ҳар чиз ба ӯ гиред?

npub мустақил аст. Шумо метавонед онро дар коғаз нависед, баланд бихонед ё аз экран сканер кунед, ва ин ҳамаи чизест, ки барои шифр кардани паём ба шумо лозим аст. Калиди кушодаи ML-KEM-768 ҳаҷми 1,184 байт дорад. Онро наметавон баланд хонд, он дар номи корбар ҷой намегирад ва дар коди QR дар канори ҳувият, ки танҳо 32 байт аст, ҷой наменагирад.

Ҳаҷм қисми осон аст. Қисми душвортар ин аст, ки калиди дуюм се мушкили гуногун ба вуҷуд меорад, ва боқимондаи ин мақола бештар ҷавобе ба онҳост:

2Маҳдудиятҳои тарҳрезӣ

Чор маҳдудият ҷавобро шакл доданд ва онҳо пеш аз навиштани ҳар гуна код аксари тарҳҳои равшанро рад мекунанд.

  1. Ҳар қадар камтар сирҳо имконпазир бошанд. Истифодабарандагони Nostr аллакай танҳо як сирр доранд, он ҳам nsec. Ҳар як сирри иловагӣ роҳи дигаре барои гум кардани таърихи шумост ва касе, ки медонад nsec-ро нусхабардорӣ кунад, дигар чизро нусхабардорӣ карданро намедонад. Фасли 3.1 нишон медиҳад, ки инро ба таври мукаммал иҷро кардан имконнопазир аст — калиди пас-квантӣ, ки аз nsec гирифта шудааст, ҳеҷ гуна ҳифзи пас-квантиро таъмин намекунад — бинобар ин, тарҳ маҳз як сиррро истифода мебарад ва на бештар: як қисмати ягонаи маводи калид, ки барои ҳар як ҳувият як бор тавлид мешавад, бо ҳамон шакли nsec ва дар ҳамон ҷо пешниҳод мешавад, то ки ҳар кӣ донад, ки чӣ тавр якеро нигоҳ дорад, донад, ки чӣ тавр дигареро нигоҳ дорад. Фасли 10.1 дар бораи он ки ин ҳолат ҳанӯз чӣ нарх дорад, ростгӯ мебошад.
  2. Бе ваколат. Ҳеҷ сервере вуҷуд надорад, ки ба он барои гуфтани он ки кадом калид ба кӣ тааллуқ дорад, эътимод кардан мумкин бошад. Ҳар гуна сервери чунин ба нуқтае табдил меёбад, ки дар он паёмҳоро метавон ба самти дигар равона кард.
  3. Чанд дастгоҳ, як ҳувият. Ҳувияти Nostr одатан аз якчанд клиентҳо дар як вақт истифода мешавад. Ҳар чӣ маводҳои калидӣ мавҷуд бошанд, бояд дар ҳамаи онҳо якхела бошанд ва роҳҳое, ки онро ин ҷо меоранд, набояд худи онҳо аз ҷониби мушмани, ки функсия аз он муҳофизат мекунад, хондашаванда бошанд.
  4. Бе гуфтушунид. Ҳар гуна мубодилаи «кадом шифрҳоро шумо дастгирӣ мекунед?» дар дохили канал сатҳест, ки ҳамлакунанда метавонад онро барои таҳмил кардани варианти заифтар истифода барад. Тарҳ бояд ҳеҷ чизе надошта бошад, ки имкон медиҳад сатҳи амният паст карда шавад.

3Сирри мустақили решавӣ

Қарори асосӣ ин аст, ки калиди декопсуласияи ML-KEM аз маводи калидие сарчашма мегирад, ки ягон қимати оммавӣ онро ифшо намекунад. Ҳар як ҳувият як сирри решавӣ мегирад, ки як бор тавлид шудааст:

pqRoot   = 32 bytes from a CSPRNG, generated ONCE per identity

seed     = HKDF-Expand(
               HKDF-Extract(salt = "nym-pq-root-v2", IKM = pqRoot),
               info = "mlkem768/epoch/" || epoch,
               64 bytes)

(ek, dk) = ML-KEM-768.KeyGen(seed)

Асос ба корбар ба таври nsec пешниҳод мешавад: bech32 бо префикси барои инсон хоно nympq, пас чунин хонда мешавад nympq1…, ки дар экрани шахсият дар паҳлӯи nsec ва дар паси ҳамон амалиёти нишон додани он намоён аст, бо ҳамон назорат нусхабардорӣ мешавад, ҳеҷ гоҳ ба қайд гирифта намешавад ва ҳеҷ гоҳ дар шакли кушода ба ҳеҷ ҷо фиристода намешавад. Ин парол нест ва логин нест. Ин маводи калидӣ мебошад, ки корбар метавонад онро захира кунад, маҳз мисли nsec.

Солти қасдан аз ҷиҳати домен ҷудо карда шудааст, то ҳеҷ ягон сирри дигар натавонад ҳамон ҷуфт калидҳоро ҳосил кунад. Ин epoch ҳисобкунанда чархзанӣ мегардонад (Бахши 9).

3.1 Чаро калидро аз калиди ҳувият ҳосил кардан мумкин нест

Тарҳи равшан ин аст, ки ҷуфти калид аз сирре, ки корбар аллакай дорад, сар карда шавад:

seed = HKDF(salt = "…", IKM = nsec)          // do not do this

Он аз чор сабаб ҷолиб аст, ки ҳамаи онҳо воқеӣ мебошанд: ҳеҷ чизе нави дигар барои нусхабардорӣ лозим нест, зеро nsec худаш ҳамчун нусхаи эҳтиётӣ хизмат мекунад; ҳар як дастгоҳ аз рӯи сохтор бо ҳам мувофиқат мекунад ва ягон протоколи ҳамоҳангсозӣ вуҷуд надорад, ки хато кунад; як эълони ивазшаванда барои ҳар як ҳувият равшан дуруст аст, зеро дастгоҳҳо дар бораи калид نازроӣ намешаванд; ва калид пеш аз он ки нашр шавад мавҷуд аст, бинобар ин клиент метавонад дар аввалин бор кор кардан чизеро барои худаш маҳкам намояд.

Ҳамаи чор фоида барои як сабаб беарзиш ҳастанд. Алгоритми Шора, ки нисбат ба npub-и нашршуда иҷро мешавад, nsec-ро медиҳад. Истихроҷи seed як алгоритми оммавӣ дар асоси nsec мебошад. Бинобар ин, душмане, ки қисми классикиро мешиканад, қисми пас-квантиро тавассути иҷрои ҳамон HKDF-и дигарон, ки ҳама истифода мебаранд, дубора сохт менамояд. Дар муқобили стратегияи «ҳозир ҷамъ кун ва баъдтар фашор» (harvest-now-decrypt-later) — ҳамон таҳдиде, ки ин хусусият барои пешгирӣ аз он мавҷуд аст — калиде, ки бо ин усул ҳосил карда мешавад, ҳеҷ чиз илова намекунад.

Қонуне, ки ҳама чиз аз он пайравӣ мекунад

Калиди декапсуласияи ML-KEM бояд аз энтропияе гирифта шавад, ки на аз nsec ба даст омада метавонад ва на ҳеҷ гоҳ таҳти шифргузории танҳо классикӣ интиқол дода шудааст.

Банди дуюми он қоида ҳамон қадар вазифаро иҷро мекунад, ки банди аввал. Сирри мустақилона тавлидшуда, ки сипас дар дохили паёми оддии NIP-44 байни дастгоҳҳои корбар ҳамоҳанг карда мешавад, ҳамон сабаби нокамӣ аст, танҳо бо қадамҳои иловагӣ: душман он паёмро имрӯз сабт карда, баъдтар калиди классикии онро бармегардонад ва дар натиҷа, асос аз байн меравад. Аз ҳамин рӯст, роҳҳо дар бахши навбатӣ чунин мебошанд ва чаро ягон кадоме аз онҳо "онро ба дастгоҳи дигари худ фиристед" нест.

3.2 Расонидани root ба дастгоҳҳои дигари корбар

Маҳдудияти 3-юми Бахши 2 — як ҳувият, чанд дастгоҳ — дар ин ҷо тавассути арифметика иҷро карда намешавад, зеро мақсад дар он аст, ки калид функсияи ҳеҷ чизе нест, ки дастгоҳҳо аллакай муштарак доранд. Ба вместои ин, он бояд тавассути интиқол иҷро шавад ва танҳо як роҳ вуҷуд дорад: корбар ...-ро ҳаракат медиҳад nympq1… худро код мекунанд.

Реша чунин намоиш дода мешавад nympq1… дар канори nsec ва дастгоҳи дуюм онро, ки ба ҳамон панел гузошта шудааст, қабул мекунад. Ин тамоми механизм аст. Дастгоҳе, ки ба он код дода нашудааст, наметавонад иштирок кунад, ки дар Боби 4.2 шарҳ дода шудааст.

Гузариши дастӣ на ҳамчун қадами аввал, балки ҳамчун заминаи қасданӣ аст. Қоида дар Қисми 3.1 мегӯяд, ки реша ҳеҷ гоҳ набояд зери шифрогузории танҳо классикӣ гузарад ва ҳар як механизм, ки инро автоматӣ мегардонад — ҳамоҳангсозии он тавассути реле, печонидани он ба калиди ҳувият — маҳз ҳаминро вайрон мекунад. Қадаме, ки корбар иҷро мекунад, сабаби воқеӣ будани ҳимоят аст.

Шакл барои масири печонидашуда (wrapped path) ҷой гузоштааст: сабт метавонад рӯйхати печонидаҳоро дар бар гирад, ки ҳар кадоми онҳо як блоки AEAD дар зери калидест, ки корбар метавонад онро дар дастгоҳи дигар такрор кунад — масалан, натиҷаи PRF-и passkey. Имрӯз ҳеҷ чиз якеро пешниҳод намекунад ва то он даме ки чизе ин корро накунад, ... nympq1… Код ягона роҳи гузариш аст. Бахши 10.1 арзиши онро муайян мекунад.

Худи сабт дар категорияи танзимоти худаш ҷойгир аст, nymchat-pq-root, ва мисли категорияҳои дигар ҳамоҳанг мекунад. Ҳатто бидуни ягон қавсҳо ҳам, он кори зарурӣ иҷро мекунад: мавҷудияти он роҳест, ки тавассути он дастгоҳи дуюм мефаҳмад, ки ин ҳувият аллакай реша дорад, ки ин маҳз ҳамон чизест, ки аз сохтани яке дигар, ки рақиб аст, боздошта медорад (Бахши 3.3).

Эзоҳи тарҳ: як гурӯҳе, ки наметавонад аз калиди нав истифода барад

Он nymchat-pq-root категория бояд не ба калиди ML-KEM, ки аз реша гирифта шудааст, рамзгузорӣ шавад. Ин сатр ягона нусхаи решаро дар бар медорад, бинобар ин бастани он зери калиде, ки аз реша гирифта шудааст, қулфиест, ки калидаш дар дохили қуттӣ аст: ҳеҷ дастгоҳе наметавонад онро кушояд, аз ҷумла он дастгоҳе, ки онро навиштааст. Он ба таври классикӣ баста мешавад — NIP-44 ба хусусӣ — ё умуман баста намешавад. Ин ягона ҷоест, ки тарҳ ҳимояи танҳо классикиро қабул мекунад ва метавонад инро иҷозат диҳад: имрӯз ин сатр ягон решаро дар бар намедорад, танҳо ин ҳақиқатро мебарад, ки реша мавҷуд аст.

Ҳар як категорияи дигари танзимот метавонад ва бояд калиди аз реша гирифташударо истифода барад. Ин ягона истисно аст ва ин истисно дар мавриди доирашаклӣ аст, на дар мавриди қувват.

3.3 Тавлид ва қабул

Ҳангоми боргузорӣ, дорои ҳувияти устувор, клиент бо ин тартиб кор мекунад:

  1. Ҷустуҷӯи мавҷуд nymchat-pq-root сабт.
  2. Сабт ёфт шуд ва ин дастгоҳ метавонад онро кушояд — онро қабул кунед ва ин ҳувиятро ҳамчун дорои имкониятҳои пас-квантӣ эълон кунед.
  3. Сабт ёфт шуд ва ин дастгоҳ наметавонад онро кушояд — решаи нав тавлид накунед ва ҳеҷ гуна эълон нанашред. Ба корбар дастур диҳед, ки ин дастгоҳро бо ворид кардани... nympq1… Код аз дастгоҳе, ки аллакай онро дорад.
  4. Сабт нест — реша тавлид кунед, сабтро нашр кунед, эълон кунед ва нишон диҳед nympq1… код-ро ба корбар як бор фиристед, то онро захира кунад.

Қадами 3 он марҳилаест, ки хато кардан дар он осон аст ва ҳамин сабаби он аст, ки тартиб ба ҷои вобаста кардан ба ҳар як татбиқ, сабт шудааст. Ду дастгоҳ, ки ҳар кадоме қарор мегиранд реша тавлид кунанд, ду решаи мустақил таҳти як ҳувият тавлид мекунанд ва ҳамин хатоӣ мебошад, ки ин тартиб барои пешгирӣ аз он мавҷуд аст.

4Эълони имконият

Қисми публикии ҷуфти калидҳои ҳосилшуда ҳамчун суроғапазир нашр мешавад. NIP-01 воқеа — навъ 30078, қайдшуда nym-pq:

{
  "kind": 30078,
  "tags": [
    ["d", "nym-pq"],
    ["t", "nym-pq"],
    ["expiration", "<unix seconds>"]
  ],
  "content": {
    "v":     2,
    "alg":   "mlkem768",
    "nym":   1,
    "epoch": 0,
    "pk2":   "<base64url ML-KEM-768 encapsulation key>",
    "exp":   <unix seconds>,
    "devices": [ ... ]
  }
}

Маълумшаванда маънои онро дорад, ки реле барои ҳар як (навъ, калиди ҷамъиятӣ, d-тег) як ҳодисаро нигоҳ медорад, бинобар ин аз нав нашр кардан эълони қаблиро дар ҳамон ҷо иваз мекунад. Ҳамин тариқ, ҳар як ҳувият маҳз як сабти ҷорӣ дорад, ки ин ҷиҳати «ҷустуҷӯи калиди Элис»ро ба як феъли ягона ва аниқ табдил медиҳад, на рӯйхате барои мувофиқсозӣ.

Имзо пайванд аст. Ҳодиса тавассути калиди ҳувият имзо шудааст, бинобар ин иддеои «ин калиди ML-KEM ба ин npub тааллуқ дорад» маҳз ба қавӣ мисли худи npub аст. Иваз кардани калиди дигари капсуласионӣ талоб мекунад, ки имзои secp256k1 сохта шавад. Ҳамлакунандае, ки метавонад ин корро иҷро кунад, лозим нест, ки бо KEM машғул шавад.

Эълонҳо ба муҳлат мерасанд. Як ҳафтарӯза NIP-40 Муҳлати эътибор, ки ҳар 24 соат як бор дубора нашр мешавад, сабтро чунин нигоҳ медорад, ки он дар бораи мизоҷе, ки ҳоло ҳам фаъол аст, на дар бораи он, ки қаблан буд. Худи реша ҳеҷ гоҳ муҳлати эътиборро намегузарад; танҳо даъво дар бораи он муҳлати эътиборро мегузарад.

Эълони ба анҷом расида маҳз ҳамон тавр хонда мешавад, ки гӯё он ҳеҷ гоҳ калид нагузаронида бошад: ҳамсояҳо NIP-44-и оддиро мефиристанд, ки ҳар як воридшавӣ метавонад онро бихонад, ва клиент дар пайвасти навбатӣ, вақте ки он эълонро аз нав нашр мекунад, мубодилаи пас-квантиро идома медиҳад. Ҳамин тавр, хомӯш мондан барои муддати зиёда аз як ҳафта танҳо ҳимояи паёмҳои дар ин фосила фиристодашударо талаб мекунад — онҳо ба ҷои муқовимат ба квант, бо усулҳои классикӣ рамзгузорӣ шудаанд — ва дигар ягон чизи дигарро талаб намекунад. Расонидани паёмҳо таъсир намепазирад, ҳеҷ чизе, ки аллакай қабул шудааст, хонданашаванда намегардад ва ҳангоми баргаштан ягон амал кардан лозим нест.

Ин асимметрия сабаби анҷоми мӯҳлат аст, на тасодуфи он. Бе он, сабт аз калиде, ки онро ном мебарад, зиндатар мемонад: дастгоҳе, ки пок карда шуда, аз нав танзим ё решааш иваз карда мешавад, дастури доимии капсула кардан ба калидеро мемонад, ки дигар ҳеҷ кас онро надорад, ва паёмҳое, ки таҳти он фиристода мешаванд, бидуни ягон хато дар ҳар ду тараф гум мешаванд. Ҳафт рӯз ин тирезаро маҳдуд мекунад ва имкон медиҳад, ки релеҳо худашон сабтро нест кунанд, на танҳо умед кардан ба он ки мизоҷон онро пай мебаранд.

Майдони калидӣ формати худро ном мегузорад. Майдон аст pk2, ва ин рақам ба ҷузъи шартнома аст, на зеина: он формати маълумотро муайян мекунад, ки калид метавонад бо он истифода шавад. Хондандае, ки ин майдаро намешиносад, хулоса мекунад: «ко клиенти Nymchat, калиди пас-квантӣ нест» ва NIP-44-и оддиро мефиристад, ки ҳар як воридшавӣ метавонад онро бихонад. Ин самти дурусти хатогӣ аст ва арзиш дорад ҳамчун қоида баён кунем, ки рақамгузории формат барои риояи ин мавҷуд аст: даъвати имконияти шинохтнашуда бояд танҳо ҳифзро гум кунад, на расонидани маълумотро. Калиде, ки ҳамто наметавонад истифода барад, аз комилан набудани калид бадтар аст, зеро паёми аз он сохташуда бидуни ягон хатогӣ дар ҳар ду тараф гум мешавад.

4.1 Набудӣ маънодор ва сеқадарӣ аст.

Як ҷузъиёти нозук, вале муҳим: эълон аз ҷониби ҳар як клиенти Nymchat нашр мешавад, на танҳо онҳое, ки дорои имкониятҳои пас-квантӣ мебошанд, ва майдони калид ихтиёрӣ аст. Ин ба ҷои ду ҳолат, се ҳолати фарқшаванда медиҳад:

Мушоҳида шудВоситаҳоРафторро фиристо
Эълон бо калид Nymchat, бо имкониятҳои пас-квантӣ Ҳибрид
Эълон, умуман калид нест Nymchat, танҳо классикӣ — пас-квантӣ ғайрифаъол, ё дастгоҳе, ки ҳанӯз ба решаи ҳувият пайваст нашудааст NIP-17-и классикӣ
Эълон нест Клиенти номаълум. Метавонад ҳар як корбари Nostr ё Bitchat бошад. Классикӣ, бо иловаи қаботи мувофиқат

Якҷо кардани сатри сеюм бо сатри чорум зиёни воқеӣ хоҳад буд. Эълони бидуни калид изҳороти имзошудаест, ки нишон медиҳад фиристонда Nymchat-ро истифода мебарад, ки ин ба роҳи фиристодан имкон медиҳад, ки аз бастаи пешгӯмонаи байнипротоколеӣ, ки дар ҳолати дигар бояд барои ҳар касе, ки система наметавонад муайян кунад, илова мекард, сарфи назар кунад.

4.2 Дастгоҳе, ки наметавонад решаро кушояд, хомӯш мемонад.

Эълон ҷойгузиншаванда аст: барои ҳар як ҳувият як воқеа, охирин амалиёт қабул мешавад. Ин чиз тарҳи яксабтро корӣ мекунад ва инчунин сабаби хатарнок будани дастгоҳи пайвастнашуда дар ҳолати нашр мебошад. Дастгоҳе, ки калидеро, ки худаш сохтааст, эълон кунад, сабти воқеиро аз байн бурда, ҳамаи ҳамсояҳоро водор мекунад, ки таҳти калиде маҳфият кунанд, ки дигар дастгоҳҳо наметавонанд онро кушоянд.

Пас дастгоҳе, ки медонад реша мавҷуд аст, аммо наметавонад онро кушояд, ҳеҷ гуна эълон намекунад. Он вайрон нест ва аз замима маҳрум нашудааст: он ҳанӯз ҳам ҳар паёмеро, ки калидҳои онро дорад, мехонад ва ба тарзи классикӣ мефиристад, дар ҳоле ки корбарро барои пайваст кардани он даъват мекунад. Сукут рафтори дуруст барои дастгоҳест, ки наметавонад аз номи ҳувият сухан гӯяд.

5Кашф ва қарори фиристодан

Клиентҳо калидҳои ҳамсафҳоро бо ду роҳ меомӯзанд. Иштироки доимӣ одамонеро, ки корбар воқеан бо онҳо муошират мекунад — гуфтугӯҳои кушода ва аъзои гурӯҳҳо — дар бар мегирад, бинобар ин эълонҳои онҳо ҳамчун воқеаҳои оддӣ мерасанд. Барои ҳамсафе, ки бори аввал вохӯрӣ мекунад, дар вақти фиристодан дархости яккарата иҷро мешавад, ки маҳдудияти он 2,5 сония аст; агар он ҳал нашавад, паём ба шакли классикӣ меравад, ки ин рафтори то илова шудани технологияи пас-квантӣ мавҷуд буд, на ҳамчун як навъи нави хатогӣ.

Натиҷаи манфи барои даҳ дақиқа кэш карда мешавад, на барои ҳамеша. Истифодабарандае, ки дастгоҳи навро пайваст мекунад ё аз воридшавӣ тавассути иловаи браузер ба калиди маҳаллӣ мегузарад, дар миёнаи муколама имкониятҳои пост-квантиро пайдо мекунад ва "на"-и ҳамеша кэшшуда онҳоро дар давоми эълон дар шифргузории классикӣ нигоҳ медорад.

5.1 Чаро ҳамлаи коҳиши сатҳ вуҷуд надорад

Қарори масиргузорӣ ба як саволи ягона ихтисор меёбад:

pq = (we hold a signed, unexpired ML-KEM key for this recipient)

На муҳокимаи имкониятҳо мавҷуд аст, на рӯйхати алгоритмҳои дастгиришуда ва на ҳеҷ майдон, ки ҳамлагузор тавонад онро барои маҷбур кардани роҳи заифтар тоза кунад. Нигоҳ доштани эълон. аст ...гуфтушунид, ва он имзо шудааст. Намуди хатогии эълони тозашуда ё нигоҳдошташуда ин аст, ки паём классикӣ мешавад — вазъияти мавҷуда пеш аз ин хусусият — на он ки паёми гибридӣ ба чизи сохташаванда коҳиш ёбад.

Муқобили он ҳам дуруст аст ва муҳимтар мебошад: мизоҷ гибридро мефиристад танҳо вақте ки он калидро дорад, ва доштани калид исбот мекунад, ки қабулкунанда метавонад онро декапсуласия кунад. Ҳеҷ ҳолат нест, ки паёми пас аз квантӣ ба касе фиристода шавад, ки наметавонад онро бихонад.

6Сохтмони гибридӣ

Nymchat NIP-44-ро иваз намекунад. Он онро мепӯшонад. Шифронависии NIP-44-и тағйирнокарда қабати дохилӣ мебошад ва калидҳои ML-KEM дар атрофи он AEAD-и беруниро месозанд:

inner = nip44_encrypt(plaintext, conversation_key(sender, recipient))

info  = "nymchat-pq2" || sender_secp_pk || recip_secp_pk || kem_ct || recip_kem_pk
prk   = HKDF-Extract(salt = "nymchat-pq2-v1", IKM = kem_ss)
key   = HKDF-Expand(prk, info || "key",   32)
nonce = HKDF-Expand(prk, info || "nonce", 12)

outer = ChaCha20-Poly1305(key, nonce, plaintext = inner, aad = info)

payload = "pq2." || base64url(kem_ct) || "." || base64url(outer)

Барои хондани паём ҳарду сир бояд боз бардошта шавад: қабати берунӣ танҳо шифронависии NIP-44-ро медиҳад ва барои кушодани он ECDH-и классикӣ лозим аст. Душмани квантӣ, ки secp256k1-ро мешиканад, калиди дохилиро ба даст меорад ва боз бо ML-KEM рӯ ба рӯ мешавад; шикастани ML-KEM қабати беруниро мезанад ва NIP-44-ро мемонад. Ҳар як воридкунӣ ҷойи худро барои худ меёбад:

Инкапсулятсия дар ҳар як паём нав иҷро карда мешавад. Калиди ML-KEM-и гиранда дарозмуддат аст, аммо ҳар як паём шифронавишти мустақил ва бинобарин мустақили kem_ss. Маҳз ҳамин боровардани nonce ба ҷои тасодуфӣ сохтани онро боэътимод мегардонад: ChaCha20-Poly1305 ...бо истифодаи такрории ҷуфти (калид, нонс) вайрон мешавад ва дар ин ҷо худи калид барои ҳар як паём нав аст, бинобар ин ягон ҷуфт наметавонад такрор шавад.

6.1 Чаро қабатҳо ҷудо мемонанд

Алтернатива ин аст, ки ҳарду сиррро ба як калиди ягонаи муколама омехта карда, онро ба NIP-44 супоред:

ck = HKDF-Extract(salt = "…",
                  IKM  = ecdh_x || kem_ss || …)          // do not do this

Ин сохтмон ҳамчун криптография устувор аст. Он як мушкили сохторӣ дорад: он ниёз дорад ecdh_x, координатаи хоми x-и натиҷаи ECDH ҳамчун маводи калид — ва иловаи браузер (NIP-07) ё имзокунандаи дур (NIP-46) ҳеҷ гоҳ он арзишро намегардонад. Он ба номи даъваткунанда NIP-44-ро иҷро карда, шифромат медиҳад, ки мақсади асосӣ аз нигоҳ доштани калид дар ҷоест, ки барнома ба он дастрасӣ надорад.

Омехта кардани сирҳо аз ин рӯ ҳар як воридшавиро, ки калиди ҳувиятро дар имзокунанда нигоҳ медорад, истисно мекунад, ки ин маънои истифодаи эҳтиёткортарин корбаронро дорад ва ҳеҷ миқдор кор дар бораи ҳосил кардани калид инро тағйир дода наметавонад. Қатлаварӣ вобастагиро бартараф мекунад: NIP-44 комил мемонад ва аз ҷониби ҳар чизе, ки калиди ҳувиятро нигоҳ медорад, аз ҷумла имзокунанда, тавлид мешавад, дар ҳоле ки қисми KEM аз рамзи барқарорсозии, ки мизоҷ мустақиман дар даст дорад, ҳисоб карда мешавад. Воридшавиҳои имзокунанда дар ҳар ду самт иштирокчиёни оддии пас-квантӣ мебошанд.

Хароҷот басмаҷаҳм (bandwidth) аст ва он кам нест. Тексти шифри ML-KEM 1088 байт аст ва дар ҳар як паём ҳамроҳ мешавад, ки бо истифода аз base64url ба 1451 аломат табдил меёбад; AEAD-и беруна теги 16-байти Poly1305-ро илова мекунад ва ҳаҷми маълумоти NIP-44-ро, ки онро мепӯшид, ба як сеюм зиёд мекунад. Паёми 50-аломатӣ аз 176 байт то 1712 байт ва паёми 2000-аломатӣ аз 2820 то 5238 байт меафзояд. Ҳадди ақали ҳаҷм тақрибан 1,5 КБ барои ҳар як паём мебошад, новобад паём чӣ қадар кӯтоҳ бошад, ки ин нархи инкапсулятсияи нав дар ҳар як вақт ба ҷои истифодаи дубораи сирри муштарак мебошад.

6.2 Пайлоадҳои худтавсифкунанда

Он pq2. Префикс ҷараёни татбиқро зинавӣ мегардонад: он худтавсиф аст, бинобар ин клиент роҳи декодиро тавассути санҷиши муҳтаво (payload) интихоб мекунад, на тавассути бовар кардан ба таг ё дар ёд доштани он ки ҳамсоя (peer) аз чӣ дастгирӣ мекунад. Хонндае, ки префиксро намешиносад, ба ҷои нодуруст хондан, дар кушодани он муҳтаво ностоб мешавад ва паёмҳое, ки пеш аз он ки ҳар кадоме аз ҷонибҳо тавонанд корҳои пас-квантӣ иҷро кунанд, маҳкам шудаанд, бидуни ягон ҳаҷомат ҳамчун NIP-44-и оддӣ хондашаванда мемонанд.

Радкунии пинҳонӣ

Декапсуласияи ML-KEM чунин тарҳрезӣ шудааст, ки ҳеҷ гоҳ хато надиҳад: дар сурати пешниҳод шудани сифрномаи нодуруст, трансформацияи Fujisaki-Okamoto ба ҷои хатогӣ, як сирри псевдо-рандомии детерминистиро баргардонад. Бинобар ин, калиди нодуруст умуман дар сатҳи KEM зоҳир намешавад — он ҳамчун хатогии HMAC дар дохили NIP-44 пайдо мешавад, ки ин ҳамон роҳест, ки калиди классикии нодуруст зоҳир мешавад. Даъваткунандагон бо ҳарду якхела муносибат мекунанд, бинобар ин хатогӣ ягон сигнали фарқкунанда надорад. Ин инчунин он чизест, ки рӯйхати номзадон дар бахши 9.1-ро қобили истифода мегардонад: мизоҷ ҳар як калидро пайдарпай месанҷад ва ба NIP-44 имкон медиҳад, ки бигӯяд кадоме аз онҳо дуруст буд.

6.3 Ҳарду қабати бастади тӯҳфа

A NIP-17 паёми шахсӣ мебошад NIP-59 бедорӣ: аҳмоди беимзо, ки бо калиди ҳувияти фиристанда (намуди 13) мӯҳрзанида шудааст, сипас бо калиди яккаратаи барои ҳар як паём тавлидшуда (намуди 1059) баста мешавад. Дар воридшаве (login), ки калиди ҳувиятро мустақиман дар бардорад, Nymchat ҳарду қабатро гибридӣ мекунад, ки ҳар кадомаш капсулатсияи худро дорад.

A hybrid NIP-59 gift wrap: the rumor sealed under the sender's key, that seal wrapped under a per-message ephemeral key, both layers carrying a NIP-44 ciphertext inside a post-quantum AEAD. kind 1059 — wrap  ·  signed by a per-message ephemeral key content = pq2.<kem_ct>.<aead>   inner = NIP-44(eph, recip)   outer key = ML-KEM(recip) kind 13 — seal  ·  signed by the sender's identity key content = pq2.<kem_ct>.<aead>   inner = NIP-44(sender, recip)   outer key = ML-KEM(recip) rumor — unsigned the message: kind, content, tags, author pubkey unsigned on purpose — a signature would be portable proof
Ҳарду қабати шифрнокӣ гибридӣ мебошанд, ҳар кадоме дорои инкапсулятсияи мустақили ML-KEM мебошанд. Қабати берунӣ ба як сирри яккарата калидгузорӣ шудааст, бинобар ин баста фиристондаро ошкор намекунад.

Воридшавии имзокунанда танҳо қабати беруниро мегирад. Муҳр аз ҷониби имзокунанда ҳамчун NIP-44 оддӣ тавлид карда мешавад — замима ҳеҷ гоҳ калидеро, ки онро месозад, намебинад — бинобар ин он наметавонад дар ҷои худ гибридӣ карда шавад. Ин дар муқобили ҳамлаи мавриди назар ягон таъсир надорад: ба муҳр танҳо тавассути рӯист (wrap) расидан мумкин аст ва рӯист чизест, ки сабткунанда нигоҳ медорад. Ҳамлавар, ки трафики сабтшударо дорад, бояд пеш аз он ки муҳр ҳатто барои ҳамла намоён шавад, ML-KEM-ро шиканад.

7Паёмакҳои гурӯҳӣ ва фарогирии қисмӣ

Паёми гурӯҳӣ як сифрнавис нест. Он ҳамон матни равшанест, ки ба ҳар як узв паҳн карда мешавад ва ҳар як нусха ба калиди хусуси ML-KEM-и он узв инкапсулят карда мешавад. Узве, ки калидро нашр кардааст, бастакунии гибридиро мегирад; он касе, ки калидро нашр накардааст, бастакунии классикиро мегирад.

Ин мушкилии ҳисоббарориро ба вуҷуд меорад, ки татбиқи соданок онро нодуруст иҷро мекунад. Агар ҳашт аз даҳ узв нусхаи гибридиро гиранд, паём ин аст: не ҳашт даҳ ҳифз шудааст. Ба рақиб як нусхаи классикии матни равшан лозим аст, ки дар ҳама даҳ нусха якхела бошад, бинобар ин паём танҳо дар ҳолате ҳифз мешавад, ки хар нусха аст.

Бинобар ин, Nymchat фарогирии ҳар як паёмро ҳангоми паҳншавӣ пайгирӣ мекунад — шумора танҳо ҳангоми сохтани бастаҳо маълум мешавад — ва баҷ (badge) ба ҷои иддаои ҳифзшуда будани паём, гуфта мегӯяд: «дар муқобили квантӣ барои 8 аз 10 узв муҳофизатшаванда аст». Дар ҳолатҳое, ки шумора мавҷуд нест, ки ҳолати муқаррарӣ барои... Гирифта шуд паёми гурӯҳӣ (танҳо фиристонда паҳншавиро ҳисоб мекунад), интерфейс ба ҷои ҳифзи пурра, ҳифзи қисмиро гузориш медиҳад. Даъвои ҳифзи пурра танҳо дар асоси нусхаи худи шахс дар бораи паёми умумӣ муболаға мебошад.

7.1 Чиро щит гузориш мекунад

Щит ҳақиқатро дар бораи... паём, на дар бораи нармафзоре, ки онро фиристод:

Ҳукм вақте сабт мешавад, ки паём мӯҳрбандӣ мегардад, на ба ҷои он ки аз эълони дертари ҳамсоя (peer) аз нав ҳисоб карда шавад. Шифрматни аллакай мавҷудбуда наметавонад беҳтар аз он чизе, ки буд, ҳифз гардад ва интерфейсе, ки паёмҳои кӯҳинаро дар асоси эълони нав аз нав мекашида мерасид, дар бораи байтҳо дар реле маълумоти нодуруст медод.

Қоидаҳои гурӯҳии боло ба ин илова мегарданд, на ба ҷои он: паёми гурӯҳӣ танҳо дар ҳолате пурра ҳифз мешавад, ки нусхаи ҳар як узв ҳифз шуда бошад, ва паёми гурӯҳии қабулшуда бо ҳисоби фарогирии холӣ "ҷузӣ" нишон дода мешавад.

8Нусхаҳо ба номи худатон

Чанд чизе, ки клиент захира мекунад, ба ҳувияти худи корбар рамзгузорӣ шудаанд: танзимоти синхронизатсияшуда, рӯйхати гуфтугуҳо, калидҳои гурӯҳӣ ва архиви паёмҳо. Инҳо дар бораи корбар нисбат ба аксари паёмҳои алоҳида бештар маълумот медиҳанд, бинобар ин, классикӣ гузоштани онҳо онҳоро заифтарин артефакти захирашуда мегардонад, новобаста аз он ки худи паёмҳо то чӣ андоза бо эҳтиёткорӣ маҳкам карда шудаанд. Онҳо ҳамон усули гибридиро истифода мебаранд, ки ба калиди асосии худи корбар вобаста (капсула) шудааст — бо як истисно, ки дар Қисми 3.2 тавсиф шудааст, ... nymchat-pq-root худи категория, ки наметавонад зери калиде баста шавад, ки танҳо худаш метавонад онро тавлид кунад.

Ин артефактҳо ҷойҳое мебошанд, ки дар онҳо тарҳ аз ҳама муҳим аст. Маҷмӯи танзимот ё сатри архив солҳо дар як ҷо мемонад, ки маҳз ҳамин гуна чизҳоро мушқи стратегияи «ҳосил кун ва дертар рамзкуниро кушо» ҷамъ мекунад — ин нисбат ба ҳар як паёми алоҳида, ки ҳадди аққал дар зеҳни худи корбар гузаро аст, хеле бештар аст.

Як маҳдудият на калидро, балки формати ин ҷоро муайян мекунад. Нусхаи дорои суроғаи худ бояд аз ҷониби ... хондашаванда бошад. хар дастгоҳ дар суратҳисоб, бинобар ин ҳар як дастгоҳ дар рӯзҳати эълони худ эълон мекунад, ки чӣ чизро метавонад кушояд ва суратҳисоб танҳо он чизеро менависад, ки ҳамаи онҳо метавонанд бихонанд. Навиштани ҳар чизе, ба ғайр аз ин, дастгоҳро аз танзимоти худаш маҳрум мекунад — ҳамон хатои ҷамдшикандаеро, ки Фасли 3.2 тавассути воситаҳои дигар ва аз самти дигар пешгирӣ мекунад.

Маҳдудияте, ки зикр кардани он арзанда аст

Ҷиҳозе, ки ҳувиятро дорад, вале на решаро, наметавонад ҳеҷ чизеро, ки бо калиди аз реша гирифташуда баста шудааст, аз ҷумла танзимоти худро, кушояд. Ин натиҷаи қасдӣ аст, на хатои нобера, ва маҳз барои ҳамин дар бахши 3.3 ба ҷои эҷоди решаи нав, барои пайваст кардан огоҳинома дорад: решаи дуюм "blob"-ро хоно намегардонад, он танҳо маводи калиди ҳувиятро ба ду қисм тақсим мекунад. То он даме ки корбар онро пайваст намекунад, дастгоҳ ба кор идома медиҳад — он чизеро, ки калидҳояшро дорад, мехонад ва ба таври маъмулӣ мефиристад.

Ҷиҳозе, ки иловакунандаи браузерро идора мекунад ё имзокунандаи дурдаст (NIP-46), ягон nsec барои истідло (derivation) надорад, аммо коди барқарорсодиро дорад ва тибқи сохтори қабатбандӣ дар Боби 6.1, ин тамоми он чизест, ки қисми пас-квантӣ ниёз дорад: имзокунанда қабати NIP-44-ро тавре ки ҳамеша месохт, тавлид мекунад ва клиент худаш қабати беруниро калидгузорӣ мекунад. Чунин воридшавӣ дар ҳар ду самт иштирокчии оддӣ мебошад.

9Гардиш

Он epoch Ҳисобгари дар раванди истисносозӣ он чизест, ки имконпазирии гардиши калидро бидуни маводи нави калид таъмин мекунад. Зиёд кардани он ҷуфти калиди навро аз ҳамон реша ва эълония эълоншудаи нав ба даст медиҳад; ҳамсояҳо калиди навро аз санади ивазшаванда мегиранд. Бинобар ин, гардиш аз корбар талаб намекунад, ки чизеро дубора нависад: реша барои ҳар як ҳувият як бор тавлид мешавад ва давра (epoch) гардишро таъмин мекунад.

9.1 Эпохаҳои кӯҳна нигоҳ дошта мешаванд ва ҳеҷ чиз аз нав рамзгузорӣ намешавад

Ҳангоми ротацияи калид ҳеҷ чиз аз нав навишта намешавад. Мизоҷ вариантҳои декодингро аз давраи (эпохаи) ҷорӣ то давраи -3 таҳия мекунад, бинобар ин паёме, ки камтар вақт пеш аз ротация муҳр шудааст, бо ҳамон ҷуфт калиде, ки ҳангоми фиристодани он ҷорӣ буд, то кушода мешавад.

Ин тиреза мебошад, ки ивазшавиро (rotation) комилан бехатар мекунад: бидуни он, ҳар як ивазшавӣ ҳар чизеро, ки дар ҳолати иҷро буд, ногум мекард. Ҳар чизе, ки аллакай маҳкам шудааст, то охири ҳаёти ҳувият хонданашаванда намемонад, зеро паёме, ки корбар дигар наметавонад онро кушояд, нисбат ба паёме, ки ҳифзи онро ба таври ретроактивӣ беҳтар кардан мумкин нест, барои ӯ комилан бадтар аст (Қисми 10.5).

10Ин аз чӣ ҳимоя намекунад

Мақолае, ки танҳо чизҳоеро, ки тарҳ ба даст меорад, рӯйхат мекунад, системаро тавсиф намекунад ва аз ҳад зиёд тавсиф кардани хусусияти амниятӣ дар интерфейс аз нагузоштани он бадтар аст. Омадаи зерин аз он чизе, ки ин сохтор ҳимоя мекунад, берунанд.

10.1 Риша сирри дуюм аст ва гум кардани он нобаргардиш аст.

Ин нархи воқеии тарҳ аст. Маҳдудияти бахши 2, ки тибқи он корбар бояд танҳо як чизро барои нигоҳ доштан дошта бошад, иҷро карда намешавад: танҳо nsec калиди пас-квантиро такрор намесозад, зеро мақсади асосӣ дар он аст, ки ҳеҷ қимати оммавӣ ва ҳеҷ сирри дигаре онро фош намекунад. Агар ягон дастгоҳ решаро нигоҳ надорад ва ҳеҷ кадоме аз бастаҳои бахши 3.2 кушода намешавад, маводҳое, ки ба калиди аз реша гирифташуда баста шудаанд, барқарор карда намешаванд. Эскоу мавҷуд нест ва қасдан ҳеҷ мақоте, ки метавонад онро нигоҳ дорад, вуҷуд надорад.

Бо гузариши дастӣ ягона роҳ, ин нисбат ба он чӣ гуна дар аввал хонда мешавад, амиқтар аст. Корбаре, ки ҳеҷ гоҳ ...-ро нусхабардорӣ намекунад nympq1… Код дар ҳар ҷо маҳз як нусхаи онро дар як дастгоҳ дорад ва гум кардани он дастгоҳ ҳар як паёмаки пас-квантӣ, блоби танзимот ва сатри архиви ба он басташударо гум мекунад. Он nsec ёрии намерасонад; он хусусият аст, ки тамоми тарҳ ба он такя мекунад.

Ҳар як роҳи печонидашуда, ки баъдтар илова карда мешавад, бояд ҳамон меъёрро ҷанбад, ки роҳи дастӣ ҷанбад. Ҳамлакунанда ба арзонтарин роҳи мавҷуда ҳамла мекунад, бинобар ин арзиши як схема ба арзиши заифтарин роҳи барқарорсозии он вобаста аст — масалан, калимаи гузариши ёддоштшаванда тамоми системаро ба ҳамон сатҳи арзиши калимаи гузариш мерасонад, ва сатри печонидашуда маҳз ҳамон ашёест, ки ҳамлакунандаи «ҳозир ҷамъ кун ва баъдтар дешифр кун» онро ҷамъ карда, дар вақти холӣ ба таври офлайн таҳлил менамояд.

10.2 Аутентификация, ба ҷудо аз махфият

Ҳар як имзо дар Nostr Schnorr бар асоси secp256k1 мебошад ва ин дар ин ҷо бетағйир аст. Душмане, ки компютери квантӣ дорад, метавонад имзоҳоро тафроз кунад ва дар вақти воқеӣ ҳувияти корбарро тақлид кунад. Он чизе, ки мубодилаи калидҳои гибридӣ пешгирӣ мекунад, стратегияи «ҳозир ҷамъ кун ва баъдтар фашор» (harvest-now-decrypt-later) мебошад: ҳамлакунандае, ки трафикро имрӯз сабт мекунад, наметавонад онро баъдтар бихонад. Ин паёмакро дар муқобили душмане, ки аллакай чунин дастгоҳ дорад, тафрознопазир намегардонад. Ин фарқ ба таври қасдан дар замимаҳо инъикос ёфтааст — нишони қулфи зам тасдиқи ҳувиятро (authentication) ва нишони щит махфиятро (confidentiality) хабар медиҳад; онҳо аломатҳои алоҳидаанд, зеро паёмак метавонад якеро дошта бошад ва дигареро не.

Ин инчунин он чизеро маҳдуд мекунад, ки эълон дар Фасли 4 метавонад ваъда диҳад. Пайвастшавии байни npub ва калиди ML-KEM имзои secp256k1 мебошад, бинобар ин мухолифе, ки метавонад онҳоро тақлид кунад, метавонад калиди худро иваз намояд. Махфият дар баробари мухолифи оянда аз аутентичност дар баробари он фарқ мекунад.

10.3 Метадода

Пӯшидани тӯҳфа фиристондаро пинҳон мекунад, гирандаро аз як p тег, намуд ва вақти сабти паёми дохилӣ. Он вуҷуди воқеа, ҳаҷми он ё вақти қабули он аз ҷониби релеро пинҳон намекунад. Таҳлили трафик аз ҷониби ҳеҷ кадоме аз қисмҳои ин тарҳ баррасӣ намешавад.

10.4 Шабакаи оффлайн

Транспорти Bluetooth mesh-и Nymchat протоколи алоҳида бо handshake-и худаш мебошад ва он дар ин кор фаро гирифта намешавад. Паёмҳо тавассути mesh классикӣ мебошанд.

10.5 Паёмҳо аллакай фиристода шудаанд

Матни машфӯр, ки ҳангоми классикӣ будани ҳар як ҷониб сабт шудааст, ҳамеша классикӣ мемонад. Он аллакай мавҷуд аст ва наметавон онро аз нав машфӯр кард. Ҳимоя аз он паёме оғоз мешавад, ки дар он ҳарду ҷониб калидҳои пас-квантӣ доштанд, на дар лаҳзае, ки ин хусусият фаъол карда шуд.

11Алтернативаҳои баррасишуда

РавишЧаро не?
Калиди пас-квантиро аз калиди ҳувият истихроҷ кунед Рад шуд. Истихроҷ алгоритми оммавӣ дар асоси nsec мебошад ва ҳамлакунандаи квантӣ nsec-ро аз npub-и нашршуда бармегардонад, бинобар ин шикастани қисми классикӣ қисми пас-квантиро ҳамроҳи он месупорад. Он ҳар як мушкилии тақсимотро дар ин мақола ҳал кард ва дар баробари ҳеҷ кас мудофиа накард. Фасли 3.1.
Решаро тавассути NIP-44 ба дигар дастгоҳҳои корбар фиристо Бо ҳамон сабаб, танҳо дар либоси дигар рад шуд. Калиди асосӣ (root), ки танҳо таҳти шифргузории классикӣ интиқол дода мешавад, аз ҷониби ҳар касе, ки он паёмро сабт карда, баъдтар калидашро шикастананда бошад, барқарор карда мешавад; ки ҳамин ҳамон душман аст, ки калиди асосӣ барои боздоштани он вуҷуд дорад.
Ҷуфти калидҳои ML-KEM, ки дар ҳар як дастгоҳ алоҳида тавлид шудааст. Рад шуд. Ҷиҳозҳо калидҳои гуногуни декапсулатсияро дошта мебуданд ва як эълони ивазшаванда барои ҳар як ҳувият наметавонад ҳамаи онҳоро дар бар гирад. Ҳамқавлҳо ба ҳар кадом калиде, ки охирин бор нашр шудааст, машф мекарданд ва дигар ҷиҳозҳо наметавонистанд натиҷаро бихонанд. Як реша барои ҳар як ҳувият, ки тавассути масирҳои бабти 3.2 ҳаракат мекунад, аз ин ҳолат пешгирӣ мекунад.
Рутро зери PIN пӯш Рад шуд. PIN-коди чоррақама дар муқобили ҳамлакунандаи офлайн, ки сатри печонидашуда (wrapped row)-ро дар даст дорад, тақрибан 13 бит аст. Пешниҳод кардани он дар канори ду масири 256-биттӣ арзиши заифтарин печонидаро нодуруст тасвир мекунад.
Npub-ро барои доштани ҳарду калид густариш диҳед. 1,184 байт идентификатори мубодилашаванда нест ва ин раванди таҳлили ҳамаи клиентҳои мавҷудаи Nostr-ро барои суроғае, ки ҳамчун 32 байт муайян шудааст, вайрон мекунад.
Хизматрасонии калидии директория Сарвардиеро, ки шабака барои иҷтиноб аз он вуҷуд дорад, дубора ҷорӣ мекунад. Ҳар кӣ ба ҷустуҷӯ ҷавоб диҳад, муайян мекунад, ки кӣ метавонад паёмро бихонад.
Калидро ба ҳар як паём илова кунед Ҳеҷ чизро ҳал намекунад: фиристонда ба ... ниёз дорад гирандаи калид пеш аз аввалин паём, ки маҳз ҳамин ҳолат аст, вақте ки ягон паёми қаблӣ барои ин онро ҳамроҳи надорад.
Созиши имкониятҳо дар доираи канал Сатҳи пасткуниро эҷод мекунад. Ҳуҷумкунандае, ки метавонад праг-и қобилиятро (capability flag) нест кунад, маҷбур мекунад, ки роҳи классикӣ истифода шавад.
Танҳо пас квантӣ, бе қисми классикӣ Таҳлилҳои даҳсолаҳои secp256k1-ро баҳри як примитиви хеле ҷавонтар тарк мекунад. Гибрид танҳо дар сурате ноком мешавад, ки ҳарду нокомӣ.

12Муодилати татбиқ

Nymchat ду татбиқи мустақил аз ин сохторро пешниҳод мекунад — яке бо JavaScript барои замимаи веб ва дигаре бо Dart барои замимаҳои мобилӣ, аз ҷумла портаи ML-KEM-768, ки аз сифр сохта шудааст. Ду татбиқи як примитив одатан камбудӣ ҳисоб мешавад, бинобар ин онҳо ба ҷои эътимод ба мувофиқати онҳо, барои санҷиши муқобил истифода мешаванд.

Татбиқи Dart ML-KEM дар муқоиса бо расмии санҷида шудааст NIST ACVP санҷишҳои ҷавобҳои маълум барои ML-KEM-768 (ML-KEM-*-FIPS20325 ҳолатҳои тавлиди калид, 25 ҳолати капсулакунӣ ва 10 ҳолати декапсулакунӣ, ки ҳамчун маҷмӯи алоҳида иҷро мешаванд. Инҳо векторҳое мебошанд, ки NIST барои тасдиқи амалисозӣ нашр мекунад, бинобар ин гузаштани онҳо исбот мекунад, ки интиқол (port) дуруст аст, на танҳо исботи он ки ду мизон бо ҳам мувофиқатанд. Илова бар ин, фиксатураи муштараки векторҳои санҷишӣ — ҳосил овардани seed, капсулакунӣ, ҳарду формати маълумоти асосӣ ва бастаҳои комил — аз референси JavaScript тавлид шуда ва аз ҷониби ҳарду маҷмӯи санҷишӣ санҷида мешавад. Сирри асосӣ (root secret) он фиксатураро иваз намекунад, балки васеъ мекунад: аз root ба seed, аз root ба ҷуфт-калид, бармаҳамди оммавии root, инчунин калиди ҳосилшуда, nonce ва маълумоти марбут ба қабати берунӣ векторҳои алоҳида мебошанд, бинобар ин ду мизон дар бораи он ки чӣ... nympq1… Код маъно дорад ё дар бораи байтҳое аст, ки паём бо онҳо маҳкам шудааст. Ҳар гуна ихтилоф дар татбиқҳо боилдро ноком мекунад, ба ҷои он ки паёме эҷод кунад, ки клиентди дигар натавонад онро кушояд.

Дар байни инҳо зикри барманд (фингерпринт) сазовар аст. Маҳз ҳамин чиз ба дастгоҳ фарқ мекунад, ки «ин ҳамон решаи ман аст» аз «ин решаи дигарест», ва мизоҷе, ки наметавонад бармайнди мизоҷи дигарро такрор кунад, сабти комилан дурустро ҳамчун сабти мавҷуд надорад мехонад — ва сипас, мувофиқи бахши 3.3, решаи дуюмро сохта, ҳувиятро ҷудо мекунад. Маҳз бо ҳамин сабаб он вектор мебошад.

Nymchat аст манбаи кушода зери AGPL-3.0. Ядрои криптографӣ, ки дар ин ҷо тавсиф шудааст, ин аст js/nym-crypto.js ва js/modules/pq.js дар веб-клиент, ва lib/core/crypto/ бо lib/features/identity/pq_registry.dart дар клиентҳои мобилӣ.

Барои шарҳи кӯтоҳтар ва ғайритехникӣ, нигаред ба саҳифаи махзани дониш дар бораи шифрогузории муқовимат бар зидди квант.