Revault بڑی فائل کو تقریباً 5 MiB کے حصوں میں خفیہ کرتا ہے، ہر حصے کا اپنا تصدیقی ٹیگ ہوتا ہے، اس لیے پوری فائل کو کبھی ایک ساتھ میموری میں رکھنے کی ضرورت نہیں پڑتی۔ ویب ایپ میں اسی وجہ سے 1 GiB تک کی فائلوں کی گنجائش بنتی ہے۔

پوری فائل کو ایک ساتھ خفیہ کیوں نہیں کیا جاتا؟

بڑی فائلوں کو بڑی مقدار میں میموری کی ضرورت نہیں ہونی چاہیے۔ Revault تقریباً 5 MiB کے سیگمنٹس میں فائلوں کو پڑھتا ہے، براؤزر میں ہر سیگمنٹ کو انکرپٹ کرتا ہے، اور IndexedDB میں سائفر ٹیکسٹ کو مرحلہ وار کرتا ہے۔ اصل فائل کو کبھی بھی ایک بڑے بفر میں نہیں پڑھا جاتا ہے۔

حصوں میں کام کرنے کا مطلب یہ بھی ہے کہ رکا ہوا اپ لوڈ پوری فائل کو دوبارہ خفیہ کرنے کے بجائے پہلے سے تیار شدہ سائفر ٹیکسٹ سے جاری رہ سکتا ہے۔

حصوں کی ترتیب اور مکمل ہونے کی حفاظت کیا کرتا ہے؟

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

ہر حصے کا 12 بائٹ کا nonce اس فائل کے لیے منتخب کردہ ایک بے ترتیب سابقے، چار بائٹ کے حصہ کاؤنٹر اور آخری حصے کو نشان زد کرنے والے ایک فلیگ کو یکجا کرتا ہے۔ حصوں کے ساتھ 128 بٹ کے GCM ٹیگز ہوتے ہیں۔ اگر حصے آپس میں بدل دیے جائیں، ان میں ردوبدل کیا جائے یا انہیں کاٹ دیا جائے تو تصدیق ناکام ہو جاتی ہے۔

اگر اپ لوڈ رک جائے تو کیا ہوتا ہے؟

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

ڈاؤن لوڈز کی تصدیق کیسے ہوتی ہے؟

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

حدود کیا ہیں؟

ویب ایپ میں ہر فائل زیادہ سے زیادہ 1 GiB تک ہو سکتی ہے۔ تصویر اور ویڈیو کے پیش منظر کی میموری کی حد الگ ہے۔ مقامی براؤزر اسٹوریج صاف کرنے سے وہ سائفر ٹیکسٹ ہٹ سکتا ہے جو اپ لوڈ دوبارہ شروع کرنے کے لیے درکار ہے۔

اسٹریمنگ فارمیٹ Tink کی دستاویزی AES-GCM-HKDF اسٹریمنگ کنسٹرکشن کی پیروی کرتا ہے، مقامی ویب کریپٹو پرائمیٹوز کا استعمال کرتے ہوئے۔ فائل کی شناخت اور متوقع لمبائی کلیدی اخذ کے سیاق و سباق میں پابند ہیں۔ سیگمنٹ کاؤنٹر اور حتمی مارکر ترتیب اور تکمیل کی حفاظت کرتے ہیں۔ اس عمل کو ایک آزاد کرپٹوگرافک آڈٹ نہیں ملا ہے۔

سیکیورٹی ماڈل کا صفحہ مکمل ساخت بیان کرتا ہے، بشمول اسٹریم ہیڈر اور کلید کا اخذ۔