You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/ltgc/encryption.md
+14-9Lines changed: 14 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,13 +1,11 @@
1
1
# Encryption & Hashing
2
2
3
3
## Encryption
4
-
Allowed encryption algorithms (and operation modes) are listed below. While actual recommendations are marked in bold, order of each entry does not imply preference, and decisions must be also made with strength and availability in mind.
4
+
Allowed encryption algorithms (and operation modes) are listed below. While actual recommendations are marked in bold, order of each entry does not imply preference, and decisions must be also made with strength and availability in mind. Constant-time implementations are an absolute requirement.
5
5
6
6
This documentation does not include encryption system designs, refer to relevant materials before designing encryption systems.
7
7
8
8
### Symmetric
9
-
Avoid using symmetric ciphers with less than 192-bit comparative key size if possible, as Grover's algorithm may half the security of 128-bit keys down to effectively 64-bit, reducing brute-forcing to be further within reach. Do not ever reuse nonce, keep rotating keys within a reasonable duration if possible, and always include message authentication (all listed operating modes include authentication).
10
-
11
9
<divclass="table-wrapper"><table>
12
10
<thead><tr>
13
11
<td>Algorithm</td>
@@ -35,10 +33,12 @@ Avoid using symmetric ciphers with less than 192-bit comparative key size if pos
35
33
</table></div>
36
34
37
35
- XChacha20 allows 192-bit nonce, while Chacha20 only allows 64-bit nonce.
36
+
- Do not ever reuse nonce, as such misuse will cripple security.
37
+
- Message authentication is required implicitly, as we did not list any operation mode without message authentication.
38
+
- Symmetric keys should be rotated at least once every 90 days despite the industry norm of 180, with duration shortened more and more with increased data confidentiality. Leaked symmetric keys should be revoked as soon as possible, and ephemeral keys that expire on session finishes are recommended.
39
+
- Avoid using symmetric ciphers with less than 192-bit comparative key size if possible, as Grover's algorithm may half the security of 128-bit keys down to effectively 64-bit, reducing brute-forcing to be further within reach.
38
40
39
41
### Asymmetric
40
-
Combine PQ with non-PQ asymmetric algorithms, in case either is broken.
41
-
42
42
<divclass="table-wrapper"><table>
43
43
<thead><tr>
44
44
<td>Field</td>
@@ -82,10 +82,15 @@ Combine PQ with non-PQ asymmetric algorithms, in case either is broken.
82
82
</tr></tbody>
83
83
</table></div>
84
84
85
+
- Apart from HQC waiting NIST finalization, all PQ algorithms have been formally published by NIST.
86
+
- Combine PQ with non-PQ asymmetric algorithms, in case either is broken.
87
+
85
88
## Hashing
86
89
Recommended hashing algorithms are listed below. While actual recommendations are marked in bold, order of each entry does not imply preference, and decisions must be also made with strength and availability in mind.
87
90
88
91
### Secret deriviation
92
+
While higher costs increase security, it will impact performance. Balance your parameters based on your need, and benchmark whenever unsure.
@@ -139,7 +144,7 @@ We currently do not utilize ECH directly on our servers. This is still a WIP.
139
144
Whenever available, we will serve the certificate hash used for direct connections to our endpoints under [this URL](https://www.ltgc.cc/cert-sha256) for whoever requiring it. Exact certificate hash can be utilized to confirm if MITM attacks are observed.
140
145
141
146
### Authorities (CA)
142
-
We currently issue certificates from the following certificate authorities. Hashes of the utilized root certificates are up-to-date as of 7th March, 2026.
147
+
We currently issue certificates from the following certificate authorities. Hashes of the utilized root certificates are up-to-date as of 7th March, 2026. All of our certificates are included in CT (certificate transparency) logs.
0 commit comments