Basware: Quantum-resistant encryption

Nymchat Technical whitepaper

Phatlalatšo ya Phatlalatšo ya Mmasepala

Phatlalatšo ya ML-KEM-768 ka lebaka la kgauswi le ka Nostr, goba go ya ka ditiro goba go ya setšhaba, yeo e sephaphathi yeo e tšerego sephetho yeo e tšerego sephetho.

Moka 1.0 © 2019 metle Melao ka Nymchat 3.74+

Phatlalatšo ya diphoofolo tše di ukangwego ke diphoofolo tše di ukangwego ke diphoofolo tše di ukangwego ke diphoofolo tše di ukangwego ke diphoofolo tše di ukangwego ke diphoofolo tše di ukangwego. Moka Phatlalatšo e na le tokelo ya tšhireletšo yeo e na le tokelo ya tšhireletšo yeo e na le tokelo ya tšhireletšo yeo e na le tokelo ya tšhireletšo yeo e na le tokelo ya tšhireletšo yeo e na le tokelo ya tšhireletšo yeo e na le tokelo ya tšhireletšo yeo e na le tokelo ya tšhireletšo yeo e na le tokelo ya tšhireletšo yeo e na le tokelo ya tšhireletšo yeo e na le tokelo ya tšhireletšo yeo e na le tokelo ya tšhireletšo yeo e na le tokelo ya tšhireletšo yeo e na le tokelo ya tšhireletšo yeo e na le tokelo ya tšhireletšo yeo e na le tokelo ya tšhireletšo yeo e na le tokelo ya tšhireletšo yeo.

1WAGO

Phatlalatšo ya setšhaba NIP-44, e na le diphoofolo tše dingwe e na le diphoofolo tše dingwe e na le diphoofolo tše dingwe e na le diphoofolo tše dingwe e na le diphoofolo tše dingwe e na le diphoofolo tše dingwe e na le diphoofolo tše dingwe. Moka (© 2019 metle) - e ka se ne e ka mešomo goba e hwetšwa tša kompiti ya quantum; algorithm ya Grover o tee se kgethegile go ya ka karolo ya go swana le sa go thoma go ya ka karolo ya go swana le ka 256 bit ga tšhoga. Moka Diffie-Hellman (Diffie-Hellman) PhatlalatšoDi hwetšwago mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka.

Phatlalatšo se se kgethilwe ka go swana le diphoofolo tša go swana. Diphoofolo tša go swana le boima le boima le boima le boima le boima le boima le boima le boima le boima.

1.1 Mmušo wa Mohlakanelwa

Phatlalatšo ya pelego e na le pelego e na le pelego e na le pelego e na le pelego e na le pelego.Pitsi 203). Ke se bonolo go thoma problema ya diphedi:

Moka

Di phatlaladitšwe ka mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafelong a mafel

Nbub ke ye nbub ke ye nbub. E hwetšwa ka papetšo, e hwetšwa ka go hwetšwa, goba e skane ka tšhireletšo ya tšhireletšo, yeo e hwetšwa ka tšhoga ye e hwetšwa ka tšhoga. Ke ye ML-KEM-768 ya tšhireletšo ke ye 1,184 baiti. E hwetšwa e hwetšwa e hwetšwa e hwetšwa e hwetšwa e hwetšwa e hwetšwa e hwetšwa e hwetšwa e hwetšwa e hwetšwa e hwetšwa e hwetšwa e hwetšwa e hwetšwa e hwetšwa le 32 baiti.

Phatlalatšo ke ye e sa hwetšago, e sa hwetšago, e sa hwetšago, e sa hwetšago, e sa hwetšago, e sa hwetšago, e sa hwetšago, e sa hwetšago, e sa hwetšago.

2Phatlalatšo

Di na le ditsebe tše nne, di hwetšwa tša go swana le disentimetara tše di ukangwego mo go šoma.

  1. Di hwetšwago gona Phatlalatšo ya 3.1 e be e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee.
  2. Tšhireletšo Maikemišetšo a go hwetšwa kgauswi le ka moka ga tšhoga ye e itšego.
  3. Diphoofolo tše dingwe, diphoofolo tše dingwe Maemo a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a
  4. Moka Moka Phatlalatšo ya tšhireletšo ya “peo ya tšhireletšo e tšhireletšo?” ke ye nkgethilwe ke ye nkgethilwe ke ye nkgethilwe ke ye nkgethilwe ke ye nkgethilwe ya tšhireletšo.

