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
{{ message }}
This repository was archived by the owner on Mar 10, 2026. It is now read-only.
Copy file name to clipboardExpand all lines: PROTOCOL.md
+16-8Lines changed: 16 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -235,8 +235,10 @@ Perfect Forward Secrecy (PFS) ensure that if a ML-KEM-1024 keypair was compromis
235
235
236
236
### 5.1. Assumptions
237
237
`Alice` wants to generate / rotate ephemeral `ML-KEM-1024` (`Kyber1024`) keys with `Bob`.
238
+
238
239
`Alice` and `Bob` have verified each other's `per-contact` keys using `SMP`
239
-
`Alice` is the initiator
240
+
241
+
`Alice` is the `SMP` initiator.
240
242
241
243
### 5.2. PFS Exchange
242
244
`Alice` generates new ephemeral `ML-KEM-1024` keypair and signs them with her `per-contact` keys for `Bob`
@@ -391,14 +393,21 @@ Even though we utilize OTP encryption, which is unbreakable if used right, we ul
391
393
392
394
The unbreakable property of OTPs is only true if the `Kyber1024` was not intercepted, if it were, the security becomes `Kyber1024` security.
393
395
394
-
So, even in worst scenario where OTP security = `Kyber1024` security, our protocol still is arguebly more secure than other protocols that don't utilize OTPs.
396
+
Even in worst scenario where `OTP` security = `Kyber1024` security, our protocol still is arguebly more secure than most other messaging protocols.
397
+
398
+
To summarize:
395
399
396
-
So best case scenario: Your messages could never be broken, no matter how much computing power your adversary has.
400
+
**Best case scenario**: Your messages could never be broken, no matter how much computing power your adversary has.
397
401
398
-
Worst case scenario: OTP has inherited `Kyber1024` security. Now only compute-power-based security falls only on `Kyber1024`, if we compare that to a typical `Kyber1024` + `AES`, best case and worst case scenarios are equal, your security would be dependent on 2 complex algorithms, both with their own classes of cryptograhic attacks.
402
+
**Worst case scenario**: `OTP` has inherited `Kyber1024` security.
399
403
400
-
So in our worst case scenario, our security still wins, by purely focusing on `Kyber1024` instead of an additional complex algorithm with it's very own massive classes of attacks.
404
+
If we compare the *worst case* scenario to a typical `Kyber` + `AES` scheme, our scheme would be arguably more secure because we rely only on **one** hard problem. If `Kyber` holds, everything is safe, if `Kyber` breaks, both scheme fail.
401
405
406
+
With the `Kyber` + `AES` scheme, you've now doubled your dependecy, significantly increasing the attack-surface.
407
+
408
+
So our `Kyber` + `OTP` can be thought of as just `Kyber` under *worst case* scenario. Which is still significantly better than most other encrypted protocols, because we now only trust a single-primitive.
409
+
410
+
Additionally, `OTP` has no modes, no nonces, no padding quirks, no classes of attacks and bugs. Making it incredibly easy to implement in comparsion to `AES` which is fairly complex, and even when implemented per-spec, would still deliever argueably worse security than our `OTP` scheme.
402
411
403
412
## Security Considerations & Threat Model
404
413
Coldwire is designed for:
@@ -428,11 +437,10 @@ Coldwire assumes:
428
437
429
438
Future versions may:
430
439
- Add group chat support
431
-
- Hydrid traditional encryption alongside Post-quantum encryption
440
+
- Hydrid traditional encryption alongside Post-Quantum encryption
432
441
- Improve support for offline messaging
433
442
434
443
435
444
436
-
Our protocol is experimental. Coldwire is not meant to be the next Signal, or Matrix. Instead, we trade usability for security.
437
-
445
+
And lastly, our protocol is experimental, Coldwire is not meant to be the next Signal, or Matrix. Instead, we aim to be the most secure messenger available, even if it costs us some usability trades for security.
0 commit comments