Skip to content

Commit

Permalink
Add encryption metadata documents
Browse files Browse the repository at this point in the history
  • Loading branch information
zolagonano committed Apr 19, 2024
1 parent 7436d2e commit 9d980ab
Show file tree
Hide file tree
Showing 3 changed files with 79 additions and 0 deletions.
29 changes: 29 additions & 0 deletions docs/Formats/encryption-metadata-format.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
title: Encryption Metadata Format
layout: default
parent: Formats
---

## Encryption Metadata Format

The Encryption Metadata Format defines metadata related to encryption, including parameters used in key encapsulation and password-based key derivation.

### EncryptionMetadataFormat

- `encryption_algorithm`: Specifies the encryption algorithm used.
- `nonce`: Nonce used in encryption for achieving probabilistic encryption.
- `kem_metadata`: Metadata related to the Key Encapsulation Mechanism (KEM), including the KEM algorithm, Diffie-Hellman parameters, ciphertext, and salt.
- `pkdf_metadata`: Metadata related to the Password-Based Key Derivation Function (PKDF), including the salt and algorithm.

```
+---------------------+
| encryption_algorithm |
| nonce |
| kem_metadata |
| pkdf_metadata |
+---------------------+
```

[Key Encapsulation Mechanism Metadata Format](./kem-metadata-format)

[Password-Based Key Derivation Function Metadata Format](./pkdf-metadata-format)
29 changes: 29 additions & 0 deletions docs/Formats/kem-metadata-format.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
title: Key Encapsulation Mechanism Metadata Format
layout: default
parent: Encryption Metadata Format
---

## Key Encapsulation Mechanism Metadata Format

The Key Encapsulation Mechanism (KEM) Metadata Format defines metadata related to the Key Encapsulation Mechanism used in encryption.

### KEMMetadataFormat

- `kem_algorithm`: Specifies the Key Encapsulation Mechanism (KEM) algorithm used.
- `dh_algorithm`: Specifies the Diffie-Hellman algorithm used for key exchange.
- `dh_sender_public_key`: Public key component used in Diffie-Hellman key exchange.
- `hkdf_algorithm`: Specifies the Hash-based Key Derivation Function (HKDF) algorithm used.
- `kem_ciphertext`: The ciphertext generated by the Key Encapsulation Mechanism.
- `kem_salt`: Salt used in the Key Encapsulation Mechanism.

```
+------------------------+
| kem_algorithm |
| dh_algorithm |
| dh_sender_public_key |
| hkdf_algorithm |
| kem_ciphertext |
| kem_salt |
+------------------------+
```
21 changes: 21 additions & 0 deletions docs/Formats/pkdf-metadata-format.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
title: Password-Based Key Derivation Function Metadata Format
layout: default
parent: Encryption Metadata Format
---

## Password-Based Key Derivation Function Metadata Format

The Password-Based Key Derivation Function (PKDF) Metadata Format defines metadata related to the Password-Based Key Derivation Function used in encryption.

### PKDFMetadataFormat

- `pkdf_salt`: Salt used in the Password-Based Key Derivation Function (PKDF).
- `pkdf_algorithm`: Specifies the Password-Based Key Derivation Function (PKDF) algorithm used.

```
+----------------------+
| pkdf_salt |
| pkdf_algorithm |
+----------------------+
```

0 comments on commit 9d980ab

Please sign in to comment.