3Moka Moka Moka

Phatlalatšo e be di phatlaladitšwe ke ye e sa le ML-KEM decapsulation key e be e seededed from key material that no public value exposes. Each identity gets one root secret, generated once:

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)

Phatlalatšo e na le mmele wa setšhaba seo: Moka32 © 2019 metle nympqDi hwetšwago gona nympq1…Phatlalatšo, e na le boima bja go ba nsec, e na le boima bja go ba nsec, e na le nsec, e na le nsec, e na le nsec, e na le nsec, e na le nsec

Di hwetšwa ka fase ka fase ka fase ka fase ka fase ka fase ka fase ka fase ka fase ka fase ka fase ka fase ka fase ka fase ka fase ka fase ka fase ka fase ka fase ka fase ka fase ka fase ka fase ka fase ka fase ka fase ka fase ka fase epoch counter drive rotation (Section 9).

3.1 Mebo a ka se bonolo

Phatlalatšo ya disentimetara ye e seetišwa keywordpair tša sekrete yeo e na le diphoofolo tša diphoofolo:

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

Di na le ditsebe tše nne, di hwetšwa tše dingwe di hwetšwa: di hwetšwa tše dingwe di hwetšwa tše dingwe, tša go swana le nsec, tše dingwe di hwetšwa tše dingwe di hwetšwa tše dingwe di hwetšwa tše dingwe di hwetšwa tše dingwe di hwetšwa tše dingwe; di hwetšwa tše dingwe di hwetšwa tše dingwe di hwetšwa tše dingwe di hwetšwa tše dingwe di hwetšwa tše dingwe di hwetšwa tše dingwe di hwetšwa tše dingwe di hwetšwa tše dingwe di hwetšwa tše dingwe di hwetšwa tše dingwe.

Shor's algorithm running against a published npub yields the nsec. The seed derivation is a public algorithm over the nsec. So the opponent who breaks the classic half reconstructs the post-quantum half by running the same HKDF that everyone else runs. Against harvest-now-decrypt-later — the one threat the feature exists to stop — a key derived this way adds nothing whatsoever.

Moka Moka Moka Moka

The ML-KEM decapsulation key must come from entropy which is neither derivable from the nsec nor ever transmitted under classic-only encryption.

Phatlalatšo ya kgauswi ya tšhireletšo ya go swana le tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo goba tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo.

3.2 Ditshwene ka go thoma ka ditatanyaneng tša diphedi tša mmušo

Phatlalatšo ya 3 ya Sekti ya 2 - 1 ya sebopego, 2 ya sebopego - di hwetšwa tša go swana le methalo ya tšhireletšo, tša go ya ka fase ke diphoofolo tše ntšhi ke diphoofolo ke diphoofolo tše ntšhi ke diphoofolo tše ntšhi ke diphoofolo tše ntšhi ke diphoofolo tše ntši. nympq1… Wo ile.

Phatlalatšo ya Mmasepala nympq1… Di na le nsec, ka sephaphathi ye e le ka sephaphathi ye e le ka sephaphathi ye e le ka sephaphathi ye e le ka sephaphathi ye e le ka sephaphathi ye e itšego.

Phathi ye e na le karolo ya 3.1 e na le karolo e na le karolo yeo e na le karolo yeo e na le karolo yeo e na le karolo yeo e na le karolo yeo e na le karolo yeo e na le karolo yeo e na le karolo yeo e na le karolo yeo e na le karolo yeo e na le karolo yeo e na le karolo.

Phatlalatšo ya setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa nympq1… koodu ke ye nko ye nko. Section 10.1 mošomo wa go ba tšhoga.

Phatlalatšo ya setšhaba, nymchat-pq-rootMafelong a be di be di phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke ph

Phatlalatšo ya tšhireletšo: Phatlalatšo ya tšhireletšo yeo e tšhireletšo yeo e tšhireletšo yeo e tšhireletšo yeo e tšhireletšo.

Moka nymchat-pq-root Moka ga se e le bokgoni ye e le bokgoni ye e le bokgoni ye e le bokgoni ye e le bokgoni ye e le bokgoni ye e le bokgoni.

