علم کی بنیاد: کوانٹمی مزاحمت خفیہ

نیم چیٹ تکنیکی وائٹ پیپر

Nymchat میں Post-Quantum Key Agreement

ML-KEM-768 عوامی کلیدوں کو ایک ڈائریکٹری یا رجسٹریشن کے بغیر ہماری طرف متوجہ کرنا، اور ان کو ایک راز سے پھینکنا جو کوئی عوامی قدر ظاہر نہیں کرتا.

ورژن 1.0 اگست 2026 Nymchat 3.74+ کے لئے لاگو ہوتا ہے

ایک پیغامات کے لئے ایک پیغامات کے بعد کے کلید تبادلے کو شامل کرنا اکثر ایک خفیہ مسئلہ نہیں ہے. ابتدائیوں کو معیاری کیا جاتا ہے اور لائبریریوں موجود ہیں. مشکل حصہ یہ ہے کہ ہر شرکاء کو اب ایک کی ضرورت ہے. دوسرا عوامی کلید، اور ایک وکندریقرت نیٹ ورک کے پاس یہ بتانے کے لیے کوئی واضح جگہ نہیں ہے۔ یہ مقالہ بیان کرتا ہے کہ نیم چیٹ اس کا جواب کیسے دیتا ہے-دوسری کلید کہاں سے آتی ہے، یہ ان لوگوں تک کیسے پہنچتی ہے جن کو اس کی ضرورت ہے، اور انٹرفیس کو نتیجہ کے بارے میں کیا دعوی کرنے کی اجازت ہے-اور، آخری حصے میں، وہ نتیجہ کس چیز کی حفاظت نہیں کرتا ہے۔

1مسئلہ

ہمارے ذاتی پیغامات کو خفیہ کیا جاتا ہے NIP-44، جس کے دو الگ الگ حصے ہوتے ہیں۔ وہ نصف جو سادہ متن کو کھرچتا ہے-چاچا 20 جس میں ایچ ایم اے سی-ایس ایچ اے 256 ٹیگ ہوتا ہے، اس کے ذریعے کلیدی ہوتا ہے۔ ایچ کے ڈی ایف (RFC 5869 کے بارے میں) — ایک کوانٹمی کمپیوٹر کی طرف سے قابل ذکر طور پر خطرہ نہیں ہے؛ Grover کا الگورتھم ایک symmetric key کے مقابلے میں ایک square-root accelerup کی قیمت ہے، اور 256 بٹ اس کو جذب کرتا ہے. اتفاق کرتا ہے کلید پر ایلیپٹک-وکر ڈفی-ہیلمین ہے سیکنڈ 256k1، اور شور کا الگورتھم مجرد لوگرتھم کو یکسر حل کرتا ہے۔ اس کے عوامی ہم منصب سے ایک نجی کلید کو بازیافت کرنا ماضی سے ہر مشترکہ راز کو بے نقاب کرتا ہے جو کلید نے کبھی پیش کیا تھا۔

اس کی تخلیق کرنے والی دھمکی اس طرح کی مشین کی موجودگی تک توسیع نہیں کی جاتی ہے. اسٹوریج کے ساتھ ایک دشمن آج سکرپٹ ٹیکسٹ کو ریکارڈ کرسکتا ہے اور جب بھی صلاحیت پہنچتی ہے تو اسے ڈسکرپٹ کرسکتا ہے. اب بھی اہم باتیں بھیجنے والی کوئی بھی چیز اب بھی نقصان پہنچ گئی ہے. یہ ایک مخصوص حملہ ہے جس کے بعد کوانٹمی کلید تبادلہ شکست دیتا ہے، اور اس وجہ سے کام اس مشین کو تعمیر کرنے کے لئے انتظار نہیں کر سکتا.

1.1 اس مضمون کے جوابات

تخفیف کو اچھی طرح سے سمجھا جاتا ہے: کلاسیکی تبادلے کے ساتھ ساتھ پوسٹ کوانٹم کلیدی انکیپسولیشن میکانزم چلائیں، لہذا حملہ آور کو کچھ بھی پڑھنے کے لیے دونوں کو توڑنا پڑتا ہے۔ نیم چیٹ ایم ایل-کے ای ایم-768 کا استعمال کرتا ہے (پی آئی اے 203)۔ اس سے فوری طور پر تقسیم کا مسئلہ پیدا ہوتا ہے:

سوال کا

آج ایلس کو پیغام بھیجنے کے لیے، آپ کو ایک چیز کی ضرورت ہے: اس کا این پیب۔ ایک پوسٹ کوانٹم ایکسچینج شامل کریں اور آپ کو ایک سیکنڈ کی ضرورت ہے-اس کی ایم ایل-کے ای ایم پبلک کلید۔ وہ کلید کہاں رہتی ہے، اور اس سے پہلے کہ آپ اسے کچھ بھی بھیج سکیں، آپ اسے کیسے حاصل کرتے ہیں؟

آپ اسے کاغذ پر لکھ سکتے ہیں، اسے بلند آواز سے پڑھ سکتے ہیں، یا اسے ایک سکرین سے سکرین کرسکتے ہیں، اور یہ سب کچھ ہے جو آپ کو آپ کے لئے خفیہ کرنے کی ضرورت ہے. ایک ML-KEM-768 عوامی کلید 1,184 بائٹ ہے. یہ آواز میں نہیں پڑھ سکتے ہیں، یہ ایک صارف نام میں شامل نہیں ہو گا، اور یہ صرف 32 بائٹ کی شناخت کے علاوہ ایک QR کوڈ میں نہیں ہے.

مشکل حصہ یہ ہے کہ دوسرا کلید تین مختلف مسائل کا سامنا کرتا ہے، اور اس دستاویز کا باقی حصہ ان کا جواب ہے:

2ڈیزائن محدود

چار پابندیوں نے جواب کو شکل دیا، اور وہ کسی بھی کوڈ کو لکھنے سے پہلے سب سے زیادہ واضح ڈیزائن کو خارج کرتے ہیں.

  1. ممکنہ طور پر کم سے کم راز ہمارے صارفین کو پہلے سے ہی ایک ہی راز ہے، nsec. ہر اضافی راز آپ کی تاریخ کو کھو کرنے کا ایک اور طریقہ ہے، اور کسی کو جو ایک nsec کو بیک اپ کرنے کے لئے جانتا ہے وہ کسی اور چیز کو بیک اپ کرنے کے لئے نہیں جانتا. سیکشن 3.1 اس کا پتہ چلتا ہے کہ یہ ایک ہی طور پر پورا نہیں کیا جا سکتا ہے - nsec سے پیدا ہونے والی ایک پیسٹ کوانمیٹک کلید کسی بھی پیسٹ کوانمیٹک تحفظ فراہم نہیں کرتی ہے - لہذا ڈیزائن کو ایک ہی راز خرچ کرتا ہے اور اس سے زیادہ نہیں ہے: ایک ہی اہم مواد کا ایک ٹکڑا، ہر شناخت پر ایک بار پیدا کیا جاتا ہے، nsec کے طور پر اسی شکل میں پیش کیا جاتا ہے اور اسی جگہ میں، تاکہ جو کوئی جانتا ہے کہ کس طرح ایک کو برقرار رکھنے کے لئے جانتا ہے، دوسرے کو کیسے برقرار
  2. کوئی سلطنت کوئی سرور نہیں ہے جس پر اعتماد کیا جا سکتا ہے کہ یہ بتائے کہ کون سا کلید کس کا ہے.
  3. کئی آلات، ایک شناخت. نوسٹر شناخت عام طور پر ایک ہی وقت میں کئی کلائنٹس سے استعمال ہوتی ہے۔ جو بھی کلیدی مواد موجود ہے وہ ان سب پر یکساں ہونا چاہیے، اور جو راستے اسے وہاں لے جاتے ہیں وہ خود مخالف کے ذریعے پڑھنے کے قابل نہیں ہونا چاہیے جس کے خلاف خصوصیت دفاع کر رہی ہے۔
  4. کوئی گفت و شنید نہیں۔ کسی بھی بینڈ میں ایکسچینج “آپ کون سی کیپسول کی حمایت کرتے ہیں؟” ایک سطح ہے جو ایک حملہ آور کمزور اختیارات کو مجبور کرنے کے لئے چھین سکتے ہیں.

