Package encrypt registers the "encrypt" blobserver storage type which stores all blobs and metadata with NaCl encryption into other wrapped storage targets (e.g. localdisk, s3, remote, google).
An encrypt storage target is configured with two other storage targets: one to hold encrypted blobs, and one to hold encrypted metadata about the encrypted blobs. On start-up, all the metadata blobs are read to discover the plaintext blobrefs.
Encryption is currently always NaCl SecretBox. See code for metadata formats and configuration details, which are currently subject to change.
const ( // FullMetaBlobSize is the number of lines at which we stop compacting a meta blob. FullMetaBlobSize = 10 * 1000 // ~ 512kB // SmallMetaCountLimit is the number of small meta that triggers compaction. SmallMetaCountLimit = 100 // 100 rounds to make a full = ~ 26MB bw waste )