Nymchat teknikua qillqata
Nymchat ukan Kuantum jumatata lluqi uypt'awi
ML-KEM-768 jikhay thakhinakax Nostr thakhinakaru lalanaka, markachaña jan ukax qillqachaña thakhinakax janiw kankiti, ukanakax mä jiahay thakiri ukanamtaki qalltañataki, janiw mä jikhay thakix uñt'añakamatiw.
Mensajeria ukan post-quantum ch'amachäwi sartañax, janiw cryptography ukan utjxati. Primitiwichanakanax uñtatawa ukatxa bibliotecanakanax utjiwa. Jiskaqäwinax, qhiparirinaka katuqasiñ muni... payïri p'acha ch'amanchäwi, ukanakax jan p'achacha ukanakax janiw wali uñt'ata ukanakax uñt'añäkiti. Aka qillqataxa Nymchat kuns ukanakax uñt'ayi uñt'ayaski — payïr ch'amanchäwi kuns ukan jark'asinx, muniri ukanakarux kuns utjaskax, ukanakax uñt'añatakiwa, ukanakax jan jark'añatakiwa uñt'äwi ukanakax.
Aka pankax maquinat jaqukipatawa, ukhamat jan ch’amäñapataki. Inglés arut originalax uka versión ukawa.
1Problema
Nostr jach'a jalsu qillqanaka uñjtayata... NIP-44 ukampi, kimsan uñjaskir isipitata ukhawa. Qillqata much'irin ch'iqita — ChaCha20 HMAC-SHA256 markataki,... HKDF (RFC 5869) — jan mä ukanakax kantuqata kunsan qhiparipata computadora cuántica ukanakax; Grover's algorithm ukanax symmetric key ukanakax raíz cuadrada ukaru katuqasinx, 256 bits ukanax uka ukaru uñjaski. Uka ch'iti ukanax Mut'asi Ch'amachäwi katu elíptika kurva Diffie-Hellman yata secp256k1, ukax Shor's algoritmu logaritmu diskretu t'ant'achaski. Mä jark'aqata sarnaqäwi p'iqitpacha sarnaqäwi ukanataki añchachasina, ukax kaksi jark'aqata ch'uqi ukanakaru uñt'ayapxani.
Aka lurata jawarixa, aka machina jikisiñapach janiw tutuyatäkiti. Uñt'iri uñt'äwinakax aka aksatata qillqata uka qillqata uñt'añatakiw aka uruxa qillqaskañani. Aka uru qillqt'ataxa, uka markachiri uñt'añatakiw, janiw katuñäkiti. Aka post-quantum qillqata uñt'äwinakax uka jawarixa lurañapatakiwa, ukatwa aka luräwixa aka machina lurasiñapach janiw tutuyatäkiti.
1.1 Aka qillqata jawart'äwi tapuku
Ch'amakchäwix wali yatiqatawa: post-quantum key encapsulation mechanism ukax classical exchange ukamp juk'añampi uñjañaxäni, ukax asaltiri ukax mä lurawini uñjañatakixa payatakiw ch'ama sarnaqañäni. Nymchat ukax ML-KEM-768 uñt'ayi (FIPS 203). Ukax jutïru lasañäwi mäq'axa sart'ayätwa:
Alice markat yatiñañataki, may uñt'äw amuyt'añaskta: jupach npub. Post-quantum uñt'äwi amuyasipxa, payïr uñt'äw amuyt'añaskta — jupach ML-KEM uñt'äwi. ¿Uka uñt'äwi kuns ukanwa jichaskta, ukhamaraki kuns uñt'añaskta jupax uñjt'añataki?
Npub ukanakax jini mayänkatakiti. Qillqata p'iqi qillqata, uñt'aña uñt'ataki, uka uñt'aña uñt'ataki, ukanakax markaña uñt'añatakiwa. ML-KEM-768 public key ukanakas 1,184 byteswa. Ukax jani uñt'añataki, uka uñt'añatakixa jani uka uñt'añatakiti, uka uñt'atakixa jani QR code ukan 32 bytes uñt'äwi uñt'añataki.
Jach'añaqa k'umachawa. Ukax jach'aña, payïri uñt'ata aka puriniwa kims askinakayapax, ukax aka qillqata kuns kims askinakayapax jask'anchaskitawa:
- Jakisayañaniwa. Jani wali uñjaña wali markax, uka ch'aqatirinakax uñjañanakax uñjañanakax uñjañanakax... Qallta 4 ukax uñjañataki uñjañataki mayachäwi uñjañanakax, ukax wali uñjasi.
- Markiri makinarinakax mayacht'asipxañapuni. Telefona ukat laptop ukanakax mayacht'ata account uñt'añapa, ukax mayacht'ata ch'aqi uñt'añapa, ukachanax mayakina qamata qillqatanakax mayakina jan janiw maych'ata kiti. 3.2 katusi ukanwa uñt'ayata.
- Ch'iyitatañawa. Públika k'uqi aka k'uchu ukan yatichaskipawa, ukax aka k'uchu ukanwa jikisiñani — ukax uñjatatänix k'uchu uksäkina, juk'amp amuyatata ukanakax janiw uñjt'kiti. 10.1 Pacha ukanwa ch'amanchäwi ukanax kawkis utj ukan mä lurañawa, ukax janiw aka lurañax uñjataniti, ukax ch'amanchasiñawa.
2Amuyt'awi jark'awinaka
Pusi k'uchunaka jawarixa uñt'ayapxi, ukanakax kodu uñt'ayata panx wali lurañ uñt'ayanakax qhiparipxi.
- Jisk'añataki k'uchukari. Nostr uksan juch'uyatäwi sapa mä mayacht'atäkix nsec ukatakiwa. Sapa mä juch'uyatäkix uñt'atäwiwa, ukatxa nsec uñt'asipxäniw uñt'atakiw, ukatxa nsec uñt'asipxäniw uñt'atakiw. Rewirma 3.1 ukanax uñt'atäwi uñt'atakiwa — nsec ukanwa post-quantum juch'uyatäkix uñt'atäwipa — ukatxa ukanax sapa mä juch'uyatäkix uñt'atäwiwa: sapa mä juch'uyatäkix uñt'atäwiwa, sapa mayacht'atäkix sapa mä juch'uyatäkix uñt'atäwiwa, nsec ukanwa uñt'atäwiwa, ukatxa ukanax nsec ukanwa uñt'atäwiwa. Rewirma 10.1 ukanax uñt'atäwi uñt'atakiwa.
- Jani amuyt'äwi. Janiw mä serverux k'uchuñataki khititaki mayir qullunxa ukax uñt'añataki. Aka serverix, mensaxtax mä k'uchurux sartañataki sarnaqañataki.
- Jiska yatichirinaka, mayani uñt'ayawi. Nostr uñt'awix pacha markañanakanakat uñt'atäna. Kuns ch'ama uñt'äwinakax ukanakax juk'ampäkïr uñt'añawa, ukax ukanakax apankipiri yatakinakax janiw uñjjaqirinakarux uñt'atäkiti, uka lurañax uñjjaqirinakarux jark'aqi.
- Jan amuyt'ayäwi. Kunjamasa “kunjamasa k'uñichäwinakaru amuyasitasa?” ukanaka aka ukan uñjañax, jach'ant'irix uka ukanakaru uñatäixa jisk'ant'äwi ukanakaru amuyachañatakixa. Uka uñjañataki ukanakax jisk'ant'äwi ukanakaru k'uchuñataki ukanakaw uñjañani.
3Jark'aqata salla manq'ata
Lurañatakixa ukanawa: ML-KEM decapsulation key-xa janipuni mä uñt'ayäwinakax uñt'añapataki ch'amanchäwinakampi uñt'atawa. Mayja uñt'ayäwinakax mayacha root secret uñt'apxi, mayam uñt'atata:
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)
Uñatäxa usariru uñt'ayätäni nsec ukhäkipäkix: bech32 Runa yatiñataki qallta qillqata ukhamaxa
nympq, ukax uñt'atawa nympq1…, nsec wali uñt'ata identidad markan, jisa uñt'ayäwi ukan, jisa amuyt'äwi ukan phuñt'ata, janipuni qillqt'ata ukat janipuni uñt'ata ukanitux janpuni uñt'ata. Janipuni contraseña ukat janipuni login ukatixa. K'umuri ukatxa ukanxa ukan uñt'atata, nsec ukar uñt'atata ukhax jisa ukatixa.
Saltax munasipampi kamayanktawa, ukax kunsamäkix munaqa jalt'ata ukanakax uñakipata ch'uqi juk'amari tukuyañan janiw k'uchisiti. Nayra... epoch K'uchu t'ikiri ch'amanchay (Phasa 9).
3.1 Kunasaxa key ukan identidad key ukan ukat jan lurt'añ muni?
Uñt'ata uñt'äwix sik'u amuyunakarux k'isipacha amuyunaka t'aqhisiñawa, uxt'asipata ukan:
seed = HKDF(salt = "…", IKM = nsec) // do not do this
Phisqa ukanakampi sum uñjasi, ukax wali wali ukanakampi: janiw mayañäkiti, nsec ukax mayañäwiwa; nayra ukanakax walikiriwa, janiw mayañäkiti; nayra ukanakax walikiriwa, janiw mayañäkiti; ukatxa ch'ixinax janiw mayañäkiti, nayra ukanakax walikiriwa.
Churaqäkipajanakax mä amuyunatawa jani wali uñjasiñitä. Shor's algorithm uka mä wali qillqata npub ukatx nsec uñjachaskitawa. Seed derivationx nsec ukatxa mä wali k'uchu algorithmawa. Chayax, uka classical uka uñjiri ukax, aka HKDF uka kuns qallta chuntaski ukanakax, post-quantum uka pacha uñjachaskitawa. Harvest-now-decrypt-later uka amuyunata — uka amuyunax uka feature uñjasiñatakixawa — uka uka uñjasiñata ukatx mä key ukax jani wali uñjasiñitä.
ML-KEM decapsulation ch'amax, nsec ukanatakiw janiw ch'amanchata kei ukanit entropy, ukatxa classical-only encryption ukanakax janiw ukataki kei ukanit entropy.
Aka amuyax payïri pacha pırmiri pacha ukanax jisa utachaskakiwa. Jakis ukanakax kunsatäwi NIP-44 qillqata ukanakax uñt'atäwi, uka jisk'achäwi uñt'atäwi: jan wali jaqix uka qillqata qillqt'aña, ukatxa uka key-xa vikichaña, ukatxa sapa ukanakas uñt'asiwa. Ukhamatwa sapa ukanakax uka chakanakax ukanakäni, ukatxa jan ukax “jumanakax uka ukanakaru katuqañani” ukax janiw uñt'ati.
3.2 Usurari kaksi uñt'äwinakaru root uñt'aña
Sekundipa Jak'u t'aqha 3 (Constraint 3) Sekundipa 2 (Section 2) — mayäkix identity, walja k'uchu — ukax math ukanakax wali k'uchu ukax k'uchu, ukanakax khititux ch'amanchata key-x wali k'uchu ukanakax k'uchux uñt'atäwi. Ukax transport uñt'atäwi, ukanax mayatix thaki: ukanax uñt'atäwi... nympq1… Jupunakaraki kudikuway.
Saxa uñt'ata kïn nympq1… nsec ukax katu, iskayniq uñt'aña ukanax uka uñt'atäwi ukan jichhaskat ukat uñt'añani. Uka jisa llamqañäwi ukanäkaxawa. Kodigo ukax jukk'atäjama ukanax uñt'aña ukanäkiti, 4.2 ukanakax uka uñt'añäwi ukanäkiniwa.
Manumanata pindachäwiqa qallta t'aqhillañax ukataki, ukax thakhini kamachatawa. 3.1 qullqina lurata uñt'äwi ukan sapa sartañax, yatiqiri xajakirinaka ukatakiwa amparañataki, ukax jina sartañanakax — relay ukan pachan ch'amanchaña, identity key ukan pachan k'uchuñ — akax uñt'äwipä uñjaskaraki. Janiqiri lurata t'aqhillañax amparäwin sapa sartañäwi ukataki.
Formatx aka wrapped path uñt’añataki aski katuqatawa: marq’atawinax wraps uñt’añanakaru mayacht’añawa, katuqata AEAD blob uñt’aña uka key ukanwa, ukarux uñt’añañataki uka device ukan — passkey PRF uñt’aña, ukarux uñt’añataki. Kunpachas uñt'añanakax janiw utjti kunpachas, ukakax janiw utjti ukakax, uka... nympq1… Kódigo janpacha chipt'añataki jakawixa. Seksiyun 10.1 ukax kunata qullqi chikitapxi sasin yarp'i.
Qillqata uka uñt'awi ukanakax ukhana jakini, nymchat-pq-root, ukatxaki wali uksan tunichata. Ch'uqi ukax janiw ukatxa ukax wali lurayata uksan luraski: uñjasiñax payïr uksan yatiqañatak uñjasi, uka nayra jatha ukan uñjasiw utji, ukax jark'akiwa payïr uka uñt'ata ukan lurañax (Section 3.3).
Ukax nymchat-pq-root Kategoría layku janiwa ML-KEM key-manta root-derivad uñt'ata ukhantakiwa. Aka fila ukanax root-kat uñt'ata uka uñt'ata ukhana ukhantakiwa, ukanax root-manta saräwi ukan ukhantakiwa, uka ukhana ukaru xa ukhantakiwa: aka ukhana ukaru juk'amp uñt'ata ukhana, ukan ukhana qillqiri ukhana ukhastinakakiwa. Klassika ukhantakiw ukhantaki — NIP-44 uka ukhantaki — ukhamaraki uñt'ata ukhastinakakiwa. Aka ukhana ukhantakiwa ukhantaki ukhantaki ukhantaki, ukanax jichhax root ukhamakiwa, ukhana ukhamakiwa.
Kunjamasa settings qatakatankinakaki sarta uñt'aña uñt'añäni. Akaqa mayni wali jark'äwixawa, ukax qamañataki ukanäkiti, ukhamaraki sarta ukanakaki ukanäkiti.
3.3 Lurayañaxa ampi markachäwi
Qalltañataki, qhipaqt'aña markañax uñt'asipxa, markanax uka ukanwa lurasi:
- Saraya jakañani
nymchat-pq-rootqillqaqaña. - Qillqata uñjaskta, ukax aka aparayiri ch'allañatakiw. — ukax qhipatätäni ukatxa aka uñt'äwiqa post-quantum ukatat yatiqañani.
- T'aqi uñjasi, ukax aka machaqix mana phuqt'anakipxani. — jakäwi aka janiw uñt'añäkiti, ukax janiw yatiyäwi ukanaka jak'añäkiti. Kamachi ukanakax aka ukanaka uñt'añäkiti ukax uñt'añäkiti
nympq1…Aparäwi ukat kódigo, ukax ukan kakanawa. - Janiw uñt'atäkiti — suksata ch'umphi, qillqata yatiy, yatiy, ukanakax uñt'ay
nympq1…Koodi uypaxataki mayataki, uypaxanaka qhipaqchasiñataki.
Tupan aski ukax wali askiwa uñt'añataki, ukatxa ukanax uñt'äwi uñt'äwi ukhamaraki uñt'añataki. Pä machaqi ukanax mä uñt'äwin mä ch'amachäwi uñt'añax pä ch'amachäwi uñt'äñax utjx, ukax uñt'äwi uñt'añataki.
4P'iqisqaña yatiyäwi
T'aqasita ch'uqi par sapa wali ch'uqi yatichäwi ukan qillqasita.
NIP-01
akachaña — misa 30078, markata 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": [ ... ]
}
}
Addressable ukax relay ukax (kind, pubkey, d-tag) ukanakapataki mayacht'at event mayacht'irinïtha, ukatwa mä republish ukax mä uñt'äwi ukan mä uñt'äwi ukan uñt'ayapxi. Ukatwa, mayacht'ata identidad ukax mayacht'at uñt'äwi mayacht'at uñt'ayi, ukax "Alice key uñt'ayäwi" ukax mä mayacht'at uñt'äwi uñt'ayapxi, mä llista uñt'ayapxänata.
Markañaqa ch'aq'awa. Aka ukanax identity key-ampi markatakiwa, ukax “aka ML-KEM keyx aka npub ukanwa” ukanax npub jisa ch'amampiwa. Kunäkisa encapsulation key uñjanchañäni, secp256k1 signature uñch'äkänïtx. Ukax lurañ muniri (attacker) KEM ukan uñch'añäkiti.
Yatiyäwinaka pacha qulluñani. Paqallqu urqu NIP-40 ukampi Pachaq t'aqisiñax, maypachäwi isinquxiñax, ukax amuyatäwinakax wali wali uñacht'äwi ukanwa, janiw ukanakax mayankata jan ukax katuqatañäkiti. Uka jark'aqiri jan pachañati; ukax uka uñacht'äwinakaxwa pachañati.
Yatiypiwi p'iqatataxa ukanax k'ilya uñjart'atata ukhax jutsutakiwa: jilatanakaqa NIP-44 amuyt'ata uñjart'api, ukanax login ukax uñjart'i, ukatxa clientexa quantum qhipata amuyt'äwi ukax thakhi t'aqasiñäwi ukanax jark'aqata ukhawa. Ukax sawa jisk'achasiñäwi ukax qillqt'at ukanakaraki jark'aqata jisk'achata — ukanakaqa clásico encrypted ukhawa, jan quantum-resistant — ukax juk'amp jan k'umachati. Arsuwi ukax jan p'iqata, qillqt'at ukanaka jan jan qillqt'ata ukhawa, ukatxa juk'amp amuyt'äwi jan sarakiti.
Aka jisk'antxañäwi ukanäkax p'iqi uñt'atäwi ukanakax wali uñt'atawa, janiw mä jaqïru uñt'atäkiti. Jan uñt'ata ukanäkax, mä qillqata ukanax uñt'ata ukanäkax juk'ampi uñt'atawa: mä amuyunäkax uñt'ata, ch'amachata, uka uñt'ata ukanäkax janiw mä jaqïru uñt'atäkiti uka uñt'ata ukanäkax, uka arunaka uñt'ata ukanäkax ch'amanchatawa. Paqallqu p'iqin uñt'atäwi ukanäkax mä p'iqi uñt'atawa, uka amuyunäkax uka qillqata ukanäkax uñt'atawa.
Kamachi k'uchunax uñachäwi sutichañani. Pampa-wa pk2, uñt'ayayiripuni, mana uñt'añataki: ukanaka uñt'ata uñt'ayir uñt'aya. Uk uñt'ayiri ukanaka “Nymchat client, jan post-quantum key” sasa uñt'aya, ukanaka NIP-44 ukanaka purini, ukanaka mayati uñt'ayirinaka uñt'ayapxi. Ukax wali jisk'a uñt'ayirawa, ukanaka uñt'ayir qullu uñt'ayayarakitawa: uñt'ata jan uñt'asipata amuna uñt'atakiwa, jan uñt'ataki. Jan uñt'ayiri ukanaka uñt'ayiri ukanakawan manchamayarakitawa, ukanaka uñt'ataki ukanaka jan uñt'ayiri uñt'ataki uñt'ayarakitawa.
4.1 Ch'akiñax yatiñani, ukhamaraki kimsa valvunäkiri.
Suma uñt'äwi, jisa ukax wali askiwa: yatiyäwinakax Nymchat walja jich'aqanakat mayacht'asipxi, post-quantum qullanaka ukat jich'aqanakax juk'ampi, uñt'ata landitax khitïpachas mayispixi. Ukanax payampi ukax kimsa uñt'äwinakayätwa:
| Uñjaskta | Uñanchi | Sarnaqäwi yatitipxa |
|---|---|---|
| Machimp yatiypiwi | Nymchat, quantum qhiparïri yapata | Masa-misi |
| Yatiyäwi, janipuniw mullu | Nymchat, sarnaqäwita sapa mayata — post-quantum janiw, ukana aparuy janiw identidad uñt'awina uñt'ata. | Jakupacha NIP-17 |
| Jani yatiyäwi | Jani yatita yatiqiri. Nostr uka Bitchat yatiqiri mayatäni. | Klassiku, ukhamaraki kunasiwayi jup'u |
Kunsani laykuna palt'ani layku ukhana q'it'añax wali p'iqit'ata sartañäni. Keyless announcement ukax, yatiqiri Nymchat uñt'atätäna sapa qillqata ukanaxäni, ukanax sapa protocolonaka ukhantaki ukanax janiw uñt'añataki ukat sartañäkistäkiti.
4.2 Saksaxa jan ukhakiñ kamachix janiw arsuñäkiti.
Yatiyawix uñjachiñäkakiwa: may amuyt’awi may amuyt’awitakiwa, ukhamarux ukama qillqt’ataxa jach’añankaski. Ukhamaw may amuyt’awi lurawix uñjacht’aski, ukax jani uñt’atäkiti ukanakax yatiyirix jisk’achäwiwa. May amuyt’awi uñt’at’äwi uñjacht’aski uka ch’uqi uñt’at’äwixa, ukax uñt’at’äwinakax uñt’at’añatakini uñjacht’äwiwa, ukax may ch’uqi uñt’at’äwi uñjacht’äwi uñt’at’äwinakax uñt’at’añatakini uñjacht’äwiwa.
Chayax, sapa urqu akañapataki yatiqata ukampis, janiw p'iqiñkiti, ukax jan wali yatiyt'añäkiti. Janiw wakichata kiti, janiw aplicacionataki p'ijichata kiti: kawkï qillqata lluq'inaka uñjaskitata saräwinakaru lurañaki, ukampis yatiqiraru t'aqasiñanakawa yachayiraki. Janiw arusañäkiti ukax wali amuyt'äwiwa, janiw p'iqitaki arusañäkiti instrumentokati.
5Amaruyäwi u aruntatäwi amuyt'äwi
Clientanaka wali jaranakanakapa uñjanakäwinakapa mä ukanakani uñjaski. Mä uñjanakäwi ukax wali jaranakanakani uksan uñt'añani ukanakani ukaru uñt'aski — amuyt'äwinakani ukatxa wila amuyt'äwinakani — ukatxa ukanakax jani uñt'äwi ukanakani ukhäkini. Mä jach'a jarana uñt'äwi ukanakani ukhäkini, mä ukanakani ukhäkini uksani, 2.5 segundonaki ukhäkini; ukax jani uñt'askiñäkita ukax, ukanakax mä ukanakani ukhäkini, jani post-quantum ukanakani ukhäkini ukax mä ukanakani ukhäkini.
Jan wali sarnaqäwi tunka minutunaka yupayatawa, jampachäwita ukax jan. Musuq uñt'ayiri juntañani luriri, ukax browser-extension login-atata local key-ukata uñt'ayiri, arsuwi ukanaka post-quantum uñt'ayiriwa jikisi, ukax jampachäwitaki yupayata “jan” sarnaqäwi classical encryption-ukata jark'atäni yatiyäwi ukanaka.
5.1 ¿Kunasak jan utjaskti downgrade attack?
Yatichatawi yatichäwi mayni takisiynakaru t'uqiyt'ata:
pq = (we hold a signed, unexpired ML-KEM key for this recipient)
Jan aruskipäwi utjani, jan uñt'ata uñt'äwinakax utjani, ukhamaraki jan mä ch'amanchiri uñt'añataki mä jisk'a ch'amampi purinaqäwi uñt'añataki. Yatiyäwinax uñt'atawa. ukawa amuyt'äwi, uñt'atawa. Mensajexa jillt'atata ukax yakt'äwiwa, mensajexa juk'amp jalu jark'ata jikisiñataki — aka amuyt'äwi jikisiñatakina jisa ukax — janiw mixata mensajexa qillqata lurañataki utjkiti.
Kunjamasa uñjaskïpax uñjaskï, ukatxa juk'amp wali uñjakï: maq'uchiri juk'amp uñt'atankï apachaskï. Sapa k'ili ch'uyatakiwa, ukax k'ili ch'uyatakiwa mayisita uñt'anichasätäna. Jani mä uñt'añanäkiti post-quantum qillqata uñt'anata sapa mayisita uñt'anapaxäna.
6Mixru lurañ
Nymchat NIP-44 ukax wali jila kiti. Ukax jark'askini. Jan wali jaqïchata NIP-44 ciphertext ukax qhipar qhipaxawa, ukatxa ML-KEM keys ukax qhipar jark'ata AEAD ukax ukina jark'askini:
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)
Yatiyawix yatiqañatakiqa qhipaq uñt'awinakasa vikisiñani: jakhuru qullax NIP-44 qullt'at uñt'awinaka mayatakiwa, uka t'aqhisiñatakix classical ECDH uñt'awix uñjasi. Secp256k1 t'aqhisiqiri qantuma ch'amanchax manqha ch'amaka uñt'awix walikiwa, ukatxa ML-KEM uñt'awixa ukhamax jikisiñani; ML-KEM t'aqhisiñax jakhuru qullax ch'axwa, ukhamaraki NIP-44 ukhamax jikisiñani. Kunjamasa ch'amaxa uñjasi:
kem_ssmäq'añanaka mäq'añaña mayacht'aski mayatakiwa. Aka qalltawinakax janiw ECDH qillqata uñt'asipkitiw, uka 6.1 k'uchu uñt't'asipkiwa.kem_ct,recip_kem_pkUñachäwi ch'amanchäwi juk'ampi ukhamaraki uñachäwi uñakipäwi ukan jukk'añäni, ukax qhipa uñachäwi ukan uñjamañäwi uñjañataki uñakipäwi ukan uñjamañataki. Kaksi uñachäwi ukan uñachäwi uñjamañäwi ukamp juk'añani ukax uñachäwi uñjaskäwi, uñjamañataki ukhamaraki.
Encapsulation mä qillqata ukanakaru lurañatakiwa. Quyiqiri ML-KEM ch'amar qillqata ukax jach'a pachanawa, ukax mä qillqata ukanakaru mä ciphertext ukanakaru uñt'añataki uñt'añatakiwa, ukatxa mä...
kem_ss. Aka ukax nonce jakhani lurañax kisin t'aqasañax allinchiwa:
ChaCha20-Poly1305
(key, nonce) par uñt'asipata q'umatawa, ukatxa key ukanakaqa amtawinaka katuqañataki musuwa, ukatxa par ukanaka uñt'asipati.
6.1 ¿Kunasak qhipanak jark'aqata qamañani?
Kunasiñax lulu lluqt'añanakaru may arusuwi khuyaparu yamachaña ukatx NIP-44 ukataki uñakaraki:
ck = HKDF-Extract(salt = "…",
IKM = ecdh_x || kem_ss || …) // do not do this
Aka uñjakax kriptografia ukanakiwaki k'uchuwa. Mä uñt'äkiphawkiniwa: munasipiniwa
ecdh_x, ECDH salida ukan x-koordinada purïna, chave material churañataki — uñt'ayiri extension (NIP-07 ukampi) ukax mä jakhankata markiri (NIP-46 ukampi) janiw uka yatiyäwinakiti deleyti. Uka NIP-44 uñt'äwixa uka uñt'ayirinakapataki uñt'ayi, uñt'asipxi uñt'äwi ukanakaki, ukax k'umura uñt'ayirinakaxa ukanakasa uñt'aña uñt'äwi ukataki uñt'ayañataki.
Ukatxa, ch'amanchäwinakax uñt'äwi uñt'äwinakax jan uñt'añäkini, markañani sutipa ch'amanchäwi uñt'äwinakax uñt'äwi, ukatxa wali jark'aqiri ukanakax, ukatxa ch'amanchäwi uñt'äwi uñt'äwinakax janiw uñt'añäkini. Ch'iqhañäwi uñt'äwinax uñt'äwinakax uñt'añäkini: NIP-44 uñt'äwinax jisk'achäkiti, markañani sutipa ch'amanchäwi uñt'äwinakax uñt'añäkini, ukatxa KEM ch'uqi uñt'äwinax thaki uñt'äwi uñt'äwinakax uñt'añäkini. Markañani uñt'äwinakax post-quantum uñt'äwinakax janiw uñt'añäkini.
Ch'uqiqa bandwidth-wa, ukax jisk'añachäkiti. ML-KEM ciphertext-xa 1,088 byteswa, ukax amuyunaka katuqatawa, base64url-encoded lurañataki 1,451 caractereskama; mä wali AEAD-xa 16-byte Poly1305 tag jila katuqa, ukax NIP-44 payload-xa kimsanäkikax mä qallu ukama juk'ullt'asipxi. 50-caracteres amuyunaxa 176 bytes katuqatawa, ukax 1,712 bytes juk'ullt'aswa; 2,000-caracteres amuyunaxa 2,820 bytes katuqatawa, ukax 5,238 bytes juk'ullt'aswa. Amuyunaxa jisk'a ukax 1.5 KB katuqatawa, amuyunax jisk'a ukax kunsäkini, ukax mä wali amuyunata qhiparkasipañataki ch'uqiwa, mä wali amuyunata jisk'añataki.
6.2 Jast'aw yatiqayata t'aqasinak
Ukax pq2. Prefixaxa utpt'äwi uñt'ayata ukhantay: jupax jupax uñt'ayata sarnaqi, chura uñt'atata (payload) uñt'asipxi, tag uñt'asipxiw ukhasti, ukhast uñt'asipxi. Prefix uñt'apjani uñt'iri (reader) payload uñt'apjani, ukhasti jani uñt'asipxiw ukhasti, ukhast NIP-44 uñt'atata sarnaqi jani migration uñt'atata.
ML-KEM decapsulation uñjacht'atawa jan utjaskäni ukhamat: malformed ciphertext uñjaskta utjax, Fujisaki-Okamoto transform ukax error ukhamaki ukax determinista pseudo-random secret uñjastawa. Ch'amanchäwi key ukax KEM kamachäwi ukanxa jan uñjaskiti — NIP-44 ukanxa HMAC failure ukanxa uñjaskiti, ukhamax classical key ukanxa uñjaskinakan utjax. Callers ukax juk'ampi uñjastawa, ukhamat failure ukax jan uñjastakiti. Ukax Section 9.1 ukan candidate list ukan uñjacht'asi: client ukax key ukanaka uñjastawa ukanax NIP-44 ukanxa uñjastawa ukhamax kunsä ukax.
6.3 Regalo t'aqasata paya uyt'anaka
A NIP-17 ukat juk’ampinaka Jalisat mensahew mä NIP-59 ukampi kamachaña: jan markatata qullu, yatiqiripa sapa markañanaka (tipo 13) ukat k'umapt'ata, ukanax sapa qillqata uñt'añataki uñt'ata key (tipo 1059) ukat uñt'atäna. Sapa markañanaka uka login ukan, Nymchat tuküksi kamachäwinakax juk'ampi juk'ampi jalsuñani, sapa kamachäwinax sapa ukan sapa uñt'atäna.
Markaqirix qhipa qhipa uñakipäwi uñakipini. Marq'añax marq'aqirax NIP-44 ukhax ruwayi — uygulapax ch'uki uñjkiw — ukatxa janiw misichtaña ukax uñakipkiti. Aka mäq'añäwix janiw jayañäkiti: marq'añax jalsu ukhana uñakipini, ukatxa jalsux jark'aqirinakax qillqata qulluñani. Mäq'aqirix qillqata amuyt'äwi uñjaniw, ML-KEM q'umantañani marq'añax uñjasiñanaka katuñatäx.
7Juk'u mesaqinak u ch'akini k'umanchäwi
Mayachata qillqata ukax janiw may uñt'ata qillqataw janiw. Ukax may amuyt'ata qillqatawa mayachata amuyt'awinakaru saqata, may amuyt'ata qillqata ukax may amuyt'awi uñt'at'anakaru uñt'ata. Uñt'at'awinakaru uñt'ata amuyt'awixa mayachata uñt'at'awa churañani; uñt'at'awinakaru uñt'ata janiwa amuyt'awixa nayra uñt'at'awa churañani.
Aka ukax qillqata sarnaqäwi chajrañäwi uñt'äwinakax jakis sarnaqäwi uñt'äwinakax chajrañäwinakaw. Chunka ukhama walt'a ukanakax mä kopyax uñt'äwinakaw, yatiyawax... janiwa Tunka qusqu ch'uqi amparatawa. Jawirax tunka qusqu ukhamaritä jiliy qillqata qillqata munapuni, ukax qillqata amparata lurañatakiwa... sapa Yatiqäwiwa.
Nymchat ukax fan-out ukan mensajetaki uñt'äwinakax uñjasi — aka ch'umphi uñjasi ukanax wraps uñt'añataki — ukatxa badge ukax "10 markanakat 8 markanakat quantum-resistant" sasin uñjayi, mensajetax katuqata sasa uñjayi ukiskantaki. Ukax ch'umphi janiw uñjasi, ukhax janiwa... Kupt'ata t'aqi amtawi (qillqirakiw fan-out uñt'aya), interface-x k'umata uñt'ayäwi janiw k'umata uñt'ayäkiti, juk'ampachata uñt'ayaki. Jatk'ata amtawi uñt'ayiri uñt'ayata k'umata uñt'ayax amtawi uñt'ayirinakax juk'ampacha uñt'ayañäkiti.
7.1 Waq'axa kuns yatichasini
Jark'äwi ukan kiñatpacha arusu... yatiyäwi, jan ukax software uñt'ayäwi ukatäkiti:
- Jukk'u amparayäwi: aka qillqata kupa kupa mista uksan sarxiwayi.
- Jan wali: Jak'u mensajenakarux aski ukanaka ukatxa jark'atawa. Jan wali ukanakarux uñjañaxaxa, pacha k'umara qillqata ukanakax juk'ampi uñjañatawa qhipariri uñjañataki.
- Classical sapa uñt'ayatawa, badge janiw uñt'ayataxa, kunatisa uñt'ayiri uñakarikataxa amuyt'ayiriwa: 'jan jakapatata', 'wakichata', ukat 'aka build ukax jakapatatata janiwa' ukanaka wali uñt'ayiriwa.
Amuyt'aña qillqatawa kunasi jark'atata ukanakas, janiw mayachirinakan qhiparux yatiyäwipata wakichataxa. Akan jark'atata qillqanakaxa janiw ukham jark'atañani ukhamaki, ukatxa mä yatiyäwi ukan mä kunas qhipar mä kunasisa uñt'ayataxa, pachachäwinä qillqanakanakaxäni ukax mä chakuñani.
Nayra ukan uñtata ukanakax juk'ampi jikisiñapataki, janiw ukanakax jisañapataki: mayachata ukanakax wali qhipatata ukanakax mayachata ukanakaruxa ukanakax wali qhipatata ukanakax, ukax mayachata ukanakax qhipatata ukanakax jani uñtata ukanakax ukax ch'aqillata ukanakax.
8Jumanakaki yatiqayata kopinaka
Klientinakax uyirin uñjawixanakaru k'uñch'uñchasi: t'aqisiwayata sarnaqäwinaka, arsuwiwa uñjawix, wila masi key-naka, ukat arsuwiwa qhiparuwi. Aka uñjawinakax uyirin uñjawixanakaru arsuwiwakuna mayacht'asiñatakix juk'amp wali uñjawirawa, jampachata uñjawirixa ch'aka uñjawiriwa ukat arsuwiwakuna k'uñch'uñchasiyatasax. Ukax misk'ata uñjawix ukat uyirin sapa uñjawixatäwi key-napachata uñjawirixa — Pachaw 3.2 uñjawitaxa, uka nymchat-pq-root ukatäkipax ukax, mä ch'amaka ukat jani ukax ukanakax luraña ch'amanchata.
Aka uñt'awinakax uñt'awinax wali askiwa ukanwa. Settings blob ukax mä archive row ukax mä ukanwa mara jaqinaka uñt'ayaski, ukax uñt'ayirina jichhax uñt'ayañataki uñt'ayañatakix wali uñt'ayawixa — mä uñt'awi ukax janiw mara uñt'apkati, ukanwa uñt'ayirinakax janiw uñt'ayapkati.
Mayraq kunsatuy ukax t'aqatakiwa kamachaski, janiw qillqataki k'umata k'umata. Jast'ataki qillqata ukax uñt'añatakiwa... sapa Qillqa markan sariri, ukanakax ukanakax uka listan uñt'ayi uka uñt'ayapata uñjasi, ukanakax qillqa markax ukanaka juk'amp kirqaña uñt'ayi. Ukax saririnakax ukanakax uñt'ayapata uñjasi. 3.2 t'aqhaxa uka uñt'ayapata uñjasi.
May ch'amaka aka nayra aka mayani ukax qallta manqha ukax wali mayani wankayata ukanakampi, ukanakampi ukanakampi ukatxa. Aka uka wali luratawa, wali utjatawa, ukax uka 3.3 qillqata ukanakampi mayachäwi ukatxa lurañataki, qallta lurañataki ukax wali luratawa: payïr qallta ukax ukanakampi ukatxa ukatxa wali mayani, ukanaka ukax nayra aka uñt'aña ukatxa paywayar ukatxa. Jilata/kullaka mayachañapat, ch'amaka ukax ukatxa ukatxa — ukanaka ukatxa uñt'aña ukanakampi ukatxa ukatxa.
Kunisi browser extension ukatxa remote signer (NIP-46) uñt'awayi, janiw nsec uñt'awayi tuqatañataki, ukampis recovery code uñt'awayi, ukatxa 6.1 qillqata ukanakax post-quantum qhipa ukanakax jisk'acha ukanakax uñt'awayi: signer-xa NIP-44 ukanaka jank'aki uñt'awayi, ukatxa client-xa ukhantaki ukanaka uñt'ayawayi. Uka login-xa katuqanaka ukat qhipanakaraki jank'aki participant uñt'awayi.
9T'uqi
Ukax epoch Derivacion ukanax counter ukax uka t'iqinchaña ukax janiw uka ch'usa ukanakapan ukat janiw amuyt'äwi ukat janiw uka ch'usa ukanakapan. Ukax jach'añchatañax uka uñt'ata ukanakapan uñt'ata ch'usa ukanakax uka uñt'ata ukanakapan ukat uka jina uñt'atirinakax uka ch'usa ukanakaru uñt'añani. Ukatxa, t'iqinchaña ukax janiw ukanaka uñt'añapa janiw ukanaka uñt'añapa: uka uñt'ata ukanax uñt'ata uñt'ataxa ukat uka pachanax uka t'iqinchaña ukarux uñt'añani.
9.1 Nayra pachanakax qhipaqt'ani, janipuniw jisk'añata ukat.
K'uchu juk'amaw utjin, ukatxa janipuniw uñt'ata k'uchu juk'amaw utjin. Kullakix jichhax pacha ukatxa pacha - 3 urunakarakiw uñt'atañanakaru uñt'atañani, ukax amuyt'at uñt'atañax juk'amañatak mayampi uñt'atañax juk'amaw uñt'ataña.
Aka q'anq'atäwi ukax rotation aski ukat jark'akäwiwa: ukax janiw ukham jark'akiti, ukhamasti rotation ukax k'uchunaka qhipant'iräkixwa. Ch'amachatata ukanakax mayacht'äwipana uñjañatakiwa, ukhamatix, usuaru ukanakax janiw ch'amanchata ukatjani ukax janiw ukham jark'ata ukanakax jach'a wali jach'a utji (Section 10.5).
10Aka ukax kuna mayach'apxaki
Qillqata diseñu uñt'atänakakiwa sutichaski, sistema uñakipkiti; uñt'añaxa interface uksan qamasa uñt'äwi jach'añchasiñax, jan uñt'añatakiw juch'uyäkiti. Kawasitänakaxa aka lurañax uñt'atänakax jan uksanakanaka.
10.1 Jatha payi mä jakhuna, uka jalsayäpax janiw jutiñapächax.
Kayax uñt'atäwi sartañäwiwa. Section 2 uñt'atäwix, mäpacha mä uñt'atäwi uñt'atix janiw uñt'atäkiti: nsec uñt'atäwixa janiw post-quantum key uñt'ata kiti uñt'atäkiti, pacha uñt'atäwix uñt'ata kiti uñt'atäkiti mä uñt'ata sartañäwi uñt'atäkiti ukax. Janiw mä device ukax root uñt'atäkiti ukax Section 3.2 wraps janiw uñt'ata kiti uñt'atäkiti ukax, root-derived key uñt'atäwinakax janiw uñt'ata kiti uñt'atäkiti. Janiw escrow uñt'atäkiti ukax janiw authority ukax uñt'atäkiti.
Manq'a uñt'äwi mayatänawa, ukax uñt'ata ukanax k'uchuwa. Janipuni uñt'añax... nympq1… Code anywhere mayach uyku uksan mayach qillqata utji, ukat uka uyku p'isiskaspan kawkax qullu (post-quantum) amuyunaka, settings blob ukat archive row ukana qallata ukanakax p'isiskaskapxi. Uka
nsec Jani yanapt'asiti; ukax t'aqisiñax ukankat uñjasiñäniwa.
Kunsimat jach'añataki yawañada pachanaka, manuku pachanaka uñjawit pacha ch'amachäwi uñjawñäni. Ch'amachirinax juk'amp jach'a ch'amachäwi pacha ch'amachapxi, ukatxa jakawix juk'amp jach'a ch'amachäwi kamayata pachanakiwa ch'amanchäki — p'iqinaka ukatxa yatiqaña kamayata sima uñjasi, uka sima ch'amachäwi ukatxa jakawix ukatxa juk'ampi ch'amachapxi, ukatxa yawañada pachanakaqa ch'amachirinakax kunsimat k'umanchañatakiwa juyphi pacha uñjaskipxi.
10.2 Markaña, jani amuyatañataki juk'ampataki
Nostr ukan sapa markañaxqa Schnorr secp256k1 ukanwa, ukax jichhax uñt'atawa. Quantum computer uñt'ata machaq amuyunakarux sapa markañax sarnaqañaxakiwa ukatxa sapa janq'u uñt'ata machaq ukanakarux uñt'ata sarnaqañaxakiwa. Hybrid key exchange ukax 'harvest-now-decrypt-later' ukanakax uñt'atawa: jichhax uñt'ata amuyunakarux janiw uñt'ata kiti. Ukax sapa markañax sarnaqañaxakiwa janiw uñt'ata kiti. Ukax aplikacionakanakax uñt'atawa — padlock indicator ukax authentication ukanwa, shield ukax confidentiality ukanwa, ukatxa sapa ukanakax sarnaqañaxakiwa, ukatxa sapa ukanax sarnaqañaxakiwa sapa ukanakax janiw sarnaqañ kiti.
4 qallta ukan yatiyawix jach'añchayapxa jisk'achasipxi. Npub ukana ML-KEM ch'axwanaka uñt'axanaka secp256k1 markasa, ukatwa mä uñt'atitata markanakaxa lurañ muni, jupax mä ch'axwa uñt'ata uñt'axañ muni. Juyphi uñt'atitata ukan jalsuñax, mä uñt'atitata ukan sarnaqäwi janiw jach'añchayäkiti.
10.3 Yatiyawixin k'umachañanakax
Ch'uqi q'umant'añax yajt'irinaka t'uqi, mäq'irinaka mä sapa... p T'aq'a, sapa kura, uka jilliqata ukhana pacha markanakana. Janiw amuyt'äwi utjata uñt'ichikiti, jach'a utjata ukhamaraki uñt'ata ukhax ukhana. Transitana uñt'äwi aka amuyt'äwinakax janiw uñt'ichikiti.
10.4 Offline ch'alluxa
Nymchat-anakax Bluetooth mesh uksat yatichäwinakax mä jark'añani protokolowa, ukan qalltañäwi ukanakax jark'atawa, ukax aka uñt'äwinakax uñjkiwatti. Mesh uksat qillqatanakax qullu qulluwa.
10.5 Mesaxtanaka kuchuqaata
Sapa luraqirax jisk'a k'irisata katuqasax, k'irisata qillqanakax jisk'a k'irisata katuqaw jach'a katuqawa. Akax jichax k'uchu k'uchuwa, janiwa ukax juch'u taqit p'isata k'uchu taqit taqixa k'uchu taqit janiwa. Qamasañax qalltani sapa luraqirinakatx quantum k'uchu k'irisata katuqasax qillqanakata, janiwa ukax k'uchu taqit p'isata k'uchu taqit taqixa k'uchu taqit janiwa.
11Amuyt'ata markachirinaka
| Jiktanakaña | Kunasak jani? |
|---|---|
| Yatiqayay k'ilya t'aqhisiñani post-kuantika k'ilya. | Nayata. Derivaciónxa nsec ukat jach'a lurañatakiwa, ukat quantum adversaryxa nsec ukana qillqata npub ukat ukanax katuqa, ukax classical michaña lurañaxa post-quantum michaña lurañax ukanax katuqaxtawa. Ukax qillqata ukan kawkasa distribution problem ukanakax katuqas, ukax janipuniw defendi katuqa. Seksiyuna 3.1. |
| Root usuaripa jillt'aña uñt'äwinakaru NIP-44 ukanax sawura. | Akapax wali uñt'atatawa, wali uñt'ata uñt'ataxa jisa. K'uchu uñt'ata ukat uñt'atata sapa ukanakax, uka uñt'ata qillqata ukanakax k'uchu uñt'ata ukax jik'uchatawa, ukax uñt'atiri sapa t'aqasiñatakiwa. |
| Katuqäwi katuqäwinakaru jan wali uñjata ML-KEM par qullqina. | K'achata. Markanaka wali jisk'aqat uñch'uyatnayiri ch'uqi uñch'uyirinakaw uñch'uyirinaka, ukax amuyt'äwi mayat mayat amuyt'äwix janiw uñch'uyirinakax uñch'ayata janiw uñch'ayata. Jupanakax uñch'uyirinakaw uñch'uyata uñch'uyirinakax uñch'uyata, ukax markanaka wali uñch'uyat uñch'uyat uñch'uyat. Amuyt'äwi mayat mayat jach'a uñch'uyiri, Section 3.2 thakhi uñch'uyirinakax uñch'uyat uñch'uyat uñch'uyat. |
| Suyu PIN ukan qhipaña. | Janiw mayañakiti. Pusi qillqata PIN tunka kimsat bits uñt'ata, manq'atata juntaqiri wali k'umachata ch'uqi uñt'ata. Ukax paypacha 256-bit chaka uñt'atata ukax aka p'iqimiri wrap ukaru jach'aña luräna. |
| Npub-xa p'unjachiri t'aqhisiñanak amuyt'aña jach'añchata. | 1,184 bytes janipuni uñt'ata amuyt'äwi utjaskti, ukatxa 32 bytes uñt'atata qhipatäkita amuyt'äwi uñayax rusakipäxä jisa Nostr clientinakax. |
| Nayra qillqata uñt'äwi lurañäwi | Amautäwinak nayrapach uñt'añani, muxsanakax amautäwinak uñt'añataki ukanakat. Huñsiñäwita jawq'irinakax qillqata uñt'aña ukanakax amuyt'ani. |
| Llank'ata qillqatanaka taki jich'ata. | Janiw mäke wali aruskiti: arsuqiri uñakipt'i... mayachirin qallta yatiyäwin p'iqt'a jakhu, ukax uñt'äwiwa: janiw jayp'u yatiyäwi ukax mayapxäni. |
| Mä ukhana kapaqañani arsuñani | Jisk'añachaña pachan luraski. Marka q'isiñani qallt'iri, nayrïr amtawin luraski. |
| Kuantum qhipata llakilla, jan klasikollax ch'axwa. | Secp256k1 ukan kupka mara k'umanchäwi ukan jisk'achaski, jach'a jawira amuyt'äwi ukan ukan saraki. Hibrido ukan jisk'achasi lurañataki... paypacha Q'uphäwi. |
12Lurakiña jaylliña
Nymchat uka ukanakax mä JavaScript ukanakax web application uka, mä Dart ukanakax mobile application uka, mä ML-KEM-768 ukanakax uka. Mä ukanakax mä ukanakax uka ukanakax uka, ukatxa uka ukanakax uka uka uka.
Dart ML-KEM luräwi uñjiri ukanampi verifikatawa.
NIST ACVP
Amsañanaka k'inaruqanak ML-KEM-768 mayat (ML-KEM-*-FIPS203) — 25 key-generation, 25 encapsulation ukat 10 decapsulation ukanakax mayacht'ata suite ukanakampi mayacht'asiñani. Ukanakax NIST ukanakax amuyt'äwi walikipañataki uñt'asipxi, ukat ukanakax walikipata uñt'añatakiwa, juk'amp wali katuqäwi ukat mayacht'ata amuyt'äwinakax walikipata uñt'añatakiwa. Ukhamaraki, JavaScript reference ukanakamp mayacht'ata test vectors — seed derivation, encapsulation, payload format ukat complete gift wraps ukanakax uñt'asipxi. Root secret ukanakax ukanaka mayacht'asiñani, ukanaka manañani ukanaka ch'amanchasipxi: root to seed, root to keypair, root public fingerprint ukat derived key, nonce ukat associated data ukanakax ukanaka mayacht'ata ukanakampi uñt'asipxi, ukata mayacht'ata amuyt'äwinakax jisk'achata uñt'añatakiwa
nympq1… K'umara xan yatiyäwinakax ch'umpiytata k'umara yatiyäwinakampiwa. Lurawinaka jukk'uñaxanxa, lurañax k'uchupt'aski, ukampis khuyayiri akañapjax akañanakistaki.
Aka fingerprint ukax uñt'añäni. Akax device ukax uñt'ayaski: "akax nayax uñt'atäwa" ukatxa "akax mayañäkïtwa", ukampis mayän client ukax mayän client fingerprint ukax uñt'añapataki, ukax janiw uñt'ayäti, janiw uñt'atayäti — ukatxa, Qillqata 3.3 ukatxa, mayän markasini uruwayata ukatxa uñt'ayata. Aka ukax ukatwa janiw uñt'äti.
Nymchatwa Phutaki
sarnaqäwi AGPL-3.0 ukan. Ukax uñt'ayata kryptografiku uñt'ayäwiwa.
js/nym-crypto.js ukat js/modules/pq.js web client ukipach, ukatxa
lib/core/crypto/ ukampi lib/features/identity/pq_registry.dart móvil klienisinakaru
Jisk'achata, jan teknika yatiyäwi uñjañatakixa... Quntamu manq'aqañataki ch'amanchata qillqata yatiña kamayïri p'ajcha.