3ایک آزاد جڑ راز

لوڈ کرنے والا فیصلہ یہ ہے کہ ML-KEM decapsulation کلید کو کسی بھی عوامی قدر کو ظاہر کرنے والے اہم مواد سے چھین لیا جاتا ہے. ہر شناخت ایک root secret حاصل کرتا ہے، ایک بار پیدا ہوتا ہے:

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

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

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

ریٹ ایک nsec کے طور پر صارف کو پیش کیا جاتا ہے: بائبل32 انسانوں کے ناموں کے بارے میں nympqیہ پڑھا جاتا ہے جیسے nympq1…، اسی انکشاف تعامل کے پیچھے شناختی اسکرین میں این ایس ای سی کے ساتھ دکھایا گیا ہے، اسی کنٹرول کے ساتھ نقل کیا گیا ہے، کبھی لاگ ان نہیں کیا گیا اور کبھی بھی صاف جگہ پر نہیں بھیجا گیا۔ یہ پاس ورڈ نہیں ہے اور یہ لاگ ان نہیں ہے۔ یہ کلیدی مواد ہے جسے صارف محفوظ کر سکتا ہے، بالکل این ایس ای سی کی طرح۔

نمک کو مقصد پر ڈومین سے الگ کیا جاتا ہے، اس لیے کوئی دوسرا راز کبھی بھی وہی کلیدی جوڑی حاصل نہیں کر سکتا۔ epoch کاؤنٹر ڈرائیوز گردش (سیکشن 9)۔

1. 1 شناخت کی کلید سے کلید کیوں نہیں نکالی جا سکتی

واضح ڈیزائن یہ ہے کہ کلیدی جوڑے کو صارف کے پاس پہلے سے موجود راز سے الگ کیا جائے:

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

یہ چار وجوہات کے لئے دلچسپ ہے، ان میں سے سب حقیقی ہیں: بیک اپ کرنے کے لئے کچھ بھی نیا نہیں ہے، کیونکہ nsec پہلے سے ہی بیک اپ ہے؛ ہر آلہ تعمیر کی طرف سے اتفاق کرتا ہے، کوئی سنکروننگ پروٹوکول غلط ہو جاتا ہے؛ ہر شناخت کے لئے ایک متبادل اعلان واضح طور پر درست ہے، کیونکہ آلات کو کلید کے بارے میں متفق نہیں کر سکتے ہیں؛ اور اس سے پہلے موجودہ کلید کسی بھی وقت شائع ہونے سے پہلے، لہذا ایک کلائنٹ پہلے سے ہی اپنے لئے کچھ بند کر سکتا ہے.

تمام چار فوائد ایک وجہ سے غیر قابل قدر ہیں. شور کا الگورتھم ایک شائع NPUB کے خلاف چلتا ہے جس میں nsec پیدا ہوتا ہے. زراعت کی پیداوار nsec کے مقابلے میں ایک عوامی الگورتھم ہے. لہذا وہ دشمن جو کلاسیکی نصف کو توڑتا ہے، اسی ہی HKDF کو چلانے کے ذریعہ پیسٹ کوانٹمی نصف کو دوبارہ تعمیر کرتا ہے جس میں دوسروں کو چلایا جاتا ہے.

قانون سب کچھ سے ملتا ہے

ایم ایل-کے ای ایم ڈیکیپسولیشن کلید کو اینٹروپی سے آنا چاہیے جو نہ تو این ایس ای سی سے ماخوذ ہے اور نہ ہی کبھی صرف کلاسیکی خفیہ کاری کے تحت منتقل ہوتا ہے۔

اس قاعدہ کا دوسرا شرط پہلے کے طور پر زیادہ کام کرتا ہے. ایک مستقل طور پر پیدا شدہ خفیہ جس میں ایک صارف کے آلات کے اندر ایک عام NIP-44 پیغامات کے اندر ایکسچینج کیا جاتا ہے، اس کے علاوہ اقدامات کے ساتھ ایک ہی ناکامی ہے: ایک دشمن آج اس پیغامات کو ریکارڈ کرتا ہے اور اس کے کلاسیکی کلید کو بعد میں واپس کرتا ہے، اور ریٹ ختم ہوتا ہے.

3.2 صارف کے دیگر آلات پر ریٹ حاصل کرنا

سیکشن 2 کی رکاوٹ 3-ایک شناخت، کئی آلات-کو یہاں ریاضی سے مطمئن نہیں کیا جا سکتا، کیونکہ پوری بات یہ ہے کہ کلید کسی بھی چیز کا فنکشن نہیں ہے جو آلات پہلے سے شیئر کرتے ہیں۔ اس کے بجائے اسے ٹرانسپورٹ کے ذریعے مطمئن کرنا پڑتا ہے، اور بالکل ایک ہی راستہ ہے: صارف کو منتقل کرتا ہے nympq1… خود کو کوڈ کریں۔

ریٹنگ کے طور پر دکھایا جاتا ہے nympq1… اس کے علاوہ nsec، اور ایک دوسرا آلہ اس کو اسی پینل میں پکانا قبول کرتا ہے.یہ پورے میکانیزم ہے.ایک آلہ جس کو کوڈ نہیں دیا گیا ہے اس میں شرکت نہیں کر سکتا، جس میں سیکشن 4.2 بیان کرتا ہے.

دستی منتقلی پہلا قدم ہونے کے بجائے ایک جان بوجھ کر کی جانے والی منزل ہے۔ سیکشن 3. 1 کا قاعدہ کہتا ہے کہ جڑ کبھی بھی صرف کلاسیکی خفیہ کاری کے تحت سفر نہیں کر سکتی ہے، اور ہر وہ طریقہ کار جو اسے خودکار بنا دے گا-اسے ریلے کے ذریعے مطابقت پذیر کرنا، اسے شناختی کلید سے لپیٹنا-بالکل اسی کی خلاف ورزی کرتا ہے۔ صارف جو قدم اٹھاتا ہے اس کی وجہ سے تحفظ حقیقی ہے۔

اس فارمیٹ میں ایک پوشاک راستہ کے لئے جگہ چھوڑتا ہے: ایک ریکارڈ میں پوشاک کی ایک فہرست ہوسکتی ہے، ہر ایک ایک AEAD blob کے تحت ایک کلید ہے جو صارف نے دوسرے آلے پر دوبارہ دوبارہ کر سکتے ہیں - ایک passkey PRF پیداوار، مثال کے طور پر. nympq1… اس کا مطلب یہ ہے کہ اس کا استعمال کیا جا سکتا ہے.10.1 اس کا مطلب یہ ہے کہ اس کا استعمال کیا جاتا ہے.

