Revault मोठी फाइल सुमारे 5 MiB च्या सेगमेंटमध्ये एन्क्रिप्ट करते, प्रत्येकाचा स्वतःचा ऑथेंटिकेशन टॅग असतो, त्यामुळे संपूर्ण फाइल एकाच वेळी मेमरीत ठेवावी लागत नाही. वेब अॅपमध्ये यामुळेच 1 GiB पर्यंतच्या फाइल्स शक्य होतात.
संपूर्ण फाइल एकदम एन्क्रिप्ट का करू नये?
मोठ्या फाइल्ससाठी भरपूर मेमरी लागायला नको. Revault फाइल्स सुमारे 5 MiB च्या सेगमेंट्समध्ये वाचते, प्रत्येक सेगमेंट ब्राउझरमध्ये एन्क्रिप्ट करते आणि सायफरटेक्स्ट IndexedDB मध्ये स्टेज करते. मूळ फाइल कधीही एका मोठ्या बफरमध्ये वाचली जात नाही.
सेगमेंटमध्ये काम केल्याने खंडित झालेला अपलोड संपूर्ण फाइल पुन्हा एन्क्रिप्ट न करता आधीच स्टेज केलेल्या सायफरटेक्स्टवरून पुढे चालू राहू शकतो.
सेगमेंटचा क्रम आणि पूर्णता कशामुळे संरक्षित राहते?
प्रत्येक फाइलला स्वतःची एन्क्रिप्शन की मिळते, जी व्हॉल्ट मास्टर कीपासून HKDF ने तयार केली जाते. डिरिव्हेशन संदर्भात व्हॉल्ट आणि फाइल आयडेंटिफायर, फाइलची बाइट लांबी आणि सेगमेंट आकार यांचा समावेश असतो.
प्रत्येक सेगमेंटचा 12-बाइट नॉन्स त्या फाइलसाठी निवडलेला यादृच्छिक प्रीफिक्स, चार-बाइट सेगमेंट काउंटर आणि अंतिम सेगमेंट दर्शवणारा फ्लॅग यांना एकत्र करतो. सेगमेंटवर 128-बिट GCM टॅग असतात. सेगमेंट अदलाबदल केले, बदलले किंवा कापले गेले तर पडताळणी अयशस्वी होते.
अपलोड खंडित झाल्यास काय होते?
एन्क्रिप्शन पूर्ण झाल्यावर, पेज रिफ्रेश केल्यानंतरही नेटवर्क अपलोड कॅश केलेल्या सायफरटेक्स्टवरून पुन्हा सुरू करता येतात. जुन्या नॉन्सेसखाली नवीन स्रोत एन्क्रिप्ट करण्याऐवजी, पुन्हा प्रयत्न करताना तेच एन्क्रिप्टेड बाइट्स पाठवले जातात. एन्क्रिप्शनमध्येच व्यत्यय आल्यास, तो अपूर्ण अपलोड रद्द करा आणि नवीन फाइल ओळखीसह पुन्हा सुरू करा.
डाउनलोड कसे पडताळले जातात?
डाउनलोड प्रत्येक सेगमेंट सोडण्यापूर्वी प्रमाणित करतात. फाइल स्ट्रीम होत असतानाच तपासणी होत असल्याने, डाउनलोडच्या शेवटी त्रुटी आल्यास अपूर्ण फाइल मागे राहू शकते, म्हणून त्यावर विसंबून राहण्यापूर्वी डाउनलोड यशस्वीरीत्या पूर्ण झाल्याची खात्री करा.
मर्यादा काय आहेत?
वेब अॅपमधील प्रत्येक फाइल 1 GiB पर्यंत असू शकते. इमेज आणि व्हिडिओ प्रिव्ह्यूसाठी वेगळी मेमरी मर्यादा आहे. लोकल ब्राउझर स्टोरेज साफ केल्याने अपलोड पुढे सुरू करण्यासाठी लागणारा सायफरटेक्स्ट निघून जाऊ शकतो.
स्ट्रीमिंग फॉरमॅट नेटिव्ह Web Crypto प्रिमिटिव्ह्ज वापरून Tink च्या दस्तऐवजीकृत AES-GCM-HKDF स्ट्रीमिंग रचनेचे पालन करतो. फाइलची ओळख आणि अपेक्षित लांबी की डेरिव्हेशन संदर्भात बांधली जाते; सेगमेंट काउंटर आणि अंतिम मार्कर क्रम आणि पूर्णत्वाचे संरक्षण करतात. या अंमलबजावणीचे स्वतंत्र क्रिप्टोग्राफिक ऑडिट झालेले नाही.
स्ट्रीम हेडर आणि की डिरिव्हेशनसह संपूर्ण रचना सुरक्षा मॉडेल पेजवर वर्णन केली आहे.