Revault büyük bir dosyayı, her birinin kendi kimlik doğrulama etiketi olan yaklaşık 5 MiB’lık bölümler halinde şifreler; böylece dosyanın tamamının aynı anda bellekte durması gerekmez. Web uygulamasında 1 GiB’a kadar dosyalara yer açan da budur.

Neden dosyanın tamamı tek seferde şifrelenmiyor?

Büyük dosyalar büyük miktarda bellek gerektirmemelidir. Revault, yaklaşık 5 MiB'lik segmentlerdeki dosyaları okur, tarayıcıdaki her segmenti şifreler ve şifreli metni IndexedDB'da düzenler. Orijinal dosya asla tek bir dev ara belleğe okunmaz.

Bölümler halinde çalışmak, kesintiye uğrayan bir yüklemenin tüm dosyayı yeniden şifrelemek yerine zaten hazırlanmış şifreli metinden devam edebilmesi anlamına da gelir.

Bölüm sırasını ve bütünlüğünü ne korur?

Her dosya, kasa ana anahtarından HKDF ile türetilen kendi şifreleme anahtarını alır. Türetme bağlamı kasa ve dosya tanımlayıcılarını, dosyanın bayt uzunluğunu ve bölüm boyutunu içerir.

Her bölümün 12 baytlık nonce değeri, o dosya için seçilen rastgele bir ön eki, dört baytlık bir bölüm sayacını ve son bölümü işaretleyen bir bayrağı birleştirir. Bölümler 128 bitlik GCM etiketleri taşır. Bölümlerin yeri değiştirilirse, bölümler değiştirilirse veya kesilirse doğrulama başarısız olur.

Bir yükleme kesintiye uğrarsa ne olur?

Şifreleme tamamlandıktan sonra ağ yüklemeleri, sayfa yenilendikten sonra önbelleğe alınmış şifreli metinden devam edebilir. Yeniden denemeler, eski nonce'ler altında yeni bir kaynağı şifrelemek yerine aynı şifrelenmiş baytları göndermeyi deneyin. Şifrelemenin kendisi kesintiye uğrarsa, bu tamamlanmamış yüklemeyi iptal edin ve yeni bir dosya kimliğiyle yeniden başlayın.

İndirmeler nasıl doğrulanır?

İndirmeler her bölümü serbest bırakmadan önce doğrular. Kontrol dosya akarken yapıldığından, indirmenin sonlarında oluşan bir hata geride eksik bir dosya bırakabilir; bu yüzden dosyaya güvenmeden önce indirmenin başarıyla tamamlandığından emin olun.

Sınırlar nelerdir?

Web uygulamasında her dosya en fazla 1 GiB olabilir. Görüntü ve video önizlemelerinin ayrı bir bellek sınırı vardır. Yerel tarayıcı depolamasını temizlemek, bir yüklemeyi sürdürmek için gereken şifreli metni silebilir.

Akış formatı, yerel Web Kripto temellerini kullanarak Tink'in belgelenmiş AES-GCM-HKDF akış yapısını takip eder. Dosya kimliği ve beklenen uzunluk, anahtar türetme bağlamına bağlıdır; segment sayaçları ve son işaretleyici sıralamayı ve tamamlamayı korur. Bu uygulama bağımsız bir şifreleme denetimi almamıştır.

Güvenlik modeli sayfası, akış başlığı ve anahtar türetme dahil olmak üzere yapının tamamını açıklar.