Mitigate length fingerprinting #3

Open
opened 2026-05-30 14:04:33 -04:00 by michael · 1 comment
Owner

Metadata chunk should be limited and padded to exactly 1 MiB (including any unencrypted nonce). File data chunks should be exactly CHUNK_SIZE, and the final chunk should be padded to CHUNK_SIZE bytes. CHUNK_SIZE should be chosen so as to strike a balance between minimizing plain-text leakage of the length, while not adding unreasonable overhead to transmission. I believe that a 1 MiB chunk size should be reasonable for this purpose.

An alternative that could be explored is additionally padding total number of chunks to a multiple of some power of 2. That power of 2 would scale depending on the total number of chunks so as to minimize distinguishability in any given length class.

Metadata chunk should be limited and padded to exactly 1 MiB (including any unencrypted nonce). File data chunks should be exactly `CHUNK_SIZE`, and the final chunk should be padded to `CHUNK_SIZE` bytes. `CHUNK_SIZE` should be chosen so as to strike a balance between minimizing plain-text leakage of the length, while not adding unreasonable overhead to transmission. I believe that a 1 MiB chunk size should be reasonable for this purpose. An alternative that could be explored is additionally padding total number of chunks to a multiple of some power of 2. That power of 2 would scale depending on the total number of chunks so as to minimize distinguishability in any given length class.
Author
Owner

The Android app uploads chunks of a fixed size, except for the last chunk which is not yet padded.

The Android app uploads chunks of a fixed size, except for the last chunk which is not yet padded.
Sign in to join this conversation.
No labels
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
michael/secure-wormhole#3
No description provided.