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 | `optinonal` Plain text comment | | encryptedComment | String | `optinonal` 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 |