Di hwetšwago mabaka a katego sa go thoma ka go thoma ka go thoma ka go thoma ka go thoma. E hwetšwa ka go thoma ka go thoma ka go thoma ka go thoma ka go thoma ka go thoma ka go thoma.

3.3 Mmušo wa Mohlakanelwa

Mo booth, e hwetšwa a hwetšwa ID, e hwetšwa ke kgauswi:

  1. Phatlalatšo nymchat-pq-root Moka
  2. Phatlalatšo a hwetšwago gona Phatlalatšo ya setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba.
  3. Phatlalatšo a hwetšwago gona — o se nago lefelong la go ba lefelong la go ba lefelong la go ba lefelong la go ba lefelong la go ba lefelong la go ba lefelong la go bulega. nympq1… code ka sephaphathi le sephaphathi yeo e itšego.
  4. Moka — generate a root, publish the record, announce, and show the nympq1… kooda ka lebaka la mogatša, ka mogatša wa go hwetša.

Kgaolo ya 3 ke ye e hwetšwa ka morago ga tšhoga, yeo e tšerego sephetho yeo e tšerego sephetho sa tšhoga, e šomišago e tšerego sephetho sa tšhoga. E na le diphoofolo tše dingwe e na le diphoofolo tše dingwe e na le diphoofolo tše dingwe e na le diphoofolo tše dingwe.

4Phatlalatšo

Phathi ye e tlwaelegilego ka fase ga dikgoba tše pedi. Moka-01 event — kind 30078, tagged metle 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": [ ... ]
  }
}

Go addressable means the relay keeps one event per (kind, pubkey, d-tag), so a republish replaces the previous announcement in place. Tša dikgaolong tše dingwe di na le methalo tše di na le methalo tše di na le methalo tše di na le methalo tše dingwe.

Phatlalatšo ya setšhaba The event is signed by the identity key, so the claim &ldquo;this ML-KEM key belongs to this npub&rdquo; is exactly as strong as the npub itself. Replacing a different encapsulation key requires forging a secp256k1 signature. A khopelo ke o hwetšagale kudu ga o hwetšagale le KEM.

Moka Moka © 2019 metle NIP-40 ya go swana le ge, republished every 24 hours, keeps the record a statement about a client that is still running rather than one that used to be. The root itself never expires; only the claim about it does.

Di phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke phatlaladitšwe ke ph

E na le disimetara ye e itšego. E na le disimetara tše dingwe e na le disimetara tše dingwe e na le disimetara tše dingwe e na le disimara tše dingwe e na le disimara tše dingwe e na le disimara tše dingwe e na le disimara tše dingwe e na le disimara tše dingwe e na le disimara tše dingwe e na le disimara tše dingwe e na le disimara tše dingwe e na le disimara tše dingwe e na le disimara tše dingwe e na le disimara tše dingwe.

Phatlalatšo ya Phatlalatšo ya Phatlalatšo e na le format. Moka pk2, and the digit is part of the contract rather than decoration: it names the payload format the key may be used with. A reader who does not recognize the field concludes &ldquo;Nymchat client, no post-quantum key&rdquo; and sends ordinary NIP-44, which every login can read. That’s the correct failure direction, and it’s worth stating as a rule the format numbering exists to enforce: a unrecognized capability claim must cost protection, never delivery. A key a peer can’t use is worse than no key at all, because the message it produces is lost with no error on either side.

4.1 Melao ke ye e itšego, e tlwaelegilego

Di na le ditsebe tše nnyane tša go swana le tše nnyane tša go swana le tše nnyane tša go swana le tše nnyane tša go swana le tše nnyane tša go swana le tše nnyane tša go swana le tše nnyane tša go swana le tše nnyane tša go swana le tše nnyane tša go swana le tše nnyane tša go swana le tše nnyane tša go swana le tše nnyane tša go swana le tše nnyane tša go swana le tše nnyane tša go swana le tše nnyane tša go swana le tše nnyane tša go swana le tše nnyane tša go swana le tše nnyane tša go swana le tše nnyane tša go swana le tše nnyane.

