Revault husimba faili kubwa kwa vipande vya takriban MiB 5, kila kimoja kikiwa na lebo yake ya uthibitishaji, ili faili nzima isilazimike kukaa kwenye kumbukumbu kwa wakati mmoja. Kwenye programu ya wavuti, hiyo ndiyo inayowezesha faili hadi GiB 1.

Kwa nini usisimbe faili nzima mara moja?

Faili kubwa hazipaswi kuhitaji kumbukumbu nyingi. Revault husoma faili kwa sehemu za takriban MiB 5, husimba kila sehemu kwenye kivinjari, na kuweka ciphertext kwenye IndexedDB. Faili asili haisomwi kamwe kwenye bafa moja kubwa.

Kufanya kazi kwa vipande pia kunamaanisha upakiaji uliokatizwa unaweza kuendelea kutoka kwenye maandishi yaliyosimbwa yaliyoandaliwa tayari, badala ya kusimba faili nzima tena.

Nini kinalinda mpangilio na ukamilifu wa vipande?

Kila faili hupata ufunguo wake wa usimbaji fiche, unaotokana na ufunguo mkuu wa hifadhi kwa HKDF. Muktadha wa utokaji unajumuisha vitambulisho vya hifadhi na faili, urefu wa baiti wa faili na ukubwa wa kipande.

Nonce ya baiti 12 ya kila kipande huunganisha kiambishi cha nasibu kilichochaguliwa kwa faili hiyo, kihesabu cha kipande cha baiti nne na bendera inayoashiria kipande cha mwisho. Vipande hubeba lebo za GCM za biti 128. Vipande vikibadilishwa nafasi, kuguswa au kukatwa, uthibitishaji hushindwa.

Nini hutokea upakiaji ukikatizwa?

Usimbaji fiche ukikamilika, upakiaji wa mtandao unaweza kuendelea kutoka kwenye ciphertext iliyo kwenye akiba baada ya kuonyesha upya ukurasa. Majaribio ya kurudia hutuma baiti zile zile zilizosimbwa, badala ya kusimba chanzo kipya kwa nonce za zamani. Usimbaji fiche wenyewe ukikatizwa, ghairi upakiaji huo ambao haujakamilika na uanze upya kwa utambulisho mpya wa faili.

Upakuaji huthibitishwaje?

Upakuaji huthibitisha kila kipande kabla ya kukitoa. Kwa sababu ukaguzi hufanyika faili inapotiririka, hitilafu mwishoni mwa upakuaji inaweza kuacha faili isiyokamilika, kwa hivyo hakikisha upakuaji unakamilika kwa mafanikio kabla ya kuitegemea.

Vikomo ni vipi?

Kila faili kwenye programu ya wavuti inaweza kuwa hadi GiB 1. Mionekano ya awali ya picha na video ina kikomo tofauti cha kumbukumbu. Kufuta hifadhi ya ndani ya kivinjari kunaweza kuondoa maandishi yaliyosimbwa yanayohitajika kuendeleza upakiaji.

Umbizo la mtiririko hufuata ujenzi wa AES-GCM-HKDF streaming ulioandikwa wa Tink, kwa kutumia primitives asilia za Web Crypto. Utambulisho wa faili na urefu unaotarajiwa vimefungwa kwenye muktadha wa uzalishaji wa ufunguo; vihesabu vya sehemu na alama ya mwisho hulinda mpangilio na ukamilifu. Utekelezaji huu haujapokea ukaguzi huru wa kriptografia.

Ukurasa wa mfumo wa usalama unaeleza ujenzi mzima, ikiwemo kichwa cha mtiririko na utokaji wa funguo.