اس کے علاوہ، اس کی اپنی خصوصیات کی فہرست میں رہتا ہے، nymchat-pq-root، اور دوسرے زمروں کی طرح مطابقت پذیری کرتا ہے۔ یہاں تک کہ کوئی لپیٹ نہ رکھتے ہوئے بھی یہ ضروری کام کرتا ہے: اس کی موجودگی اس طرح ہے کہ دوسرا آلہ یہ سیکھتا ہے کہ اس شناخت میں پہلے سے ہی ایک جڑ ہے، جو اسے حریف کو بنانے سے روکتا ہے (سیکشن 3. 3)۔

ڈیزائن نوٹ: ایک زمرہ جو نئی کلید استعمال نہیں کر سکتا

کے nymchat-pq-root زمرہ لازمی ہے نہیں جڑ سے ماخوذ ایم ایل-کے ای ایم کلید پر انکرپٹ کیا جائے۔ اس صف میں جڑ کی واحد کاپی ہوتی ہے، اس لیے اسے جڑ سے ماخوذ کلید کے نیچے سیل کرنا ایک تالا ہوتا ہے جس کی کلید باکس کے اندر ہوتی ہے: کوئی بھی آلہ اسے کبھی نہیں کھول سکتا، بشمول جس نے اسے لکھا ہے۔ اسے کلاسیکی طور پر سیل کیا گیا ہے-این آئی پی-44 خود کے لیے-یا بالکل نہیں۔ یہ وہ جگہ ہے جہاں ڈیزائن صرف کلاسیکی تحفظ کو قبول کرتا ہے، اور یہ برداشت کر سکتا ہے: آج قطار میں کوئی جڑ نہیں ہے، صرف یہ حقیقت کہ ایک موجود ہے۔

ہر دوسرے ترتیبات کا زمرہ جڑ سے ماخوذ کلید کا استعمال کر سکتا ہے اور اسے کرنا چاہیے۔ یہ واحد رعایت ہے، اور یہ طاقت کے بجائے سرکلر کے بارے میں مستثنی ہے۔

3. 3 نسل اور اپنانا

بوٹ پر، ایک دائمی شناخت رکھتا ہے، ایک کلائنٹ اس ترتیب میں کام کرتا ہے:

  1. موجودہ تلاش کریں nymchat-pq-root ریکارڈ۔
  2. ریکارڈ پایا گیا ہے، اور یہ آلہ اسے کھول سکتا ہے - اسے قبول کریں اور اس شناخت کو post-quantum کے قابل طور پر اعلان کریں.
  3. ریکارڈ پایا گیا ہے، اور یہ آلہ اسے کھولنے کے قابل نہیں ہے - ایک نیا راؤنڈ پیدا نہ کریں، اور کسی بھی اعلان کو شائع نہ کریں. nympq1… ایک آلہ ہے جس میں پہلے سے ہی ہے.
  4. کوئی ریکارڈ نہیں - جڑ بنائیں، ریکارڈ شائع کریں، اعلان کریں، اور دکھائیں nympq1… صارف کو ایک بار کوڈ دے تاکہ وہ اسے محفوظ کرسکتے ہیں.

مرحلہ 3 وہ مرحلہ ہے جو غلط کرنے کے لئے آسان ہے، اور اس وجہ سے نظم لکھا جاتا ہے اور ہر اپلی کیشن کے لئے چھوڑ دیا جاتا ہے. دو آلات جو ہر ایک ایک ریٹ پیدا کرنے کا فیصلہ کرتے ہیں ایک شناخت کے تحت دو مستقل ریٹ پیدا کرتے ہیں، اور یہ اس نظم کو روکنے کے لئے موجود ہے کہ ناکامی ہے.

4صلاحیت کا اعلان

اخذ شدہ کلیدی جوڑی کا عوامی نصف ایڈریس ایبل کے طور پر شائع کیا جاتا ہے نیپال 01 کاپی رائٹ - 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 معنی the relay keeps one event per (kind, pubkey, d-tag), so a republic replaces the previous announcement in place. Each identity therefore has exactly one current record, which is what makes Alice's key&rdquo; a single unambiguous fetch rather than a list to reconcile.

دستخط پابند ہے۔ اس واقعے کو شناخت کے کلید کی طرف سے دستخط کیا جاتا ہے، لہذا یہ قول &ldquo؛ یہ ML-KEM کلید اس npub&rdquo؛ اس npub کے طور پر درست طور پر طاقتور ہے. ایک مختلف انکپوسلیشن کلید کو تبدیل کرنے کے لئے ایک secp256k1 دستخط کو فائل کرنے کی ضرورت ہے. ایک حملہ آور جو ایسا کر سکتا ہے اسے KEM کے ساتھ مشورہ کرنے کی ضرورت نہیں ہے.

اعلانات ختم ہو جاتے ہیں سات دن NIP-40 ختم ہونے کے بعد، ہر 24 گھنٹے میں دوبارہ شائع کیا جاتا ہے، ایک کلائنٹ کے بارے میں ایک بیان کو ریکارڈ میں رکھتا ہے جو اب بھی چل رہا ہے بلکہ وہی ہے جو پہلے تھا.

ایک ناکام اعلان اسی طرح پڑھا جاتا ہے جس میں کوئی کلید نہیں تھی: ساتھیوں کو عام NIP-44 بھیجتا ہے، جو ہر لاگ ان پڑھ سکتا ہے، اور کلائنٹ اس کے اگلے کنکشن پر پیسٹ کوانٹمی تبادلے کو دوبارہ جاری کرتا ہے، جب یہ دوبارہ شائع ہوتا ہے. لہذا ایک ہفتے سے زیادہ کے لئے سکون رکھنے کے لۓ اس وقت بھیجنے والے پیغامات کے لئے تحفظ کی لاگت ہوتی ہے - وہ کلاسیکی طور پر کوانٹمی مزاحمت کے مقابلے میں خفیہ ہیں - اور کچھ بھی نہیں خرچ کرتے ہیں.

یہ عدم توازن اس کے حادثے کے بجائے میعاد ختم ہونے کی وجہ ہے۔ ایک کے بغیر، ایک ریکارڈ اس کے نام کی کلید سے زیادہ زندہ رہتا ہے: ایک آلہ جسے مسح کیا جاتا ہے، ری سیٹ کیا جاتا ہے، یا اس کی جڑ کو تبدیل کیا جاتا ہے، اس کلید کو منسلک کرنے کے لیے ایک مستقل ہدایت چھوڑ دیتا ہے جو کسی کے پاس نہیں ہے، اور اس کے نیچے بھیجے گئے پیغامات دونوں طرف سے بغیر کسی غلطی کے کھو جاتے ہیں۔ سات دن اس ونڈو کو پابند کرتے ہیں، اور ریلے کو کلائنٹس پر بھروسہ کرنے کے بجائے خود ریکارڈ کو چھوڑنے دیتے ہیں۔