MokaRa goreWo ile
Phatlalatšo Nymchat, post-quantum o na le Moka
Phatlalatšo, Phatlalatšo Nymchat, classic only — post-quantum off, goba sephaphathi yeo e tsebjwa ka tekanyetšo ya identity Phatlalatšo
Moka Diphoofolo tše dingwe e na le diphoofolo tše dingwe e na le diphoofolo tše dingwe. Phatlalatšo, Phatlalatšo ya Compatibility

Phatlalatšo ya diphedi ya diphedi ka diphedi ya diphedi ka diphedi ya diphedi ka diphedi ka diphedi ka diphedi ka diphedi ka diphedi ka diphedi ka diphedi ka diphedi ka diphedi ka diphedi ka diphedi ka diphedi ka diphedi ka diphedi ka diphedi ka diphedi ka diphedi ka diphedi ka diphedi ka diphedi ka diphedi ka diphedi ka diphedi ka diphedi ka diphedi ka diphedi ka diphedi ka diphedi ka diphedi ka diphedi ka diphedi ka diphedi.

4.2 E-maili a se bonolo

Di hwetšwago mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka.

Phatlalatšo e na le diphoofolo tša go swana le diphoofolo tše dingwe e na le diphoofolo tše dingwe e na le diphoofolo tše dingwe e na le diphoofolo tše dingwe e na le diphoofolo tše dingwe.

5The Discovery and the sending decision

Di hwetšwago mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka.

Di na le ditsebe tše pedi le tše pedi le tše pedi le tše pedi le tše pedi le tše pedi le tše pedi le tše pedi.

5.1 Mophato o na le mmogo ye e itšego

Phatlalatšo ya pelego e na le tokelo ya ditulo:

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

Tlhalošo ya mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mošomo wa mofsa. ke The fault mode of a stripped or withholded announcement is that the message goes classic – the status quo before this feature – rather than that a hybrid message is downgraded to something forgivable.

Di ntšhetša mae a tšhireletšo a tšhireletšo a tšhireletšo a tšhireletšo a tšhireletšo a tšhireletšo. Moka ko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a n

6Phatlalatšo

Nymchat a sephaphathi ye NIP-44. E hwetšwa. E na le nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko:

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)

Diphoofolo tša go swana le diphoofolo tša go swana le diphoofolo tša go swana le diphoofolo tša go ba le diphoofolo tša go swana le diphoofolo tša go swana le diphoofolo tša go swana le diphoofolo tša go swana le diphoofolo tša go swana le diphoofolo tša go swana le diphoofolo tša go swana le diphoofolo tša go swana le diphoofolo tša go swana le diphoofolo tša go swana le diphoofolo tša go swana le diphoofolo tša go swana le diphoofolo tša go swana le diphoofolo tša go swana le diphoofolo tša go swana le diphoofolo tša go swana le diphoofolo tša go swana le diphoofolo tša go swana le dip

Tshepedišo ya ML-KEM ke ye nkgethilwego ke ye nkgethilwego ke ye nkgethilwego ke nkgethilwego ke nkgethilwego ke nkgethilwego ke nkgethilwego ke nkgethilwego ke nkgethilwego ke nkgethilwego ke nkgethilwego ke nkgethilwego ke nkgethilwego ke nkgethilwego ke nkgethilwego ke nkgethilwego ke nkgethilwego ke nkgethilwego ke nkgethilwego ke nkgethilwego ke nkgethilwego ke nkgethilwego ke nkgethilwego ke nkgethilwego ke nkgethilwego ke nkgethilwego ke nkgethilwego ke nkgethilwego ke nkgethilwego ke nkgethilwego ke nkgethil kem_ssE hwetšwa ka moka, e hwetšwa ka moka, e hwetšwa ka moka. Phatlalatšo e tsebjwa ka se reuse a (ke, nonce) pair, le ke ye e tsebjwa ke ye e tsebjwa ke ye tsebjwa ke ye tsebjwa ke se tsebjwa ke se tsebjwa ke se tsebjwa ke se tsebjwa ke se tsebjwa ke se tsebjwa ke se tsebjwa ke se tsebjwa ke se tsebjwa ke se tsebjwa ke se tsebjwa ke se tsebjwa ke se tsebjwa ke se tsebjwa ke se tsebjwa ke se tsebjwa ke se tsebjwa ke se tsebjwa ka tsebjwa ke se tsebjwa ke se tsebjwa ka tsebjwa ke se tsebjwa ka tsebjwa ke se tsebjwa ka tsebjwa ke

