You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Use descriptor terminology for the cached, non-secret envelope\nmetadata returned by Encrypt and consumed by range decryption.\nThis matches the review feedback and avoids implying that the\nvalue carries key material.\n\nAssisted-by: GPT-5.4:gpt-5.4
Copy file name to clipboardExpand all lines: README.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -46,7 +46,7 @@ import (
46
46
47
47
| Package | Purpose |
48
48
|---|---|
49
-
|[`fee`](.) (root) | Composes the primitives below into a small API: whole-object `Encrypt`/`Decrypt`, byte-range `DecryptRange`, and the cacheable envelope parameters (`BodyMaterial`) that let a range read skip the header. Adds no cryptography of its own. |
49
+
|[`fee`](.) (root) | Composes the primitives below into a small API: whole-object `Encrypt`/`Decrypt`, byte-range `DecryptRange`, and the cacheable envelope parameters (`BodyDescriptor`) that let a range read skip the header. Adds no cryptography of its own. |
50
50
|[`aesstream`](./aesstream)| The chunked AES-256-GCM STREAM body cipher: streaming `Writer`/`Reader` plus the range primitives (`CiphertextRange`, `SpanReader`, `OpenSpan`) that `fee.DecryptRange` is built on. |
51
51
|[`cose`](./cose)| Just enough of COSE (RFC 9052): `COSE_Encrypt` (tag 96) / `COSE_Encrypt0` (tag 16) with a detached payload, and the `Enc_structure` AAD. |
52
52
|[`ecdhkw`](./ecdhkw)| ECDH-ES+A256KW key wrap over X25519 (COSE algorithm −31). |
@@ -327,13 +327,13 @@ They are complete before any plaintext is read, so a writer can store them while
327
327
the upload is still streaming:
328
328
329
329
```go
330
-
//m goes alongside the blob's location and size.
331
-
r, m, err:= fee.Encrypt(plaintext, recipients)
330
+
//d goes alongside the blob's location and size.
331
+
r, d, err:= fee.Encrypt(plaintext, recipients)
332
332
```
333
333
334
-
`fee.DecryptRangeWithMaterial(blob, blobSize, m, cek, off, length)` then serves a
334
+
`fee.DecryptRangeWithDescriptor(blob, blobSize, d, cek, off, length)` then serves a
335
335
range with no envelope round trip at all: the only bytes fetched are the
336
-
ciphertext chunks the range overlaps. `m.PlaintextSize(blobSize)` answers a `HEAD`
336
+
ciphertext chunks the range overlaps. `d.PlaintextSize(blobSize)` answers a `HEAD`
337
337
or resolves a suffix range from the stored record alone, reading nothing.
338
338
339
339
Every field is non-secret — all four are already in the clear at the front of the
0 commit comments