کلید کا میدان اس کی شکل کا نام دیتا ہے. میدان ہے pk2اور ہندسہ سجاوٹ کے بجائے معاہدے کا حصہ ہے: یہ پے لوڈ فارمیٹ کا نام دیتا ہے جس کے ساتھ کلید استعمال کی جا سکتی ہے۔ ایک ریڈر جو فیلڈ کو نہیں پہچانتا وہ اختتام کرتا ہے "" nymchat کلائنٹ "، کوئی پوسٹ کوانٹم کلید" rdquo "نہیں ہے اور عام NIP-44 بھیجتا ہے، جسے ہر لاگ ان پڑھ سکتا ہے۔ یہ ناکامی کی درست سمت ہے، اور یہ ایک اصول کے طور پر بیان کرنے کے قابل ہے کہ نمبرنگ کی شکل نافذ کرنے کے لیے موجود ہے: ایک غیر تسلیم شدہ صلاحیت کے دعوے کو تحفظ کی قیمت ادا کرنی چاہیے، کبھی ڈیلیوری نہیں۔ ایک کلید جو ہم مرتبہ استعمال نہیں کر سکتا وہ کسی کلید سے بھی بدتر ہے، کیونکہ جو پیغام یہ پیدا کرتا ہے وہ دونوں طرف سے بغیر کسی غلطی کے کھو جاتا ہے۔

4. 1 غیر موجودگی معنی خیز اور تین قدر والی ہوتی ہے۔

ایک باریک لیکن اہم تفصیل: اعلان ہر نیم چیٹ کلائنٹ کے ذریعہ شائع کیا جاتا ہے، نہ صرف مقدار کے بعد کے قابل، اور کلیدی فیلڈ اختیاری ہے۔ اس سے دو کے بجائے تین ممتاز ریاستیں حاصل ہوتی ہیں:

تبصرےمطلبسلوک بھیجیں
ایک کلید کے ساتھ اعلان نیم چیٹ، پوسٹ کوانٹم قابل ہائبرڈ
اعلان، کوئی کلید نہیں نیم چیٹ، صرف کلاسیکی-کوانٹم کے بعد بند، یا کوئی آلہ جو ابھی تک شناخت کی جڑ سے منسلک نہیں ہے NIP-17 کے بارے میں
کوئی اعلان نہیں نامعلوم کلائنٹ. کسی بھی Nostr یا Bitchat صارف ہوسکتا ہے کلاسیکی، plus ایک مطابقت پیکیج

تیسرے لائن کو چار میں گرنے کا ایک حقیقی نقصان ہو گا. ایک کلید کے بغیر اعلان ایک دستخط بیان ہے کہ بھیجنے والا Nymchat چلتا ہے، جو بھیجنے کے راستے کو ایک پیشہ ورانہ کرایہ پروٹوکول پرچم چیک کرنے کی اجازت دیتا ہے جو دوسری صورت میں اسے کسی کے لئے شامل کرنا پڑے گا جس کو وہ شناخت نہیں کرسکتا.

4. 2 جو آلہ جڑ نہیں کھول سکتا وہ خاموش رہتا ہے۔

اعلان تبدیل کیا جا سکتا ہے: ایک واقعہ ہر شناخت، آخری لکھنے جیت.یہ وہی ہے جو ایک ہی ریکارڈ ڈیزائن کو کام کرتا ہے، اور یہ بھی ایک غیر منسلک آلہ کو خطرناک بناتا ہے اگر یہ شائع کرتا ہے. ایک آلہ جس نے ایک کلید کا اعلان کیا جس کے لئے اس نے خود کو منٹ کیا تھا، حقیقی ریکارڈ کو چالو کرے گا اور ہر ایک کو ایک کلید کے تحت خفیہ کرنے کے لئے بھیج دے گا جو دوسرے آلات کھول نہیں سکتے ہیں.

لہذا ایک آلہ جو ایک راہ جانتا ہے، موجود ہے لیکن اسے کھولنے کے قابل نہیں ہے، اس نے کسی بھی اعلان کو شائع نہیں کیا ہے اور یہ ایپلی کیشن سے بند نہیں کیا گیا ہے: یہ اب بھی ہر پیغام کو پڑھتا ہے جس کے لئے اس کے لئے کلید ہیں اور اب بھی کلاسیکی طور پر بھیجتا ہے، جبکہ صارف کو اس سے منسلک کرنے کی حوصلہ افزائی کرتا ہے.

5دریافت اور بھیجنے کا فیصلہ

کلائنٹس دو طریقوں سے کائنات کے کلید سیکھتے ہیں. ایک سٹینج سائن اپ ایک صارف کے ساتھ اصل میں کاپی کرتا ہے - کھلی بات چیت اور گروپ کے ارکان - لہذا ان کے اعلانات عام واقعات کے طور پر آتے ہیں. پہلی بار ایک کائنات کے ساتھ ملاقات کے لئے، ایک ایک بار پوچھنا بھیجنے کا وقت پر چلتا ہے، 2.5 سیکنڈ میں محدود ہے؛ اگر یہ حل نہیں کرتا ہے تو پیغام کلاسیکی ہو جاتا ہے، جو ایک نئی ناکامی موڈ کے مقابلے میں post-quantum کو شامل کرنے سے پہلے موجود رویے ہے.

ایک صارف جو ایک نیا آلہ کو منسلک کرتا ہے، یا جو ایک براؤزر کی توسیع سے لاگ ان سے ایک مقامی کلید پر منتقل ہوتا ہے، مندرجہ ذیل بات چیت کے وسط میں post-quantum کی صلاحیت بن جاتا ہے، اور ایک دائمی طور پر کیش &ldquo;no&rdquo؛ ان کو اشتہارات کی زندگی کے لئے کلاسیکی کوڈ پر رکھتا ہے.

5.1 کیوں کوئی نیچے درج حملہ نہیں ہے

روٹنگ کا فیصلہ صرف ایک سوال پر کم ہوتا ہے:

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

کوئی صلاحیت مذاکرات نہیں ہے، کوئی سپورٹ Algorithms کی فہرست نہیں ہے، اور کوئی میدان ایک حملہ آور کو کمزور راستہ کو مجبور کرنے کے لئے صاف نہیں کر سکتے ہیں. ہے منسوخ یا منسلک اعلان کی ناکامی کا طریقہ یہ ہے کہ پیغام کلاسیکی ہو جاتا ہے - اس خصوصیت سے پہلے اس کی موجودگی - اس کے بجائے کہ ایک ہائبرڈ پیغام کو کچھ غلطی سے کم کیا جاتا ہے.

برعکس بھی رکھتا ہے اور زیادہ اہم ہے: ایک کلائنٹ ہائبرڈ بھیجتا ہے صرف جب یہ ایک کلید رکھتا ہے، اور کلید رکھنا ایک ثبوت ہے جو وصولی کو decapsulate کر سکتا ہے.

6ہائبرڈ تعمیر

Nymchat NIP-44 کو متعارف نہیں کرتا. یہ اس کے ارد گرد ایک غیر متعارف شدہ NIP-44 خفیہ متن ہے، اور ML-KEM اس کے ارد گرد ایک بیرونی AEAD کو کلید کرتا ہے:

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

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

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

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

پیغام کو پڑھنے کے لیے اب بھی دونوں رازوں کو بازیافت کرنا ضروری ہے: بیرونی پرت سے صرف ایک این آئی پی-44 خفیہ متن حاصل ہوتا ہے، اور کھلنے کے لیے کلاسیکی ای سی ڈی ایچ کی ضرورت ہوتی ہے۔ ایک کوانٹم مخالف جو سیکنڈ 256 کے 1 کو توڑتا ہے وہ اندرونی کلید حاصل کرتا ہے اور پھر بھی ایم ایل-کے ای ایم کا سامنا کرتا ہے۔ ایم ایل-کے ای ایم کا وقفہ بیرونی پرت کو کاٹ دیتا ہے اور این آئی پی-44 کو کھڑا چھوڑ دیتا ہے۔ ہر ان پٹ اپنی جگہ حاصل کرتا ہے:

