Skip to content

Commit 5bdbb78

Browse files
ho-otoinfeo
andauthored
Update architecture.rst (#50)
Co-authored-by: Armin Schrenk <[email protected]>
1 parent a5d66ba commit 5bdbb78

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

source/security/architecture.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ When opening a vault, the following steps have to be followed:
5959

6060
#. Decode ``vault.cryptomator`` without verification.
6161
#. Read ``kid`` header and, depending on its value, retrieve the masterkey from the specified location.
62-
#. Verify the JWT signature using the masterkey.
62+
#. Verify the JWT signature using the concatenation of encryption masterkey and MAC masterkey.
6363
#. Make sure ``format`` and ``cipherCombo`` are supported.
6464

6565

@@ -125,7 +125,7 @@ The JWE's decrypted payload holds a single value, which can then be consumed by
125125
Masterkey File
126126
^^^^^^^^^^^^^^
127127

128-
Alternatively, for normal password-protected vaults, Cryptomator will derive a :abbr:`KEK (Key-encryption key)` via `scrypt <https://tools.ietf.org/html/rfc7914>`_, encrypt the masterkeys using `AES Key Wrap (RFC 3394) <https://tools.ietf.org/html/rfc3394>`_,
128+
Alternatively, for normal password-protected vaults, Cryptomator will derive a 32byte long :abbr:`KEK (Key-encryption key)` via `scrypt <https://tools.ietf.org/html/rfc7914>`_ (non-parallel), encrypt both masterkeys using `AES Key Wrap (RFC 3394) <https://tools.ietf.org/html/rfc3394>`_,
129129
and store the results together with the key derivation parameters in a JSON file:
130130

131131
.. code-block:: console
@@ -160,4 +160,4 @@ When unlocking a vault the KEK is used to unwrap (i.e. decrypt) the stored maste
160160
.. image:: ../img/security/[email protected]
161161
:alt: Masterkey Decryption
162162
:width: 440px
163-
:align: center
163+
:align: center

source/security/vault.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ The payload of the last chunk may be smaller than 32 KiB.
5656
cleartextChunks[] := split(cleartext, 32KiB)
5757
for (int i = 0; i < length(cleartextChunks); i++) {
5858
chunkNonce := createRandomBytes(12)
59-
aad := [bigEndian(i), headerNonce]
59+
aad := bigEndian(i) . headerNonce
6060
ciphertextPayload, tag := aesGcm(cleartextChunks[i], contentKey, chunkNonce, aad)
6161
ciphertextChunks[i] := chunkNonce . ciphertextPayload . tag
6262
}

0 commit comments

Comments
 (0)