Ọrọigbaniwọle Whitepaper
Post-Quantum Key Agreement ni Nymchat
Ṣatunkọ ML-KEM-768 awujo awujo lori Nostr laisi iwe-aṣẹ tabi iwe-aṣẹ, ati ṣatunkọ awọn awujo awujo awujo awujo awujo awujo awujo awujo awujo awujo.
Ṣatunkọ a post-quantum key exchange to a messenger jẹ diẹ ninu awọn iṣoro cryptography. Awọn primitives ti wa ni ti iṣeto ati awọn libraries ti wa ni. Awọn iṣoro iru jẹ pe gbogbo ẹgbẹ bayi nilo a Oṣu Oju-iwe aṣa, ati a decentralized nẹtiwọki nibẹ ni ko nibẹ ni o wa lati fi o. Awọn iwe-aṣẹ yii fọwọsi bi Nymchat fọwọsi si yi - ibi ti awọn kẹta kẹta ti o wa lati, bi o gba awọn eniyan ti o nilo o, ati ohun ti awọn interface ti o le gba lati sọ lori awọn ipa - ati, ni ibi ti o kẹta, ohun ti awọn ipa ti o ko ni ailewu.
Oju-iwe yii jẹ itumọ ẹrọ fun irọrun. Atilẹba Gẹẹsi jẹ ẹya ti o kan.
1Iṣoro
Awọn iroyin aṣa wa ni aifọwọyi pẹlu NIP-44, eyi ti o ni awọn meji ti o ṣẹda. Awọn meji ti o gbe awọn tẹtẹ — ChaCha20 pẹlu a HMAC-SHA256 tag, keyed nipasẹ Wọle (Oṣuwọn RFC 5869) — ko ba wa ni iyanu nipasẹ kọmputa quantum; awọn algorithm ti Grover nilo a square-root accelerup si a symmetrical key, ati 256 bits ni o wa. O ṣeun awọn ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara awọn ọja 256K1, ati awọn algorithm ti Shor sọrọ awọn diskrete logarithm lẹsẹsẹ. Iṣakoso ọkan titun key lati awọn oniwe-aṣẹ awọn oniwe-aṣẹ awọn oniwe-aṣẹ ati awọn oniwe-aṣẹ awọn oniwe-aṣẹ awọn oniwe-aṣẹ awọn oniwe-aṣẹ awọn oniwe-aṣẹ.
Awọn iṣoro eyi ti o ṣẹda ko ti wa ni tẹsiwaju nigba ti o ba wa awọn ẹrọ kanna. Aṣiṣe pẹlu iṣakoso le fi awọn titẹsiwaju loni ati fi o nigba ti awọn agbara ti o ba wa. Gbogbo ohun ti a fi sori ẹrọ ki o si wa ni pataki ni o wa ti wa ni ṣe. Eyi jẹ awọn ipa pataki ti a post-quantum key exchange gbọdọ, ati eyi ni idi ti awọn iṣẹ ko le wa ni gbọdọ fun awọn ẹrọ lati wa ni ṣe.
1.1 Ọrọìwòye ọrọìwòye
Ti o ba tẹsiwaju si awọn iṣowo ti o ba tẹsiwaju si awọn iṣowo ti o ba tẹsiwaju si awọn iṣowo ti o ba tẹsiwaju si awọn iṣowo ti o tẹsiwaju si awọn iṣowo ti o tẹsiwaju si awọn iṣowo ti o tẹsiwaju si awọn iṣowo ti o tẹsiwaju si awọn iṣowo ti o tẹsiwaju si awọn iṣowo ti o tẹsiwaju.awọn ọja 203). Eyi ni imọran gbigbe a gbigbe iṣoro:
Ṣatunkọ kan post-quantum iṣowo ati awọn ti o nilo kan kọọkan – rẹ ML-KEM aṣayan aṣayan aṣayan aṣayan aṣayan. Nibẹ ni o wa ohun kan, ati bi o gba o ṣaaju ki o to le fi rẹ ohunkohun?
A npub jẹ ẹya ara ẹni. O le fi o lori iwe, o le ṣẹda o siwaju sii, tabi gbe o lati iroyin, ati awọn ti o jẹ gbogbo nibẹ ni o nilo lati ṣayẹwo fun o. A ML-KEM-768 Public Key ni 1,184 bytes. O ko le ṣẹda siwaju sii, o yoo ko fi ni a olumulo, ati o ko si wa ni a QR koodu ni afikun si a idena ti o jẹ nikan 32 bytes.
Ti o dara ju ẹgbẹ jẹ pe a kẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹkẹk
- O le ṣe iṣeduro. A key nibẹ ko le ko le ṣayẹwo ni oju-iwe ni o wa nkan ti ohun ti a atilẹyin fi fun wọn. Section 4 gbọdọ o si awọn idunnu pẹlu a atilẹyin, eyi ti tẹsiwaju yi ọkan ni kikun.
- O gbọdọ ṣiṣẹ lori awọn ẹrọ ti awọn olumulo. Oju iroyin lori foonu ati kọmputa yẹ ki o wa ni o wa ni ọkan key, tabi awọn iroyin ti a ti fi sori ẹrọ si ọkan ko le wa ni ṣẹda lori awọn miiran.
- Ṣe o le wa ni lọwọ. Awọn aṣayan aṣayan ni aṣayan lati a titun, nitorina ohun ti o nilo lati wa ni aṣayan ni aṣayan aṣayan - ati nipa aṣayan ko si miiran reconstruct o. Section 10.1 npe ni owo kan, nitori yi aṣayan ko ti wa ni sọtọ ni owo fun.
2Ọrọigbaniwọle
Ọpọlọpọ awọn ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara.
- Ọpọlọpọ awọn iroyin ti o rọrun. Awọn olumulo ti wa ni ṣee ṣe pataki ninu ọkan nkan, awọn nsec. Gbogbo titun siwaju sii jẹ ọna miiran lati fi akọsilẹ rẹ, ati ọkan ti o ba mọ lati fi nsec yoo ko mọ lati fi sori ẹrọ eyikeyi ti miiran. Section 3.1 nfun yi kan ti o ko le wa ni sori ẹrọ pataki – a post-quantum key ti o ba wa lati awọn nsec le pese ko si post-quantum ailewu nigbagbogbo – ki o si awọn oniru nfun nipa nikan kan titun ati ko siwaju sii: ọkan ninu awọn ohun elo titun, ti o ti wa ni gbigbe ọkan fun ọkan idaduro, ati ni ọkan kanna bi awọn nsec ati ni ọkan ninu ọkan nibi, nitori eyikeyi eniyan ti
- ko si autority. Nibẹ ni ko si wa server ti o le wa ni gbiyanju lati sọ pe eyikeyi key ni ẹni ti o wa. Ati eyikeyi kọọkan server ti wa ni awọn ipo ni eyi ti awọn iroyin le wa ni redirected.
- Ọpọlọpọ awọn ẹya ara, ọkan ẹya ara. Ọpọlọpọ awọn ẹya ara ẹrọ ti o wa ni o wa ni yẹ ki o wa ni idapọ lori gbogbo awọn ẹya ara ẹrọ, ati awọn ọna ẹya ara ẹrọ ti o wa nibẹ ni o wa ko le wa ni o wa lati wa ni ko le wa ni o wa nipa awọn olumulo ti awọn ẹya ara ẹrọ ti o wa ni ifojusi.
- ko si negotiations. Gbogbo awọn ibaraẹnisọrọ ni ibaraẹnisọrọ ti “ti awọn iṣiro ti o tọju?” ni a ipele ti awọn atilẹyin ti o le ṣẹda lati fi awọn aṣayan ti o rọrun.
3Oṣuwọn Root Secret
Awọn iṣoro ti o ṣe pataki jẹ pe awọn ML-KEM decapsulation key ti wa ni sẹyin lati ohun elo pataki eyi ti ko siwaju iye owo. Kọọkan identity gba ọkan iroyin iroyin, ti o ti ṣeto ọkan:
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)
Awọn ẹya ara ti wa ni ṣeto si awọn olumulo bi nsec ni: akojọ32 Ti o ba tẹsiwaju lilọ kiri aaye ayelujara yii, o n gba awọn eto cookies wa
nympqTi o ba tẹsiwaju bi nympq1…, ti o npe ni afikun ninu awọn nsec ni iroyin idunnu lẹhin awọn iṣowo idunnu kanna, kopa pẹlu awọn iṣakoso kanna, ko si wiwọle ati ki o ko si fi nigbagbogbo ninu awọn clear. O jẹ ko si igbasilẹ ati pe o ko jẹ a login. O jẹ ohun elo iṣowo ti olumulo le fi, nikan bi awọn nsec.
Ti o jẹ ẹya-ara ti o wa ni ẹya-ara ni aaye, ki o si ko si miiran ẹya-ara le ṣẹda awọn kanna keypair. epoch Ti o ba tẹsiwaju awọn aṣa (Section 9).
3.1 Ṣugbọn pe awọn key ko le dede lati awọn identity key
Ti o dara julọ oniru jẹ lati seede awọn keypair lati awọn iroyin ti awọn olumulo ti o ni:
seed = HKDF(salt = "…", IKM = nsec) // do not do this
O jẹ gbajumo nitori meji, gbogbo wọn ti o wa: ko si titun lati fi sori, nitori awọn nsec ti wa ni awọn sori ẹrọ; kọọkan ẹrọ ti o ba wa nipa iṣeto, pẹlu ko si awọn sinkronization protocol lati wa ni sẹsẹ; ọkan ti o le ṣe iṣeto fun idunnu ti o wa ni pataki, nitori awọn ẹrọ le ko ba wa ni soro nipa awọn key; ati awọn key ti o wa ṣaaju ṣaaju ki o to ti wa ni ko si ṣaaju, ki a onibara le fi nkan si ohun kan si ọkan ni akọkọ.
Gbogbo awọn ẹya ara ẹni ti wa ni irọrun, ninu ọkan nitorina. Awọn algorithm ti Shor ṣiṣe si a ti ṣiṣe npub yi awọn nsec. Awọn ẹya ara ẹni jẹ algorithm ti a ṣiṣe lori awọn nsec. Ki o si awọn olumulo ti o gbọdọ awọn aṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣi
The ML-KEM decapsulation key o gbọdọ wa lati entropy eyi ti o ko ba wa lati nsec ati ki o ko nigbagbogbo ti wa ni ifowosowopo ni akọkọ-only encryption.
A laifọwọyi ti o ti wa ni ki o si synchronized laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi
3.2 Gba awọn root si awọn ẹrọ miiran ti awọn olumulo
Iṣakoso 3 ti Section 2 - ọkan idaduro, ọpọlọpọ awọn ẹrọ - ko le wa ni gbọdọ nipa aritẹtika nibi, nitori awọn ipo gbogbo ni wipe awọn key ni ko funfunkan ti ohunkohun ti awọn ẹrọ ti wa ni ṣaaju. O yẹ ki o gbọdọ gbọdọ nipa transport ni ibere, ati nibẹ ni nikan ọkan ọna: awọn olumulo mu awọn nympq1… koodu rẹ.
awọn iroyin ti wa ni ṣeto bi nympq1… Ni ibamu si awọn nsec, ati awọn ẹya-ara meji gba awọn ti a fi ni awọn ile-iṣẹ. Ti o jẹ awọn aṣa gbogbo. A ẹya-ara ti a ko ba ni ko ni awọn koodu le wa ni ko ni ifọwọkan, eyi ti a npe ni Itọsọna 4.2.
Iṣakoso akọsilẹ jẹ igbẹkẹle igbẹkẹle ṣugbọn a akọkọ igbẹkẹle. Awọn igbẹkẹle ni Section 3.1 wí pé awọn akọsilẹ le ko ba wa ni igbẹkẹle ni isalẹ iṣakoso akọsilẹ, ati eyikeyi iṣakoso ti yoo ṣe eyi ti o ti wa ni laifọwọyi - syncing o nipasẹ a relay, gbọdọ o si awọn idunnu key - ti wa ni yẹ ki o. Awọn igbẹkẹle ti awọn olumulo ṣiṣe jẹ awọn idi ti awọn aabo jẹ nla.
Awọn iwe-aṣẹ ṣee ṣe iṣeduro fun ọna iṣeduro: awọn iwe-aṣẹ le ṣee ṣe awọn iwe-aṣẹ ti awọn iṣeduro, kọọkan ni a AEAD blob labẹ a kọọkan ti olumulo le ṣeto lori awọn ẹrọ miiran - a passkey PRF iṣeduro, fun apẹẹrẹ. nympq1… Ti o ba tẹsiwaju awọn ọna ti o ba wa ni owo. Itọsọna 10.1 npe ni owo owo.
Ti o ba tẹsiwaju awọn iwe-aṣẹ ti o wa ninu awọn iwe-aṣẹ rẹ, nymchat-pq-rootṢugbọn ko ṣee ṣe iṣẹ ti o nilo: awọn oniwe-ọna ti o jẹ bi ọkan ninu awọn oniwe-ọna ti o mọ pe awọn oniwe-ọna yii ni o ni ọtun, eyi jẹ eyi ti o ṣee ṣe awọn oniwe-ọna-ọna ti o wa ni aṣiṣe (Section 3.3).
awọn nymchat-pq-root Àwọn ẹka kii ṣe Oju-iwe ti o ba wa ni iṣakoso nipasẹ awọn ML-KEM iṣakoso. Oju-iwe yii jẹ awọn kopa nikan ti awọn iṣakoso, nitorina awọn iṣakoso yii jẹ iṣakoso ti o ni iṣakoso nipasẹ awọn iṣakoso: ko si ọkan ẹrọ le ṣẹda oju-iṣakoso, gẹgẹbi ọkan ti o ṣẹda oju-iṣakoso. Oju-iṣakoso ni iṣakoso kan - NIP-44 si ara rẹ - tabi ko si gbogbo. Eyi ni ọkan ibi ti awọn oniru n gba iṣakoso nikan-iṣakoso, ati pe o le gba: awọn iṣakoso ko ni iṣakoso loni, nikan ti o wa.
Gbogbo awọn ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara.This is the single exception, and it is an exception about circularity rather than about strength.
3.3 Ikọja ati itọju
Nipa bootu, pẹlu ẹya ara ẹya ara ẹni, awọn onibara ṣiṣẹ ni akosile yii:
- Ṣayẹwo ni a ti wa ni
nymchat-pq-rootakojọ - awọn ọja, ati awọn ẹrọ yi le fi o — gba o, ki o si fi yi idunnu bi post-quantum agbara.
- awọn ọna asopọ, ati awọn ẹrọ yi ko le fi — ko gbigbe ọna titun, ati ko fi eyikeyi aṣayan ni gbogbo. Tẹ awọn olumulo lati fi ọna yi nipa
nympq1…koodu lati awọn ẹrọ ti o ni o ni. - Wọn ni — gbigbe a iṣeto, fi awọn iroyin, fi sori, ati fi awọn
nympq1…awọn koodu si awọn olumulo lẹkansi ki o le fi o.
Ti o ba tẹsiwaju ki o ba ti o ba tẹsiwaju ki o ba tẹsiwaju ki o ba tẹsiwaju ki o tẹsiwaju ki o tẹsiwaju ki o tẹsiwaju ki o tẹsiwaju ki o tẹsiwaju ki o tẹsiwaju ki o tẹsiwaju ki o tẹsiwaju.
4Iṣeduro agbara
Ọpọlọpọ awọn ọpọlọpọ awọn ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara
Ọrọìwòye 01
akọkọ — kind 30078, tagged 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 nilo awọn relay ti wa ni o ni ọkan iye fun (kind, pubkey, d-tag), ki o si a republish fi awọn akọkọ aworan ni ibi. Kọọkan idunnu nibẹ ni o ni nikan ọkan akoko akọkọ, eyi ni eyi ti o ṣe “tẹsiwaju Alice's key” a nikan aifọwọyi gbigbe ati ki o si a nọmba lati yipada.
Iwe-iwe-iwe-iwe ti wa ni o wa ni o wa ni o wa. Awọn iṣowo ti wa ni tẹsiwaju nipasẹ awọn ẹya ara ẹni, nitorina awọn ifiranṣẹ “a ML-KEM ẹni ni yi npub” ni nikan bi o dara bi npub nikan. Ṣiṣeto kan diẹ ẹni encapsulation ẹni nilo lati ṣe aṣiṣe ailewu secp256k1. Ayanju ti o le ṣe eyi ko nilo lati ṣe iṣoro pẹlu awọn KEM.
Ọrọìwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòwòw Ọjọ 7 NIP-40 Ti o ba tẹsiwaju awọn iroyin, ti a ṣiṣeto gbogbo 24 wakati, ṣiṣeto awọn iroyin kan nipa a onibara ti o ti wa ni ṣaaju ki o si ọkan ti o ti wa ni.
A gbigbe iroyin ti wa ni ko tẹsiwaju bi ọkan ti ko ba ti ko ba ni a key: awọn alabaṣepọ fi awọn akọkọ NIP-44, eyi ti eyikeyi login le ṣayẹwo, ati awọn onibara tẹsiwaju awọn post-quantum ibaraẹnisọrọ lori awọn oniwe-tẹsiwaju ifowosowopo rẹ, nigba ti o ba ṣii. Ki o si wa ti wa ni tẹsiwaju fun diẹ ẹ sii ju ọsẹ kan owo fun awọn imọran fun awọn imọran ti a fi fun nigba ti o ba wa ni aṣiṣe ti o wa ni iṣeduro pe ko si iṣeduro quantum-resistant - ati ko siwaju sii.
Ti o ba ti o ba wa ni ailewu, a akọsilẹ ti wa ni diẹ sii ju awọn key ti o npe: a ẹrọ ti o ti wa ni wipe, reset, tabi ti o ni awọn oniwe-orun ti a fi sori ẹrọ lati fi ailewu lati encapsulate to a key nibẹ ko si wa ni ailewu siwaju sii, ati awọn iroyin ti a fi nipa o ti wa ni ti wa ni ti wa ni wa ni ko si igbẹkẹle ni eyikeyi ibi.
Ẹrọ aṣayan awọn ẹya ara rẹ.The key field names its format. Ile-iṣẹ ni pk2, ati awọn nọmba jẹ ọkan ninu awọn iṣakoso ki o si awọn iroyin: o npe awọn iwọn lilo iwọn lilo iwọn lilo le wa ni lilo pẹlu. A olutọju ti o ko mọ awọn iwọn lilo ni ibamu “Nymchat onibara, ko si post-quantum key” ati fi awọn iwọn lilo NIP-44, eyi ti kọọkan login le wa ni lẹwa. Eyi ni awọn ti o dara ipa ipa, ati o ni o ni o wa lati fi bi kan akọkọ ti awọn iwọn lilo wa lati ṣe atilẹyin: a ko mọ agbara ifowosowopo yẹ ki o gbọdọ owo, ko gbigbe. A key a peer le ko lo jẹ pọju ju ko si ko si iwọn lilo
4.1 Awọn iṣoro ti o jẹ pataki, ati awọn ti o ba tọju
A subtle ṣugbọn pataki iroyin: awọn iroyin ti wa ni tẹlẹ nipasẹ gbogbo Nymchat onibara, ko nikan awọn ti post-quantum-pẹlu, ati awọn akọkọ agbegbe jẹ optional.
| Ṣatunkọ | Itumo | Ṣatunkọ ipa |
|---|---|---|
| Ọrọigbaniwọle pẹlu a key | Nymchat, awọn post-quantum agbara | awọn iroyin |
| Ọrọìwòye, ko si ọrọìwòye | Nymchat, classical nikan — post-quantum off, tabi ọpa ti ko ti wa ni ko siwaju si awọn idunnu ti awọn idunnu | Ọrọìwòye NIP-17 |
| Ọrọìwòye | O le jẹ eyikeyi Nostr tabi Bitchat olumulo | Ti o dara julọ, plus a compatibility wrap |
A keyless iroyin ni a tẹtẹtẹ iroyin ti awọn onibara ṣiṣẹ Nymchat, eyi ti o fẹ awọn send path skip a speculative cross-protocol wrap ti o ba ni lati fi fun ẹnikẹni ti o ko ni anfani lati gba.
4.2 Awọn ẹrọ ti o ko ni anfani lati ṣẹda awọn iṣelọpọ ti wa ni silent
Ọrọìwòye ni o wa: ọkan iṣowo fun idunnu, ọrọìwòye lọwọlọwọ. Eyi ni eyi ti o ṣe awọn oniru-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ.
Ṣugbọn ẹya ẹrọ ti o mọ ẹya-ara nibẹ ni o wa ṣugbọn o ko ni anfani lati fi o, ko fi ọrọigbaniwọle nigbagbogbo. O ko ti wa ni iṣoro ati pe o ko ti wa ni ko fi lati apẹẹrẹ lati apẹẹrẹ: o ṣugbọn ṣugbọn awọn ọrọigbaniwọle ti o ni awọn ẹya-ara ti o ni awọn ẹya-ara ati ṣugbọn ṣugbọn awọn ọrọigbaniwọle ti o tun fi awọn ọrọigbaniwọle, ṣugbọn ṣugbọn awọn olumulo lati fi awọn ọrọigbaniwọle.
5Ṣatunkọ ipinnu ati awọn ifiranṣẹ
Awọn onibara le kọ awọn ẹya-ara awọn ẹya-ara awọn ẹya-ara nipa meji ipa. A ẹya-ara gbigbe awọn eniyan ti a olumulo ti o ṣee ṣe iṣowo pẹlu – awọn ibaraẹnisọrọ ṣiṣe ati awọn ẹya-ara ẹgbẹ – ki awọn oniwe-ọrọ wọn gba bi awọn iyanu. Fun a ẹya-ara gbigbe fun akọkọ akọkọ, a iṣowo ọtun ṣiṣe ni akọkọ akoko, ti o wa ni o wa ni 2.5 akọsilẹ; ti o ba ko fi sori, awọn iroyin ti wa ni klasik, eyi ni awọn ipa ti o wa ṣaaju ṣaaju ki o to post-quantum ti a ti a fi sori ẹrọ.
A olumulo ti o ṣeto lati kan titun ẹrọ, tabi ti o ba mu lati a browser-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe.
5.1 Nitorina nibẹ ni o wa ko si igbẹkẹle
Ti o ba tẹsiwaju awọn aṣiṣe ti awọn aṣiṣe ni ọkan ibeere:
pq = (we hold a signed, unexpired ML-KEM key for this recipient)
Nibẹ ni ko si agbekale agbara, ko si isalẹ agbekale algorithms, ati ko si agbekale agbekale le tẹsiwaju lati ṣeto kan ti o dara julọ. ni Awọn iṣeduro iṣeduro ti a ti tẹsiwaju tabi tẹsiwaju iroyin jẹ pe awọn iroyin ti wa ni klasik - awọn status quo ṣaaju ki o to yi awọn aṣayan - ati pe a iroyin iroyin ti wa ni iṣeduro si ohun ti o ṣe.
Ti o ba tẹsiwaju jẹ ki o si tẹsiwaju diẹ: a onibara fi awọn iṣiro Wọn Ti o ba tẹsiwaju ki o ba ti o ba tẹsiwaju ki o ba tẹsiwaju ki o ba tẹsiwaju ki o ba tẹsiwaju ki o tẹsiwaju ki o tẹsiwaju ki o tẹsiwaju ki o tẹsiwaju ki o tẹsiwaju.
6Iṣakoso Iṣakoso
Nymchat ko ṣayẹwo NIP-44. O gbọdọ o. A ti ko ṣayẹwo NIP-44 ciphertext jẹ ẹya ara ẹya, ati ML-KEM ṣayẹwo a ẹya ara AEAD ni ayika o:
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)
Ni ibamu si awọn iroyin meji yẹ ki o gbọdọ wa lati ṣayẹwo awọn ifiranṣẹ: awọn ipele ti o wa ni nikan NIP-44 titẹti, ati awọn ifiranṣẹ ti o nilo awọn ECDH ti o wa. Aṣiṣe quantum ti o ṣẹda secp256k1 gba awọn ipele ti o wa pẹlu ML-KEM; a ipele ti ML-KEM ṣẹda awọn ipele ti o wa pẹlu NIP-44. Kọọkan ipele gba ibi rẹ:
kem_ssTi o ba tẹsiwaju awọn ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara.kem_ct,recip_kem_pkAwọn ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara.
Awọn ifihan ML-KEM ti awọn olumulo jẹ ifihan, ṣugbọn kọọkan awọn ifiranṣẹ ni aifọwọyi encryption text ati nitorina aifọwọyi
kem_ssTi o ba tẹsiwaju ki o ṣe lati ṣẹda awọn nonce ati ki o si ṣẹda awọn iṣoro:
Wọle-iwe-iwe-iwe 1305
Ti o ba tẹsiwaju lilọ kiri aaye ayelujara yii, o ba tẹsiwaju lilọ kiri aaye ayelujara yii, o ba tẹsiwaju lilọ kiri aaye ayelujara yii, o n gba awọn eto cookies wa.
6.1 Nitorina awọn ẹya ara ẹni ti wa ni separated
Ọna ti o wa ni lati fi awọn mejeji awọn iroyin ni ọkan nẹtiwọki key ati fi o si NIP-44:
ck = HKDF-Extract(salt = "…",
IKM = ecdh_x || kem_ss || …) // do not do this
Ti iṣeto ni o jẹ bi cryptography. O ni ọkan iṣoro: o nilo
ecdh_xTi o ba tẹsiwaju lilọ kiri aaye ayelujara yii, o n gba awọn eto cookies wa (NIP-07) tabi awọn ẹya ara ẹya ara (NIP-46O ṣiṣẹ NIP-44 nipa awọn olumulo ati ki o si fi awọn titẹsi ọrọ, eyi ni gbogbo ipo ti awọn key ni ibi ibi ti awọn ohun elo ko le gba.
Ṣayẹwo awọn iroyin nitorina gbọdọ pe gbogbo igbeyewo ti o npe awọn iroyin iroyin ni a signer, eyi ti o jẹ awọn olumulo ti o dara julọ, ati ko si ọpọlọpọ awọn iṣẹ lori awọn iroyin iroyin le ṣayẹwo o. Layering fẹ awọn iroyin: NIP-44 ti wa ni gbogbo ati ti wa ni produced nipasẹ eyikeyi ti o npe awọn iroyin iroyin, signer pẹlu, nigba ti awọn KEM ọsẹ ti wa ni kọ lati awọn iroyin iroyin iroyin ti awọn onibara ti wa ni taara. Signer iroyin ni awọn akọkọ post-quantum awọn ẹgbẹ ni awọn mejeeji.
Awọn iye owo jẹ iwọn iṣakoso, ati pe o jẹ ko kekere. Awọn ML-KEM titẹti ti wa ni 1.088 bytes ati awọn ọkọ lori gbogbo awọn ọrọ, base64url-coded to 1,451 awọn ọrọ; awọn iṣakoso AEAD fi aṣayan a 16-byte Poly1305 tag ati ki o mu awọn NIP-44 payload ti o gbọdọ nipasẹ kan kẹta. A 50 ọrọ ọrọ ti wa ni o wa lati 176 bytes to 1,712, ati a 2,000-ọrọ ọrọ kan lati 2,820 to 5,238. Awọn iṣakoso ni nipa 1.5 KB fun ọrọ ti o ko ba ti awọn ọrọ ti wa ni kekere, eyi ni awọn owo ti awọn encapsulating titẹti gbogbo igba ti ko ba ṣiṣe awọn titun.
6.2 Awọn idiyele ti o ṣẹda
awọn pq2. Prefix ṣiṣe imudojuiwọn ṣiṣe: o ti wa ni auto-deskripting, ki o si awọn onibara yan awọn iṣakoso ibaraẹnisọrọ nipasẹ iṣakoso awọn payload ti o ko nipa gbọdọ a tag tabi fi ohun ti a peer ni atilẹyin. Aṣayan ti o ko mọ a prefix ti ko gba lati fi yi payload ki o si tẹle o, ati awọn ọrọ ti a fi soriṣi ṣaaju ki o to eyikeyi ẹgbẹ le ṣe post-quantum lati wa ni oye bi awọn akọkọ NIP-44 laisi ko si iṣowo.
ML-KEM decapsulation ti wa ni a ṣe lati ko ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣiṣe ṣ
6.3 Gbogbo awọn ẹya ara ti awọn ajeseku wrap
A NIP-17 Awọn ọrọìwòye jẹ a NIP-59 Oṣooṣu ajọṣepọ: a laifọwọyi iroyin, ti a ti tẹsiwaju labẹ awọn ẹya ara ẹya ara ẹya ara ẹya (ti o 13), ki o si waye labẹ a gbe awọn ẹya ara ẹya ara ẹya (ti o 1059). Ni a login ti o ni awọn ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya ara ẹya.
A signer login gba nikan awọn agbegbe agbegbe. Awọn iroyin ti wa ni produced nipa awọn iroyin bi awọn akọkọ NIP-44 - awọn ohun elo ko le ri awọn iroyin ti o ṣe - ki o si o ko le wa ni hybridized ni ibi. Eyi ko ni owo nikan si awọn iroyin ni iru: awọn iroyin ti wa ni o wa nikan nipasẹ awọn iroyin, ati awọn iroyin ni ohun ti a iroyin iroyin ti wa ni. A olumulo ti o ni iroyin iroyin iroyin yẹ ki o yẹ ki o to awọn iroyin ti wa ni paapa fun awọn iroyin.
7Awọn ọrọ ati awọn iroyin iroyin
A ẹgbẹ ọrọ jẹ ko ọkan titẹtiwọki. O jẹ awọn kanna ọrọ kanna ti a fi fun gbogbo awọn ẹgbẹ, kọọkan kopa ti a fi si awọn ẹgbẹ ti o wa ML-KEM key. A ẹgbẹ ti o ti fi a titẹtiwọki gba a hybrid wrap; ọkan ti o ko ba ni a classical wrap.
Ti o ba ṣee ṣe iṣoro iṣowo ti o ba wa ni iṣoro. Ti o ba ni oṣu kọọkan ninu awọn ẹgbẹ kọọkan kọọkan kọọkan kọọkan kọọkan kọọkan kọọkan kọọkan kọọkan kọọkan kọọkan kọọkan. kii ṣe Aṣaṣiṣe nilo ọkan kopa ti a ṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣi gbogbo O si kopa.
Nymchat nitorina tẹsiwaju iṣakoso per-ọrọ nigba ti awọn fan-out - awọn iṣakoso jẹ nikan mọ nigba ti awọn wraps ti wa ni ṣeto - ati awọn badge iroyin “quantum-resistant si 8 ti 10 awọn ẹgbẹ” ṣugbọn pe awọn iroyin ti wa ni aabo. Nigba ti ko si iṣakoso wa, eyi ni igba ti o wa fun akojọ Ṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣi.
7.1 Ti o ba tẹsiwaju Shield
Ti o ba tẹsiwaju lilọ kiri aaye ayelujara yii, o n gba awọn eto wa. akojọ, ko si nipa awọn software ti o fi o:
- Gbogbo aabo: kọọkan kopa ti awọn aṣayan aṣayan aṣayan aṣayan aṣayan aṣayan aṣayan aṣayan.
- Ẹgbẹ: diẹ ninu awọn kopa ti a ẹgbẹ ọrọ lọ si awọn classical.Draw degraded ki o si pipe, nitori ọkan classical kopa ti a tẹtẹsiwaju idapọ ni gbogbo wọn ni gbogbo a opponent awọn ibeere.
- Ti o ba tẹsiwaju ki o si tẹsiwaju ki o si tẹsiwaju ki o si tẹsiwaju ki o ba tẹsiwaju ki o ba tẹsiwaju ki o ba tẹsiwaju ki o ba tẹsiwaju “unprotected”, “broken”, ati “tẹsiwaju yii ko ni awọn ohun elo”.
Ti o ba tẹsiwaju ti o wa ni ko le wa ni o dara julọ ti o ba wa, ati awọn ipilẹ ti o ti wa ni ri awọn iroyin ti o ti wa ni, ati awọn ipilẹ ti o ti fi awọn iroyin ti o ti ri awọn iroyin ti o dara julọ lori agbara ti awọn iroyin titun yoo wa nkanni ohun ti o wa nkan nipa awọn bytes lori a relay.
Awọn ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya ẹya.
8Awọn iwe-aṣẹ ti a npe ni rẹ
Ọpọlọpọ awọn ohun ti awọn onibara ti wa ni aifọwọyi si awọn olumulo rẹ: awọn ipo synced, awọn asopọ iwe-aṣẹ, awọn ẹya ara ẹni, ati awọn iwe-aṣẹ awọn ọrọ. Awọn wọnyi mu diẹ sii nipa awọn olumulo ju ọpọlọpọ awọn ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọrọ-ọ nymchat-pq-root awọn ẹya ara ẹni, eyi ti ko le ti wa ni ti fi sori ẹrọ ninu a key ti o nikan o le ṣẹda.
A ipo blob tabi a archive akọkọ ti wa ni ninu ọkan nibi fun ọdun, eyi ni nikan awọn iru ti ohun ti a gbọdọ-kẹhin-kẹhin-decrypt-kẹhin olumulo gbọdọ - ọpọlọpọ siwaju sii ju eyikeyi iroyin kan, eyi ti o ba wa ni efemera ni awọn olumulo rẹ.
Ọkan aṣeyọri ṣakoso awọn aṣeyọri nibi ki o si awọn aṣeyọri. gbogbo Ti o ba tẹsiwaju awọn ọna ẹrọ lori iroyin, ki o si kọọkan awọn ọna ẹrọ gbigbe ohun ti o le ṣẹda ni iroyin iroyin rẹ, ati awọn iroyin ti o tẹsiwaju nikan ohun ti gbogbo wọn le ṣẹda. Ṣiṣe eyikeyi ohun ti o ba tẹsiwaju awọn ọna ẹrọ lati awọn ipo rẹ - awọn kanna silent iṣoro Section 3.2 ṣe iranlọwọ nipasẹ awọn miiran awọn ọna, ti o ba wa lati ọna orisirisi.
Aifọwọyi ti o ni idunnu, ṣugbọn ko awọn ọna-ara, le ko ṣẹda ohun ti a ti tẹle si awọn ọna-ara-ara-ara, pẹlu awọn ipo rẹ. Eyi jẹ ipa ti o ṣe, ko si iṣakoso, ati nitorina ti Section 3.3 ni o ni aifọwọyi aifọwọyi ti o ṣe lati ṣe iṣakoso ni ibi ti o ṣe iṣakoso ọna-ara: aifọwọyi kan ti o ko ṣẹda awọn blob, o yoo nikan fi awọn ọna-ara-ara-ara ti idunnu ni meji.
Oju-iwe ti n ṣiṣe ipilẹ ipilẹ oju-iwe oju-iwe oju-iwe oju-iwe oju-iwe oju-iwe oju-iwe oju-iwe oju-iwe oju-iwe oju-iwe oju-iwe oju-iwe oju-iwe oju-iwe oju-iwe oju-iwe oju-iwe oju-iwe oju-iwe oju-iwe oju-iwe oju-iwe oju-iwe oju-iwe oju-iwe oju-iwe oju-iwe.
9Iṣakoso
awọn epoch Ti o ba tẹsiwaju yii jẹ ohun ti o ṣe iṣiro ti o le ṣe laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi laifọwọyi.
9.1 Awọn akọkọ akoko wa, ati eyikeyi ti wa ni re-crypted
Ni ohunkohun ti wa ni rewrite nigba ti a key rotates. A onibara ṣeto awọn decryption candidates lati awọn akọkọ akoko si si epoch − 3, ki a ọrọ tẹtẹ ko ṣaaju ki o to a rotating ti wa ni ṣaaju si awọn keypair ti a ti wa ni akọkọ nigba ti o ti a fun.
Oju-iwe yii jẹ eyi ti o ṣe rotating aabo lati ṣiṣe ni gbogbo: laisi o, gbogbo rotating yoo gbe eyikeyi ti o ba wa ni flight. Gbogbo ohun ti o ti wa ni tẹtẹ ti wa ni ti wa ni o wa lati wa ni oye fun awọn aye ti awọn idaduro, nitori a iroyin ti awọn olumulo ko le ti wa ni ko siwaju sii ti o wa ni abajade fun wọn bi ọkan ti o ti o ko le mu awọn aabo ti o le ti wa ni lati wa ni idaduro (Section 10.5).
10Ti o ba tẹsiwaju
A ọrọ ti o nilo ninu awọn ohun ti awọn oniru ti o gba ko npe ni awọn eto, ati awọn iṣeduro ailewu ni awọn interface jẹ pọju ju ominira o. Awọn wọnyi ni diẹ ninu eyi ti yi oniru.
10.1 Awọn iroyin jẹ iroyin akọkọ, ati awọn ti o ba wa ni ko ṣẹda.
Ti o jẹ owo kan ti awọn oniru. Awọn iṣoro ni Section 2 ti pe olumulo yẹ ki o yẹ ki o ni nikan ohun lati ni: awọn nsec nikan ko reconstruct awọn post-quantum key, nitori awọn nkan nkan nkan nkan ni pe ko si iye owo ati ko si miiran iroyin le fi o. Ti o ba ko si ọkan ẹrọ ti o ni awọn iṣoro ati ko si ọkan ninu awọn iṣoro ti awọn Section 3.2 le ti wa ni ṣii, ohun elo ti a ti fi sori si awọn iṣiro ti o ti wa ni. Nibẹ ni ko si escrow ati nibẹ ni ko ni agbara ti o le ni lati ni ọkan.
Nipa ṣiṣe ọna asopọ nikan, yi jẹ ti o dara ju ti o le tẹsiwaju ni akọkọ. Awọn olumulo ti ko nympq1… koodu nigbati nibẹ ni o ni nikan ọkan kopa ti o, lori ọkan ẹrọ, ati awọn ti o ba wa ti awọn ẹrọ ba wa gbogbo post-quantum ọrọ, awọn ipo blob ati archive akọsilẹ ti a ti tẹle si o.
nsec Ti o ba tẹsiwaju, o jẹ ẹya ara ẹya ara ẹya ara ẹni.
Gbogbo awọn ipilẹ ipa ti a fi sori ẹrọ lẹhinna gbọdọ tẹsiwaju gẹgẹbi awọn ipilẹ ipa ti o ṣee ṣe. Ayanjẹ ni ipa ti o dara ju ipa ti o wa, ki o si ipilẹ ni o wa ni owo ti o wa ni owo bi awọn ipa ti o dara julọ ti o wa ni o wa ni o wa ni o wa ni o wa ni o wa ni o wa ni o wa ni o wa ni o wa ni o wa ni o wa.
10.2 Authentication, gẹgẹ bi daradara lati aabo
Gbogbo igbeyewo ni Nostr jẹ Schnorr lori secp256k1, ati pe o ti wa ni ko siwaju nibi. A olumulo pẹlu kọmputa quantum le ṣe igbeyewo awọn igbeyewo ati igbeyewo awọn olumulo ni akoko nla. Ohun ti awọn iṣeduro iṣeduro iṣeduro ti awọn iṣeduro iṣeduro ni iṣeduro-niwaju-niwaju-niwaju-niwaju-niwaju-niwaju-niwaju: a iṣeduro iṣeduro iṣeduro loni ko le ka siwaju lẹhinna. O ko ṣe iroyin iṣeduro iṣeduro kan ti o ni awọn ẹrọ. Iṣeduro yii ti wa ni ṣeto si awọn ohun elo ti o ni ilọsiwa
Ti o tun tẹsiwaju eyi ti awọn aworan ni Ẹka 4 le fẹ. Awọn ipinnu laarin a npub ati a ML-KEM key jẹ a secp256k1 iwe-aṣẹ, ki o si ọkan olumulo ti o le ṣe awọn wọnyi le fi awọn iwe-aṣẹ awọn oniwe-ọna. Awọn aṣayan si aṣa olumulo ti o wa ni ko jẹ ọkan nipa aṣa si ọkan.
10.3 Awọn metadata
Ọrọìwòye Ọrọìwòye Ọrọìwòye Ọrọìwòye Ọrọìwòye Ọrọìwòye Ọrọìwòye p awọn ọja, awọn iru, ati awọn akoko ti awọn iroyin ibi. O ko fi pe ohun iṣowo nibẹ, iwọn rẹ, tabi nigba ti a relay gba o. Iṣakoso iṣowo ko ti wa ni ifowosowopo nipasẹ eyikeyi iru yi.
10.4 Awọn offline mesh
Nymchat ká Bluetooth mesh transporter ni a ẹya ipamọ ipamọ pẹlu awọn oniwe-ẹrọ rẹ, ati awọn ti o ko ti wa ni yẹ ninu yi iṣẹ. Awọn ifiranṣẹ lori awọn mesh jẹ klasik.
10.5 Awọn iwe-aṣẹ ti a tun fi sori ẹrọ
Ciphertext ti a ti tẹlẹ nigba ti eyikeyi orilẹ-ede ti o ti wa ni ṣaaju ki o wa. O ti wa ni ṣaaju ki o ko le ti wa ni ifọwọsi. Iṣakoso bẹrẹ ni iroyin ti o ba ti awọn orilẹ-ede miiran ti awọn post-quantum keys, ko ni akoko ti awọn aṣiṣe ti a ti fi sori ẹrọ.
11Awọn ẹya ara ẹrọ
| àwárí | Nitori ko |
|---|---|
| Ṣeto awọn post-quantum key lati awọn identity key | O jẹ algorithm aṣa lori awọn nsec, ati a quantum opponent gba awọn nsec lati awọn gbọdọ npub, ki o si gbọdọ awọn ikọkọ ọsẹ awọn ọsẹ lori awọn post-quantum ọsẹ pẹlu o. O ti sọrọ gbogbo awọn iṣeduro iṣoro ni iwe yi ati ki o gbe si ẹnikẹni. |
| Tẹ awọn root si awọn ẹrọ miiran ti awọn olumulo nipasẹ NIP-44 | Oju-iwe ti a fi soriṣi labẹ iṣiro-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe-iwe. |
| Ẹya-ara ML-KEM tẹsiwaju lori kọọkan ẹrọ | Ṣiṣeto. Awọn ẹya ẹrọ yoo wa awọn ipilẹ ti o yatọ si awọn ipilẹ ti o yatọ si awọn ipilẹ ti o yatọ si awọn ipilẹ ti o yatọ si awọn ipilẹ ti o yatọ si awọn ipilẹ ti o yatọ si awọn ipilẹ ti o yatọ si awọn ipilẹ ti o yatọ si awọn ipilẹ ti o yatọ si awọn ipilẹ ti o yatọ si awọn ipilẹ ti o yatọ si awọn ipilẹ ti o yatọ si awọn ipilẹ ti o yatọ si awọn ipilẹ ti o yatọ si awọn ipilẹ. |
| Ṣayẹwo awọn iroyin labẹ a PIN | Aṣiṣe. Aṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣiṣi |
| Ṣatunkọ npub lati mu awọn meji awọn key | 1,184 bytes jẹ ko si ẹya ara ẹya ara, ati awọn ti o yoo ṣe iṣeduro gbogbo awọn nkan ti o wa ni Nostr onibara ti awọn adirẹsi ti o ti wa ni aṣayan bi 32 bytes. |
| Oṣooṣuwọn Key Directory | Reintroduces the authority the network exists to avoid. Ọkan ti o ṣe atunṣe awọn searchup ti o fẹ ki o le wo awọn ọrọ. |
| Ṣatunkọ awọn key si kọọkan ọrọ | Ṣiṣe ohun ti ko ṣe: awọn eniyan nilo awọn akojọ Ti o ba tẹsiwaju tẹsiwaju tẹsiwaju tẹsiwaju tẹsiwaju tẹsiwaju tẹsiwaju tẹsiwaju tẹsiwaju tẹsiwaju tẹsiwaju tẹsiwaju tẹsiwaju tẹsiwaju tẹsiwaju. |
| Iṣakoso agbara in-band | Ṣiṣeto a alailowaya agbegbe. Aṣiṣe ti o le ṣe iṣeduro a agbara ifojusi ti o ṣe iṣeduro awọn ọna ti o dara julọ. |
| Post-quantum nikan, ko si awọn ti o dara julọ | Ṣayẹwo awọn ọdun ti awọn iṣeduro ti secp256k1 ni ifowosowopo fun ọpọlọpọ ọdun diẹ. mejeeji O ṣeun. |
12Iṣakoso Iṣakoso
Nymchat ṣeto mejeeji mejeeji mejeeji ti yi iṣeto - ọkan ni JavaScript fun awọn aaye ayelujara, ọkan ni Dart fun awọn mobile awọn ohun elo, pẹlu a lati-kere ML-KEM-768.
Awọn imudojuiwọn Dart ML-KEM ti wa ni atilẹyin si awọn ofin
Oṣuwọn ACVP
Ọrọigbaniwọle fun awọn ọrọigbaniwọle fun awọn ọrọigbaniwọle (ML-KEM-*-FIPS203) — 25 key-generation, 25 encapsulation ati 10 decapsulation ipo, ṣiṣẹ bi awọn oniwe-ọna suite. Awọn wọnyi ni awọn vectors NIST publishes to validate a implementation, ki o si tẹlẹ wọn jẹ igbeyewo awọn ipo ti awọn ipo jẹ sise, ko nikan igbeyewo ti awọn meji awọn onibara ni ibamu pẹlu awọn miiran. Ni afikun ti, a gbajumo ti awọn ipo vectors — seed derivation, encapsulation, awọn meji payload iroyin, ati awọn pipe gift wraps — ti wa ni gbigbe lati awọn JavaScript iroyin ati ti wa ni tẹlẹ nipasẹ awọn meji iroyin suite. Awọn iroyin iroyin gbigbe iroyin yii ṣugbọn pe o ṣe iṣeduro o:
nympq1… Ọkan ninu eyikeyi imudojuiwọn ṣiṣe awọn build ati ki o si gbọdọ gbọdọ awọn ọrọ pe awọn onibara miiran ko le ṣii.
O jẹ ohun ti o npe ni awọn ẹrọ “ki o jẹ ẹya-ara ti Mo ni” lati “ki o jẹ ẹya-ara kan ”, ati awọn onibara ti o ko le ṣeto awọn ẹya-ara ti awọn onibara miiran yoo wo awọn akọkọ ti o dara julọ bi ko si akọkọ nigbagbogbo – ati ki o si, lẹhin Section 3.3, minu kan akọkọ meji ati fi idẹni. O jẹ a vektor fun o nikan nitorina.
Ọrọìwòye awọn ọja Open Source Ni ibamu pẹlu AGPL-3.0. Awọn ipinnu cryptographic ti a npe ni
js/nym-crypto.js ati js/modules/pq.js ni aaye ayelujara, ati
lib/core/crypto/ akojọ lib/features/identity/pq_registry.dart ni awọn mobile onibara.
Fun awọn ti o pọju, ti ko ni ọna asopọ, wo awọn Àwọn ẹka: Quantum-resistant encryption.