ہر پیغام پر encapsulation تازہ کیا جاتا ہے.The receiver's ML-KEM key is long-lived, but each message carries an independent encryption text and therefore an independent encryption text. kem_ssیہ وہی ہے جو اسے randomizing کرنے کے بجائے nonce حاصل کرتا ہے: چاچا 20-پولی 1305 ایک (کلیدی، غیر معمولی) جوڑی کو دوبارہ استعمال کرکے توڑ دیا جاتا ہے، اور یہاں کلیدی خود ہر پیغام کے لیے نئی ہوتی ہے، لہذا کوئی جوڑی دہرایا نہیں جا سکتا۔

6. 1 پرتیں الگ کیوں رہتی ہیں

متبادل یہ ہے کہ دونوں رازوں کو ایک گفتگو کی کلید میں ملا کر اسے این آئی پی-44 کے حوالے کیا جائے:

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

اس تعمیر کو کریپٹوگریشن کی طرح لگتا ہے.اس میں ایک ساختی مسئلہ ہے: اس کی ضرورت ہے ecdh_x، ای سی ڈی ایچ آؤٹ پٹ کا خام ایکس کوآرڈینیٹ، بطور کلیدی مواد-اور براؤزر کی توسیع (NIP-07) یا ایک دورہ دستخط (NIP-46) اس قدر کو کبھی واپس نہیں کرتا ہے۔ یہ کال کرنے والے کی طرف سے این آئی پی-44 انجام دیتا ہے اور ایک خفیہ متن واپس کرتا ہے، جو کہ کلید کو کسی ایسی جگہ پکڑنے کا پورا نقطہ ہے جہاں درخواست نہیں پہنچ سکتی۔

اس لیے رازوں کو ملانے سے ہر وہ لاگ ان خارج ہو جاتا ہے جو شناخت کی کلید کو دستخط کنندہ میں رکھتا ہے، جس کا مطلب ہے کہ سب سے زیادہ محتاط صارفین، اور کلیدی مشتقات پر کوئی بھی کام اسے تبدیل نہیں کر سکتا۔ پرتوں سے انحصار ختم ہو جاتا ہے: این آئی پی-44 مکمل رہتا ہے اور جو بھی شناخت کی کلید رکھتا ہے اس کے ذریعے تیار کیا جاتا ہے، جس میں دستخط کنندہ شامل ہوتا ہے، جبکہ کے ای ایم نصف کا حساب کلائنٹ کے پاس براہ راست رکھے ہوئے ریکوری کوڈ سے کیا جاتا ہے۔ دستخط کنندہ لاگ ان دونوں سمتوں میں عام پوسٹ کوانٹم شرکاء ہوتے ہیں۔

قیمت بینڈ وائرڈ ہے، اور یہ چھوٹا نہیں ہے. ML-KEM کیش متن 1,088 بائٹ ہے اور ہر پیغام پر چلتا ہے، base64url کوڈنگ 1,451 حروف تک؛ بیرونی AEAD ایک 16 بائٹ Poly1305 ٹیگ شامل کرتا ہے اور NIP-44 پلے لوڈ کو ایک تیسرے سے بڑھاتا ہے. ایک 50 حروف کا پیغام 176 بائٹ سے 1.712 تک بڑھتا ہے، اور ایک 2000 حروف کا ایک 2.820 سے 5.238 تک.

6.2 خود کو بیان کرنے والے payloads

کے pq2. پیشگوئی توسیع کو بڑھتی ہوئی بناتا ہے: یہ خود کی وضاحت کرتا ہے، لہذا ایک کلائنٹ مؤثر بوجھ کی جانچ پڑتال کرتے ہوئے ایک ٹیگ پر بھروسہ کرنے کے بجائے یا ایک peer کی حمایت کو یاد کرتے ہوئے decryption path منتخب کرتا ہے.A reader who does not recognize a prefix fails to open that payload rather than misreading it, and messages sealed before either side could do post-quantum stay readable as ordinary NIP-44 with no migration.

مبہم رد

ML-KEM decapsulation کو کبھی بھی ناکام ہونے کے لئے ڈیزائن کیا گیا ہے: ایک غلط شکل میں cifertext کے ساتھ، Fujisaki-Okamoto ٹرانسپورٹ ایک غلطی کے بجائے ایک غلطی کے مقابلے میں ایک تشخیصی سائیڈو راڈو راز کی واپسی کرتا ہے. ایک غلط کلید اس وجہ سے کسی بھی KEM layer پر ظاہر نہیں ہوتا ہے - یہ NIP-44 کے اندر ایک HMAC ناکامی کے طور پر ظاہر ہوتا ہے، جو ایک غلط کلاسیکی کلید کی سطحوں کے طور پر ہے. کالرز دونوں کو ایک ہی طریقے سے علاج کرتے ہیں، لہذا ناکامی کوئی تفہیم سیگنال نہیں رکھتا ہے. یہ بھی یہ ہے جو سیکشن 9.1 کے امیدواروں کی فہرست کو کام کرنے کے قابل بناتا ہے: ایک کلائنٹ ہر کلید کو دوبارہ کوشش کرتا ہے اور NIP-44

گفٹ ریپ کی دونوں پرتیں

A NIP-17 خصوصی پیغام ہے a NIP-59 gift wrap: ایک نامعلوم آواز، بھیجنے والے کی شناخت کے کلید کے نیچے بند کر دیا گیا (جیسے 13)، پھر پیغامات (جیسے 1059) پر پیدا کیا جاتا ہے کہ ایک ٹرانسمیشن کلید کے نیچے بند کر دیا گیا.

A hybrid NIP-59 gift wrap: the rumor sealed under the sender's key, that seal wrapped under a per-message ephemeral key, both layers carrying a NIP-44 ciphertext inside a post-quantum AEAD. kind 1059 — wrap  ·  signed by a per-message ephemeral key content = pq2.<kem_ct>.<aead>   inner = NIP-44(eph, recip)   outer key = ML-KEM(recip) kind 13 — seal  ·  signed by the sender's identity key content = pq2.<kem_ct>.<aead>   inner = NIP-44(sender, recip)   outer key = ML-KEM(recip) rumor — unsigned the message: kind, content, tags, author pubkey unsigned on purpose — a signature would be portable proof
دونوں خفیہ سطح ہائبرڈ ہیں، ہر ایک ایک مستقل ML-KEM انکپوسلنگ کے ساتھ ہے. بیرونی سطح ایک ہٹانے کے راز کے لئے کلید کیا جاتا ہے، لہذا وولپ بھیجنے والے کو ظاہر نہیں کرتا.

سائن کرنے والے لاگ ان کو صرف بیرونی پرت ملتی ہے۔ مہر عام این آئی پی-44 کے طور پر سائن کرنے والے کے ذریعہ تیار کی جاتی ہے-ایپلی کیشن کو وہ کلید کبھی نظر نہیں آتی جو اسے بناتی ہے-اس لیے اسے اپنی جگہ پر ہائبرڈائز نہیں کیا جا سکتا۔ اس حملے کے خلاف اس کی کوئی قیمت نہیں ہے: مہر صرف لپیٹ کے ذریعے پہنچ سکتی ہے، اور لپیٹ وہی ہے جو ریکارڈر اسٹور کرتا ہے۔ ریکارڈ شدہ ٹریفک رکھنے والے مخالف کو ایم ایل-کے ای ایم کو توڑنا پڑتا ہے اس سے پہلے کہ مہر حملہ کرنے کے لیے دکھائی دے۔

