Encrypt and decrypt attachments in accordance with the Matrix Client-Server API spec.
Supports browsers using WebCryptoAPI
and Node.js via crypto
.
This project builds on and deprecates browser-encrypt-attachment
to add support for non-browser environments.
Previous versions of the protocol are not currently documented in the spec, and are described here for reference:
Protocol | Description |
---|---|
v0 | use all 128 bits of the counter |
v1 | use only 64 bits of the counter |
v2 (current) | use only 64 bits and also zero out the other half to maximise the space before it wraps |
The library will encrypt to the following protocol versions:
Protocol | Browser | Node.js |
---|---|---|
Encrypt | v2 | v2 |
The library supports decryption of the following protocol versions:
Protocol | Browser | Node.js |
---|---|---|
Decrypt v0 | ✅ | ❌ |
Decrypt v1 | ✅ | ❌ |
Decrypt v2 | ✅ | ✅ |