feat: add tiny encrypt spec v1.1
This commit is contained in:
37
TinyEncryptSpecV1.1.md
Normal file
37
TinyEncryptSpecV1.1.md
Normal file
@@ -0,0 +1,37 @@
|
||||
|
||||
File ext: `*.tinyenc`
|
||||
|
||||
File format:
|
||||
|
||||
```text
|
||||
[TAG; 2 bytes; short; BE; Always 1]
|
||||
[LENGTH; 4 bytes; int; BE]
|
||||
[META; LENGTH bytes]
|
||||
[ENCRYPTED_DATA; n bytes; AES/GCM]
|
||||
```
|
||||
|
||||
Meta format:
|
||||
|
||||
| Field | Type | Comment |
|
||||
|---------|---------|---------------------------------------------|
|
||||
| version | String | Constant value: `1.1` |
|
||||
| created | Long | Created time, Unix Epoch |
|
||||
| userAgent | String | User Agent, e.g. `TinyEncrypt v0.5.1@MacOS` |
|
||||
| comment | String | Plain text comment |
|
||||
| encryptedComment | String | Encrypted comment |
|
||||
| pgpEnvelop | String | Deprecated PGP Publickey Encrypted DataKey |
|
||||
| pgpFingerprint | String | Deprecated Hex(Sha256(PGP Publickey)) |
|
||||
| envelop | String | Deprecated KMS Encrypted DataKey |
|
||||
| envelops | Envelop[] | Envelop Array |
|
||||
| nonce | byte[] | GCM Nonce |
|
||||
| fileLength | Long | File Length |
|
||||
| fileLastModified | Long | File Last Modified |
|
||||
| compress | Boolean | Compress or not |
|
||||
|
||||
Envelop format:
|
||||
|
||||
| Field | Type | Comment |
|
||||
|--------------|--------|-------------------|
|
||||
| type | String | `kms`, `pgp`, ... |
|
||||
| kid | String | Key ID |
|
||||
| encryptedKey | String | Encrypted Key |
|
||||
Reference in New Issue
Block a user