7گروپ پیغامات اور جزوی کوریج

گروپ میسج ایک خفیہ متن نہیں ہوتا ہے۔ یہ وہی سادہ متن ہے جو ہر ممبر کے لیے تیار کیا جاتا ہے، ہر کاپی اس ممبر کی اپنی ایم ایل-کے ای ایم کلید سے منسلک ہوتی ہے۔ جس ممبر نے کلید شائع کی ہے اسے ہائبرڈ ریپ ملتا ہے۔ جس کو کلاسیکی ریپ نہیں ملتا ہے۔

یہ ایک اکاؤنٹنگ مسئلہ پیدا کرتا ہے کہ ناخوشگوار ایپلی کیشن غلط ہو جاتا ہے. اگر دس صارفین میں سے آٹھ کو ایک ہائبرڈ کاپی مل جائے تو، پیغام غلط ہے. نہیں ایک مخالف کو ایک کلاسیکی کاپی کی ضرورت ہے جو تمام دس میں ایک ہی ہے، لہذا پیغام کو صرف اگر محفوظ کیا جاتا ہے ہر کاپی ہے

Nymchat اس وجہ سے فان آؤٹ کے دوران ہر پیغام کی پوزیشن کو ٹریک کرتا ہے - شمار صرف پتہ چلتا ہے جب بھی بیک اپ کی تعمیر کی جا رہی ہے - اور بڈج رپورٹ کرتا ہے کہ 10 صارفین میں سے 8 کے مقابلے میںquantum-resistant ہے اور اس بات کا دعوی کرنے کے بجائے پیغام محفوظ ہے جہاں کوئی شمار دستیاب نہیں ہے، جو ایک عام معاملہ ہے. حاصل کریں گروپ پیغام (ایک بھیجنے والے ہی فان-آٹ کا حساب کرتا ہے)، انٹرفیس مکمل تحفظ کے بجائے جزوی طور پر رپورٹ کرتا ہے.

7. 1 ڈھال کیا رپورٹ کرتی ہے

ڈھال کے بارے میں سچائی بیان کرتی ہے پیغام، اس سافٹ ویئر کے بارے میں نہیں جس نے اسے بھیجا تھا:

اس فیصلے کو اس وقت ریکارڈ کیا جاتا ہے جب پیغامات کو بند کیا جاتا ہے بلکہ بعد میں اشتہارات میں سے دوبارہ شمار کیا جاتا ہے. cifhertext جو پہلے سے ہی موجود ہے اس سے بہتر محفوظ نہیں ہوسکتا ہے، اور ایک انٹرفیس جس نے ایک نیا اعلان کی طاقت پر پرانے پیغامات کو دوبارہ ترمیم کیا تھا، ایک ریلیز پر بائٹ کے بارے میں کچھ غلط کہا جائے گا.

اس کے اوپر گروپ کے قوانین اس کے بدلے میں اس کے اوپر اسٹاک ہیں: ایک گروپ کے پیغامات کو مکمل طور پر محفوظ کیا جاتا ہے جب ہر رکن کا کاپی تھا، اور کسی بھی پوشیدہ تعداد کے ساتھ حاصل کردہ گروپ کے پیغامات کو جزوی ظاہر ہوتا ہے.

8اپنے آپ کو بھیجنے والی کتابیں

کچھ چیزیں ایک کلائنٹ اسٹورز صارف کی اپنی شناخت کے ساتھ خفیہ ہیں: سائن اپ کی ترتیبات، بات چیت کی فہرست، گروپ کی کلید، اور پیغامات کے آرکائیو. یہ زیادہ سے زیادہ صارف کے بارے میں ایک صارف کے مقابلے میں زیادہ رکھتا ہے، لہذا ان کو کلاسیکی چھوڑ کر ان کو سب سے کمزور ذخیرہ شدہ آرٹافٹ بناتا ہے، اس کے باوجود کہ ان کے پیغامات خود کو کتنا احتیاط سے بند کیا گیا تھا. nymchat-pq-root خود کی قسم، جو ایک کلید کے تحت بند نہیں کیا جا سکتا ہے جو صرف اس کی پیداوار کرسکتا ہے.

ایک ترتیبات blob یا ایک آرکائیو رینج سالوں کے لئے ایک جگہ میں بیٹھا ہے، جو درست طور پر ایک چیز کی شکل ہے جو ایک کوریج-اب-کوریج-پچھلے مخالف جمع کرتا ہے - کسی بھی انفرادی پیغام سے کہیں زیادہ، جو صارف کے ذہن میں کم از کم غیر معمولی ہے.

ایک رکاوٹ کلید کے بجائے یہاں فارمیٹ کو کنٹرول کرتی ہے۔ ایک خود ایڈریس شدہ کاپی کو پڑھنے کے قابل ہونا پڑتا ہے ہر اکاؤنٹ پر ایک آلہ، لہذا ہر آلہ اس کی اشتہارات میں جو وہ کھول سکتے ہیں اس کی فہرست میں اشتہارات کرتا ہے، اور اکاؤنٹ صرف وہ لکھتا ہے جو وہ سب پڑھ سکتے ہیں.

بیان کرنے کے قابل ہے

ایک آلہ جس کے پاس شناخت ہے لیکن جڑ نہیں ہے وہ جڑ سے حاصل کردہ کلید پر مہر بند کسی بھی چیز کو نہیں کھول سکتا، بشمول اس کی اپنی ترتیبات۔ یہ ایک جان بوجھ کر نتیجہ ہے، نگرانی نہیں ہے، اور یہی وجہ ہے کہ سیکشن 3 میں ایک نیا جڑ بنانے کے بجائے لنک کرنے کے لیے ایسا آلہ اشارہ ہے: دوسرا جڑ بلب کو پڑھنے کے قابل نہیں بنائے گا، یہ شناخت کے کلیدی مواد کو صرف دو حصوں میں تقسیم کرے گا۔ جب تک کہ صارف اسے لنک نہیں کرتا، آلہ کام کرتا رہتا ہے-یہ پڑھتا ہے کہ اس کے پاس کیا چابیاں ہیں اور کلاسیکی طور پر بھیجتا ہے۔

ایک ڈیوائس جو ایک براؤزر کی توسیع یا ایک ریموٹ امینر (NIP-46) کو چلتا ہے، اس سے حاصل کرنے کے لئے کوئی nsec نہیں رکھتا ہے، لیکن یہ ریٹائرمنٹ کوڈ رکھتا ہے، اور سیکشن 6.1 کی layered ساخت کے تحت یہ تمام post-quantum نصف کی ضرورت ہے: امینر ہمیشہ کے طور پر NIP-44 layer پیدا کرتا ہے، اور کلائنٹ بیرونی layer خود کو کلید کرتا ہے.

9روٹنگ

کے epoch ڈرائنگ میں کٹر یہ ہے جو نئے کلید مواد کے بغیر rotation ممکن بناتا ہے. Incrementing it yields a fresh keypair from the same root and a republished announcement; peers pick up the new key from the replaceable record. rotation therefore does not ask the user to write anything down a second time: the root is generated once per identity and the epoch does the turn.