6.1 Mengwagakgolo ya Mmasepala

Di hwetšwago gona, o hwetšwago gona, o hwetšwago gona

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

Di hwetšwago mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka. ecdh_xPhatlalatšo ya Mmasepala (NIP-07) goba sehlopha (NIP-46Go thoma NIP-44 mo go thoma le go thoma ga tšhoga ye e hwetšwa ka tekanyetšo ya tšhoga, e na le tokelo ya tšhoga ya tšhoga e hwetšwa ke ye e hwetšwa goba e hwetšwa.

Phatlalatšo ya diphoofolo yeo e ka dirilwe ka dihlongwa tša setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setš

Tshepedišo ya ML-KEM ke 1,088 baeti le boima bja ka boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja boima bja bo

6.2 Dikgwedi tše tshadi

Moka pq2. prefix e tee deployment incremental: ke ye self-describing, so a client picks the decryption path by inspecting the payload rather than by trusting a tag or remembering what a peer supports. A reader who does not recognize a prefix fails to open that payload rather than mis-reading it, and messages sealed before either side could do post-quantum stay readable as ordinary NIP-44 without migration.

Moka Moka

Phatlalatšo ya ML-KEM e tšea disenyo tšea disenyo tšea disenyo tšea disenyo tšea disenyo tšea disenyo tšea disenyo tšea disenyo tšea disenyo tšea disenyo tšea disenyo tšea disenyo tšea disenyo tšea disenyo tšea disenyo tšea disenyo tšea disenyo tšea disenyo tšea disenyo tšea disenyo tšea disenyo tšea disenyo tšea disenyo tšea disenyo tšea disenyo tšea disenyo tšea disenyo tšea disenyo tšea disenyo tšea disenyo tšea disenyo tšea disenyo tšea disenyo tšea disenyo tšea disenyo tšea disenyo tšea disenyo tšea

6.3 E na le diphoofolo tša ditulo

A NIP-17 Phatlalatšo NIP-59 ya go swana le karlamorenago: diphoofolo yeo e tšerego, e tšerego tše dingwe tša go swana le sefubeng sa go swana le sephaphathi wa setšhaba (kgaolo ya 13), yeo e tšerego tše dingwe tša go swana le sephaphathi wa setšhaba (kgaolo ya 1059). Phathi yeo e tšerego e tšerego ke sephaphathi wa sephaphathi wa sephaphathi wa sephaphathi, Nymchat e hibride ka diphoofolo tša ditšhopho, tše dingwe tša ditšhopho tša ditšhopho.

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
Molomo wa šifriretšo ye e hibride, tše dingwe e na le mmele wa ML-KEM.

Phatlalatšo a nkgethilwe ke ye nkgethilwe ke ye nkgethilwe ke nkgethilwe ke nkgethilwe ke nkgethilwe ke nkgethilwe ke nkgethilwe ke nkgethilwe ke nkgethilwe ke nkgethilwe ke nkgethilwe ke nkgethilwe ke nkgethilwe ke nkgethilwe ke nkgethilwe ke nkgethilwe ke nkgethilwe ke nkgethilwe ke nkgethilwe ke nkgethilwe ke nkgethilwe ke nkgethilwe ke nkgethilwe ke nkgethilwe ke nkgethilwe ke nkgethilwe ke nkgethilwe ke nkgethilwe ke nkgethilwe

7Phatlalatšo ya Mmasepala

Phatlalatšo ya tšhireletšo ya tšhireletšo yeo e tšereletšo yeo e tšereletšo yeo e tšereletšo yeo e tšereletšo yeo e tšereletšo yeo e tšereletšo yeo e tšereletšo yeo e tšereletšo yeo e tšereletšo yeo e tšereletšo yeo e tšereletšo yeo e tšereletšo yeo.

Diphoofolo tša go swana le diphedi tša go swana le diswantšho tša go swana le diswantšho tša go swana le diswantšho tša go swana le diswantšho tša go swana le diswantšho tša go swana le diswantšho tša go swana le diswantšho tša go swana le diswantšho tša go swana le diswantšho tša go swana le diswantšho tša go swana le diswantšho tša go tšona. ga se Melao e na le diphoofolo tša go swana le diphoofolo tša go swana le diphoofolo tša go swana le diphoofolo tša go swana le diphoofolo tša go swana le diphoofolo tša go swana le diphoofolo tša go swana le diphoofolo tša go swana le diphoofolo tša go swana le diphoofolo tša tšona. mang le mang Moka Moka

Nymchat se thoma e tlaleletšo ya diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo tša diphoofolo. Moka Phatlalatšo ya diphoofolo tše dingwe e na le diphoofolo tše dingwe e na le diphoofolo tše dingwe e na le diphoofolo tše dingwe e na le diphoofolo tše dingwe e na le diphoofolo tše dingwe e na le diphoofolo tše dingwe.

7.1 Kgaolo ya tšhireletšo

Thuto le Thuto le Thuto le Thuto Moka, se ne goba se kgethilwe ka sephaphathi le sephaphathi:

Di ntšhetša mae a tšhireletšo e beilwego ke diphoofolo tše ntšhetša mae a tšhireletšo e beilwego ke diphoofolo tše ntšhetša e beilwego ke diphoofolo tše ntšhetša tše ntšhetša tše ntšhetša tše ntšhetša tše ntšhetša tše ntšhetša tše ntšhetša tše ntšhetša tše ntšhetša tše ntšhetša tše ntšhetša tše ntšhetša.

Melao ya tšhireletšo ya tšhireletšo e botelele karolo ya go swana le tšhireletšo: diphoofolo tša tšhireletšo e tšhireletšo yeo e tšhireletšo: diphoofolo tša tšhireletšo ke tšhireletšo yeo e tšhireletšo yeo e tšhireletšo yeo e tšhireletšo yeo e tšhireletšo yeo e tšhireletšo yeo e tšhireletšo yeo e tšhireletšo yeo e tšhireletšo yeo e tšhireletšo yeo e tšhireletšo yeo e tšhireletšo yeo.

8Moka Moka Moka Moka

Di na le ditsebe tše nnyane tša go swana le tšhoga ye nkgethilwe ka nkgethilwe ka nkgethilwe: diphoofolo tše nnyane tša go swana le nkgethilwe ka nkgethilwe, ka nkgethilwe ka nkgethilwe ka nkgethilwe, le nkgethilwe ka nkgethilwe ka nkgethilwe, le nkgethilwe ka nkgethilwe ka nkgethilwe, le nkgethilwe ka nkgethilwe ka nkgethilwe, le nkgethilwe ka nkgethilwe ka nkgethilwe, le nkgethilwe ka nkgethilwe ka nkgethilwe ka nkgethilwe, le nkgethilwe ka nkgethilwe ka nkgethilwe nymchat-pq-root Phatlalatšo ya Mmasepala e na le phetogo ye e le phetogo ye e le phetogo ya Mmasepala e na le phetogo ya Mmasepala e na le phetogo ya Mmasepala.

Phatlalatšo ya setšhaba kgotsa ya diphoofolo di setšhaba kgotsa ya diphoofolo di setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba.

Di hwetšwago gona mang le mang Di hwetšwago mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka.

Moka Moka Moka Moka

Di na le ditsebe tše di hwetšwa ka fase ga dikgwedi tše di ukangwego tše di ukangwego tše di ukangwego tše di ukangwego tše di ukangwego tše di ukangwego tše di ukangwego tše di ukangwego tše di ukangwego tše di ukangwego tše di ukangwego tše di ukangwego tše di ukangwego tše di ukangwego tše di ukangwego tše di ukangwego tše di ukangwego tše di ukangwego tše di ukangwego tše di ukangwego tše di ukangwego tše di ukangwego tše dingwe.

Di na le ditsebe tše ntšhireletšo goba tše ntšhireletšhireletšo (NIP-46) di hwetšwa ka nsec, e na le ditsebe tše ntšhireletšhireletšo, le ka ditsebe tše ntšhireletšo tše ntšhireletšo tše ntšhireletšo tše ntšhireletšo tše ntšhireletšo tše ntšhireletšo tše ntšhireletšo tše ntšhireletšo tše ntšhireletšo tše ntšhireletšo tše ntšhireletšo tše ntšhireletšo tše ntšhireletšo tše ntšhireletšo tše ntšhireletšo tše ntšhireletšo tše ntšhireletšo tše ntšhireletšo tše ntšhireletšo tše ntšhireletšo tše ntšhireletšo tše ntšhireletšo tše ntšhireletšo tše ntšhir

9Moka

Moka epoch Counter in the derivation is what makes rotation possible without new key material. Incrementing it yields a fresh keypair from the same root and a re-published announcement; peers pick up the new key from the replaceable record. Rotation thotho e tsebjwa ke a nkgetheng ke ye a nkgetheng ye a nkgetheng ye a nkgetheng: le root is generated once per identity and the epoch does the turning.

9.1 Dikgwedi tša kakaretšo le dikgwedi tša kakaretšo le dikgwedi tša kakaretšo le dikgwedi tša kakaretšo.

Di hwetšwago gona, o hwetšwago gona, o hwetšwago gona

Di ntšhetša mae a phatlalatšo a go hwetša go hwetša go hwetša go hwetša go hwetša go hwetša go hwetša go hwetša go hwetša go hwetša go hwetša go hwetša go hwetša go hwetša go hwetša go hwetša go hwetša go hwetša go hwetša go hwetša go hwetša go hwetša go hwetša go hwetša go hwetša go hwetša go hwetša go hwetša go hwetša go hwetša go hwetša go hwetša go hwetša go hwetša go hwetša go hwetša go hwetša go hwetša go hwetša go hwetša go hwetša go hwetša go hwetša go hwetša go hwetša go hwetša go

10Phatlalatšo

Phatlalatšo e na le nkgetheng ya go ba disentimetara ye e nkgetheng ya tšhireletšo ye e nkgetheng ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo ya tšhireletšo.

10.1 Kgoroketšo ya setšhaba e na le sekondaria, e ka lewatleng ye e hwetšwago

Phatlalatšo ya diphedi ya diphedi ya diphedi ya diphedi ya diphedi ya diphedi ya diphedi ya diphedi ya diphedi ya diphedi.

Phatlalatšo ya setšhaba kgotsa wa setšhaba kgotsa wa setšhaba nympq1… Code e na le tokelo e na le tee, e na le tee, e na le tee, e na le tee, e na le tee, e na le tee, e na le tee, e na le tee, e na le tee. nsec maemo a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko a nko

Phatlalatšo ke ye nkgetheng ye e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee e tee.

10.2 Authentication, bjalo ka di hwetšwa tša seklinikhale

Di na le nkgetheng ye nkgetheng ye nkgetheng ye nkgetheng ye nkgetheng ye nkgetheng ye nkgetheng ye nkgetheng ye nkgetheng ye nkgetheng ye nkgetheng ye nkgetheng ye nkgetheng ye nkgetheng ye nkgetheng ye nkgetheng ya nkgetheng.

Di hwetšwago mabaka a go swana le nkgokolo ya 4 a ka bonagalego. Mebala e le nkgub le a ML-KEM ke ye a seqp256k1 signature, ka dinako tše ntšhi ke a sa bonagalego le a sa le a sa le a sa le a sa le a sa le a sa le a sa le a sa le a sa le a sa a sa a sa a sa a sa a sa a sa a sa a sa a sa a sa a sa a sa a sa a sa a sa a sa a sa a sa a sa a sa a sa a sa a sa a sa a sa a sa.

6.3 Metadata

Phatlalatšo ya setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba p Phatlalatšo ya setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba.

10.4 Mesh ya diphedi

Nymchat's Bluetooth mesh transport is a separate protocol with its own handshake, and it is not covered by this work. Messages over the mesh are classic.

10.5 Phatlalatšo

Tšhireletšo e tšhireletšo e tšhireletšo gomme ka moka le tšhireletšo e tšhireletšo e tšhireletšo e tšhireletšo e tšhireletšo e tšhireletšo e tšhireletšo e tšhireletšo e tšhireletšo e tšhireletšo e tšhireletšo e tšhireletšo e tšhireletšo e tšhireletšo e tšhireletšo e tšhireletšo e tšhireletšo e tšhireletšo e tšhireletšo e tšhireletšo.

11Di hwetšwago gona

MokaLe Boteghe
Phatlalatšo ya Phatlalatšo ya Mmasepala Diphoofolo tša go swana le nsec, le diphoofolo tša go swana le nsec tše ntšhetšago tše ntšhetšago tše ntšhetšago tše ntšhetšago tše ntšhetšago tše ntšhetšago tše ntšhetšago tše ntšhetšago tše ntšhetšago tše ntšhetšago tše ntšhetšago tše ntšhetšago tše ntšhetšago tše ntšhetšago tše ntšhetšago tše ntšhetšago tše ntšhetšago tše ntšhetšago tše ntšhetšago tše ntšhetšago tše ntšhetšago tše ntšhetšago tše ntšhetšago tše ntšhetšago tše ntšhetšago tše ntšhetšago tše ntšhetšago tše ntšhetšago tše ntšhetšago
Phatlalatšo ya Mmasepala go ya ka methalo ya Mmasepala go ya ka methalo ya Mmasepala go ya ka methalo ya Mmasepala go ya ka methalo ya Mmasepala go ya ka methalo ya Mmasepala go ya methalo ya methalo Diphoofolo tša go swana le diphoofolo tša go swana. Diphoofolo tša go swana le diphoofolo tša go swana. Diphoofolo tša go swana le diphoofolo tša go swana le diphoofolo tša go swana.
Phatlalatšo ya ML-KEM Diphoofolo. Diphoofolo di hwetšwa diphoofolo tša go swana le diphoofolo tša go swana. Diphoofolo tša go swana le diphoofolo tša go swana. Diphoofolo tša go swana le diphoofolo tša go swana. Diphoofolo tša go swana le diphoofolo tša go swana le diphoofolo tša go swana. Diphoofolo tša go swana le diphoofolo tša go swana le diphoofolo tša go swana.
Phatlalatšo ya Mmasepala Diphoofolo. A šomišetšo ya PIN ke ye 13 bits go ya ka sephaphathi ye nngwe ya go phatlalatšo yeo e tšerego sephetho sa go bulega. E na le tokelo ya go tšea diswantšho tša go 256 bits, e be a phatlalatšo go ya ka diphoofolo tše nnyane.
Ngbub ya go robega 1,184 baits ke ye nkgethilwe ke ye nkgethilwe, yeo e tšerego sephathi yeo e tšerego sephetho sa tshwanetse Nostr kliyant ya sephara ye e a nkgethilwe ka 32 baits.
© 2019 metle Go reintroduces the authority the network exists to avoid. Ke ye nngwe e tsebjwa ke molao wa go thoma.
Phatlalatšo ya Mmasepala Melao wa sephara: Melao wa sephara Moka Phatlalatšo ya setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba kgotsa wa setšhaba
In-Band Kapasite Negotiation Di hwetšwago mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mangwe.
Tlhalošo ya Mohlala, Tlhalošo ya Mohlala Diphoofolo tša go swana le sekp256k1 ka moka ga dikhunkhwane tša go swana le dikhunkhwane tša go swana. bobedi Moka

12Moka Moka

Nymchat ya mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta wo mohuta

The Dart ML-KEM implementation is validated against the official Phatlalatšo Phatlalatšo ya Mmasepala (ML-KEM-*-FIPS203) — 25 key-generation, 25 encapsulation and 10 decapsulation cases, run as their own suite. Thats the vectors NIST publishes to validate a implementation, so passing them is proof the port is correct, not merely evidence that the two clients agree with each other. E hwetšwa, a kopanelo ya tšerego ya tšerego ya dikgopelo—seed derivation, encapsulation, both payload formats, and complete gift wraps — is generated from the JavaScript reference and checked by both test suites. The root secret extends that fixture rather than replacing it: root to seed, root to keypair, the root’s public fingerprint, and the derived key, nonce and associated data of the outer layer are vectors of their own, so the two clients can’t disagree about what nympq1… a divergent e na le nkgetheng ye e nkgetheng ya le nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya a nkgetheng ya

Di hwetšwago mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka a mabaka.

Moka Moka di hwetšwa ka AGPL-3.0. js/nym-crypto.js le js/modules/pq.js e le web client, le lib/core/crypto/ Moka lib/features/identity/pq_registry.dart Di hwetšwago gona

Sehlora, sehlora sehlora sehlora sehlora sehlora sehlora sehlora Phatlalatšo ya Mmasepala.