9.1 پرانے عصروں کو برقرار رکھا جاتا ہے، اور کچھ بھی دوبارہ خفیہ نہیں کیا جاتا ہے

کسی بھی چیز کو دوبارہ لکھا جاتا ہے جب ایک کلید rotates.A client builds decryption candidates from the current epoch down to epoch &minus; 3, so a message sealed shortly before a rotation still opens against the keypair that was current when it was sent.

جو کچھ بھی پہلے سے ہی بند کیا گیا ہے، شناخت کی زندگی کے لئے پڑھنے کے قابل رہتا ہے، کیونکہ ایک پیغام جو صارف کو اب بھی کھولنے کے قابل نہیں ہے ان کے لئے سختی سے بدتر ہے جس کی حفاظت واپس نہیں کی جا سکتی ہے اس کے مقابلے میں.

10کیا یہ حفاظت نہیں کرتا

ایک کاغذ جس میں صرف اس کی فہرست ہوتی ہے کہ ڈیزائن کیا حاصل کرتا ہے وہ کسی سسٹم کی وضاحت نہیں کرتا ہے، اور انٹرفیس میں سیکیورٹی پراپرٹی کو بڑھا چڑھا کر بیان کرنا اسے چھوڑنے سے بھی بدتر ہے۔ مندرجہ ذیل اس تعمیر سے باہر ہیں جس کا یہ دفاع کرتا ہے۔

10. 1 جڑ ایک دوسرا راز ہے، اور اسے کھونا ناقابل بازیافت ہے۔

یہ ڈیزائن کا حقیقی قیمت ہے. سیکشن 2 میں ایک صارف کو صرف ایک چیز کو برقرار رکھنے کی ضرورت ہے کہ محدودیت کو پورا نہیں کیا جا سکتا: nsec صرف پیسٹ کوانٹم کلید کو دوبارہ تعمیر نہیں کرتا، کیونکہ پورے نقطہ نظر یہ ہے کہ کوئی عوامی قدر اور کوئی دیگر راز اسے ظاہر نہیں کرتا. اگر کوئی آلہ ریٹ کو برقرار رکھتا ہے اور سیکشن 3.2 کے لنک کو کھولنے کے قابل نہیں ہے تو، ریٹ سے منسلک کلید کو بند کردہ مواد کو دوبارہ حاصل نہیں کیا جا سکتا.

ہینڈل ٹرانسفر کے ساتھ صرف راستہ، یہ سب سے پہلے پڑھنے کے قابل سے زیادہ واضح ہے. nympq1… کوڈ میں کہیں بھی اس کی بالکل ایک کاپی ہوتی ہے، ایک ڈیوائس پر، اور اس ڈیوائس کو کھونے سے ہر پوسٹ کوانٹم میسج، سیٹنگز بلب اور اس پر مہربند آرکائیو قطار ختم ہو جاتی ہے۔ nsec مدد نہیں کرتا ؛ یہی وہ خاصیت ہے جس پر پورا ڈیزائن ٹکا ہوا ہے۔

ایک حملہ آور دستی طور پر سب سے سستا راستہ پر حملہ کرتا ہے، لہذا ایک نظام اس کے کم از کم وصولی راستے کے قابل قدر ہے - مثال کے طور پر، ایک یادگار پاسپورٹ، پورے چیز کو اس پاسپورٹ کے قابل قدر میں ڈالے گا، اور پیکر لائن بالکل اس آرٹویٹ ہے جو ایک زراعت - اب - ختم - بعد میں دشمن جمع کرتا ہے اور آزادانہ طور پر آن لائن میٹنگ کرتا ہے.

10.2 تصدیق، رازداری سے مختلف طور پر

نوسٹر میں ہر دستخط سی ای سی پی 256 کے 1 پر شنور ہے، اور اس میں کوئی تبدیلی نہیں کی گئی ہے۔ کوانٹم کمپیوٹر والا مخالف جعلی دستخط کر سکتا ہے اور حقیقی وقت میں صارف کی نقالی کر سکتا ہے۔ ہائبرڈ کلیدی تبادلے میں جو شکست ہوتی ہے وہ ہے ہارویسٹ-اب-ڈکرپٹ-بعد میں: آج ٹریفک ریکارڈ کرنے والا حملہ آور اسے بعد میں نہیں پڑھ سکتا۔ یہ کسی مخالف کے خلاف پیغام کو ناقابل تلافی نہیں بناتا ہے جس کے پاس پہلے سے ہی مشین ہے۔ یہ فرق ایپلی کیشنز میں جان بوجھ کر اٹھایا جاتا ہے-پیڈلک انڈیکیٹر تصدیق کی اطلاع دیتا ہے، شیلڈ رازداری کی اطلاع دیتا ہے، اور وہ الگ الگ گلیف ہیں کیونکہ ایک پیغام میں دوسرے کے بغیر ایک ہو سکتا ہے۔

یہ اس بات کی بھی حد بندی کرتا ہے کہ سیکشن 4 میں کیا اعلان کیا وعدہ کر سکتا ہے۔ ایک این پیب اور ایم ایل-کے ای ایم کلید کے درمیان بائنڈنگ ایک سی ای سی پی 256 کے 1 دستخط ہے، لہذا ایک مخالف جو ان کو جعلی بنا سکتا ہے وہ اپنی خود کی کلید کا متبادل بن سکتا ہے۔ مستقبل کے مخالف کے خلاف رازداری کسی کے خلاف صداقت کے مترادف نہیں ہے۔

10.3 میٹابائٹس

تحفے کو لپیٹنا بھیجنے والے، وصول کنندہ کو ایک سے آگے چھپاتا ہے p ٹیگ، قسم، اور اندرونی پیغام کا ٹائم اسٹیمپ۔ یہ اس بات کو چھپاتا نہیں ہے کہ کوئی واقعہ موجود ہے، اس کا سائز، یا ریلے نے اسے کب حاصل کیا۔ ٹریفک تجزیہ کو اس ڈیزائن کے کسی بھی حصے سے خطاب نہیں کیا جاتا ہے۔

10. 4 آف لائن میش

Nymchat کی بلیوٹو نیش ٹرانسپورٹ اپنے ہاتھوں کے ساتھ ایک منفرد پروٹوکول ہے، اور یہ اس کام کے تحت نہیں ہے.

10. 5 پہلے سے بھیجے گئے پیغامات

دونوں طرف کلاسیکی ہونے کے باوجود ریکارڈ کیا گیا سائفر ٹیکسٹ مستقل طور پر کلاسیکی رہتا ہے۔ یہ پہلے سے موجود ہے اور اسے دوبارہ سیل نہیں کیا جا سکتا۔ تحفظ اس پیغام سے شروع ہوتا ہے جہاں دونوں فریقوں کے پاس کوانٹم کے بعد کی چابیاں ہوتی ہیں، اس وقت نہیں جب خصوصیت کو آن کیا گیا تھا۔

11متبادل پر غور کیا گیا

نقطہ نظرکیوں نہیں؟
Post-quantum key کی شناخت کی کلید سے حاصل کریں مسترد کر دیا گیا۔ مشتق این ایس ای سی پر ایک عوامی الگورتھم ہے، اور ایک کوانٹم مخالف شائع شدہ این پی یو بی سے این ایس ای سی کو بازیافت کرتا ہے، اس طرح کلاسیکی نصف کو توڑ کر اس کے ساتھ پوسٹ کوانٹم نصف پر ہاتھ رکھتا ہے۔ اس نے اس مقالے میں تقسیم کے ہر مسئلے کو حل کیا اور کسی کے خلاف دفاع نہیں کیا۔ سیکشن 3.
NIP-44 کے ذریعے صارف کے دیگر آلات پر راؤنڈ بھیجیں مختلف کپڑے میں اسی وجہ سے انکار کیا جاتا ہے.کوئی بھی جس نے اس پیغام کو ریکارڈ کیا اور اس کے کلید کو بعد میں توڑتا ہے، جس میں دشمن ہے جس میں راہ موجود ہے اسے روکنے کے لئے.
ہر آلہ پر ایک منفرد طور پر پیدا ML-KEM ٹیویئر مسترد کر دیا گیا۔ آلات میں مختلف ڈیکیپسولیشن چابیاں ہوں گی، اور ہر شناخت کے لیے ایک بدلنے والا اعلان ان سب کو نہیں لے سکتا۔ ہم مرتبہ آخر میں جو بھی کلید شائع کی گئی تھی اس پر خفیہ کاری کریں گے، اور ہر دوسرا آلہ نتیجہ کو پڑھنے سے قاصر ہوگا۔ سیکشن 3 کے راستوں سے منتقل ہونے والی ہر شناخت کے لیے ایک جڑ، اس سے بچتا ہے۔
ایک پین کے نیچے ریٹنگ مسترد کر دیا گیا۔ چار ہندسوں کا پن ایک آف لائن حملہ آور کے خلاف تقریبا 13 بٹس کا ہوتا ہے جو لپیٹی ہوئی قطار کو پکڑتا ہے۔ اسے دو 256 بٹ راستوں کے ساتھ پیش کرنا غلط نمائندگی کرے گا کہ کمزور ترین لپیٹ کی قیمت کیا ہے۔
دونوں چابیاں لے جانے کے لیے این پب کو بڑھائیں 1,184 بائٹ ایک اشتراک شدہ شناختیٹر نہیں ہے، اور یہ 32 بائٹ کے طور پر مقرر کردہ ایڈریس کے ہر موجودہ ہمارے کلائنٹ کی پیسنگ کو توڑ سکتا ہے.
کلیدی ڈائرکٹری سروس اس اختیار کو دوبارہ متعارف کراتا ہے جس سے بچنے کے لیے نیٹ ورک موجود ہے۔ جو بھی تلاش کا جواب دیتا ہے وہ فیصلہ کرتا ہے کہ پیغام کو کون پڑھ سکتا ہے۔
ہر پیغام کے ساتھ کلید منسلک کریں کچھ بھی حل نہیں کرتا: پیغامات کی ضرورت ہے وصول کنندگان پہلا پیغام سے پہلے کلید، جس میں اس سے پہلے کوئی پیغام نہیں ہے کہ اس کو برقرار رکھنے کے لئے درست ہے.
In-band کی صلاحیت ایک نیچے کی سطح بناتا ہے۔ ایک حملہ آور جو صلاحیت کے جھنڈے کو اتار سکتا ہے کلاسیکی راستے کو مجبور کرتا ہے۔
Post-quantum صرف، کوئی کلاسیکی پیٹ نہیں بہت کم عمر قدیم کے بدلے میں سیکنڈ 256k1 کے کئی دہائیوں کے تجزیے کو خارج کر دیتا ہے۔ ایک ہائبرڈ صرف اس صورت میں ناکام ہوتا ہے جب دونوں فائدہ

12implementation کے مترادفات

Nymchat اس تعمیر کے دو مستقل انضمام فراہم کرتا ہے - ویب ایپلی کیشن کے لئے جاوا اسکرپٹ میں ایک، موبائل ایپلی کیشنز کے لئے ایک ڈارٹ میں ایک، جس میں سے ایک کٹ سے ML-KEM-768 پورٹ بھی شامل ہے.

اہلکار کے خلاف ڈارٹ ایم ایل-کے ای ایم کے نفاذ کی توثیق کی گئی ہے۔ ACVP کے بارے میں ایم ایل-کے ای ایم-768 کے لیے معروف جواب ٹیسٹ (ML-KEM-*-FIPS203)-25 کلیدی جنریشن، 25 انکوپیسولیشن اور 10 ڈیکیپسیلیشن کیس، ان کے اپنے سوٹ کے طور پر چلتے ہیں۔ یہ وہ ویکٹر ہیں جو این آئی ایس ٹی کسی عمل درآمد کی توثیق کرنے کے لیے شائع کرتا ہے، لہذا انہیں پاس کرنا اس بات کا ثبوت ہے کہ پورٹ درست ہے، نہ صرف اس بات کا ثبوت ہے کہ دونوں کلائنٹ ایک دوسرے سے متفق ہیں۔ اس سے اوپر، ٹیسٹ ویکٹرز کا ایک مشترکہ فکسچر-سیڈ مشتق، انکوپیسولیشن، دونوں پے لوڈ فارمیٹس، اور مکمل گفٹ ریپس-جاوا اسکرپٹ کے حوالہ سے تیار کیا جاتا ہے اور دونوں ٹیسٹ سوئٹ کے ذریعے چیک کیا جاتا ہے۔ جڑ کا راز اس فکسچر کو تبدیل کرنے کے بجائے بڑھاتا ہے: جڑ سے بیج، جڑ سے کلیدی جوڑی، جڑ کا عوامی فنگر پرنٹ، اور ماخوذ کلید، غیر متعلقہ اور بیرونی پرت کا متعلقہ ڈیٹا ان کے اپنے ویکٹر ہیں، لہذا دونوں کلائنٹ اس بارے میں اختلاف نہیں کر سکتے کہ کیا nympq1… کوڈ کا مطلب ہے یا ان بائٹس کے بارے میں جن کے ساتھ پیغام کو سیل کیا جاتا ہے۔ دونوں میں سے کسی ایک کے نفاذ میں فرق ایک پیغام پیدا کرنے کے بجائے تعمیر میں ناکام ہوجاتا ہے جسے دوسرا کلائنٹ نہیں کھول سکتا۔

فنگر پرنٹ ان میں سے نام رکھنے کے قابل ہے۔ یہ وہی ہے جو ایک ڈیوائس کو بتاتا ہے کہ یہ وہ جڑ ہے جسے میں & rdquo سے & rdquo رکھتا ہوں۔ یہ ایک مختلف & rdquo ہے اور ایک کلائنٹ جو کسی دوسرے کلائنٹ کے فنگر پرنٹ کو دوبارہ پیش نہیں کر سکتا وہ بالکل اچھا ریکارڈ پڑھے گا کیونکہ کوئی ریکارڈ نہیں ہے-اور پھر، سیکشن 3. 3 کے بعد، دوسرا جڑ ٹکسال کریں اور شناخت کو تقسیم کریں۔ یہ بالکل اسی وجہ سے ایک ویکٹر ہے۔

نیم چیٹ ہے Open Source کے AGPL-3.0 کے تحت۔ یہاں بیان کردہ کرپٹوگرافک کور ہے js/nym-crypto.js اور js/modules/pq.js ویب کلائنٹ میں، اور lib/core/crypto/ کے ساتھ lib/features/identity/pq_registry.dart موبائل کلائنٹس میں۔

مختصر، غیر تکنیکی وضاحت کے لیے، دیکھیں کوانٹم مزاحم خفیہ کاری پر نالج بیس پیج.