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
flutter pub run build_runner build --delete-conflicting-outputs
37
37
```
38
38
39
39
## 🏗️ Architecture
@@ -168,8 +168,9 @@ flutter test --name "should establish session and exchange messages"
168
168
- Validates security against key reuse attacks
169
169
- Tests proper key rotation mechanisms
170
170
171
-
Each test includes comprehensive logging that explains what's happening at each step of the protocol. This can also be seen in the test workflow: https://github.com/stdNullPtr/Flutter-Signal-Protocol-PoC/actions
Each test includes comprehensive logging that explains what's happening at each step of the protocol. To see detailed logs while running tests, use the `--reporter expanded` flag. The test output can also be seen in the GitHub Actions workflow: https://github.com/stdNullPtr/Flutter-Signal-Protocol-PoC/actions
172
+
173
+

173
174
174
175
175
176
## 🔍 Key Components Explained
@@ -253,6 +254,8 @@ To understand the Signal Protocol implementation:
253
254
The PoC implements proper session acknowledgment, which is crucial for the Double Ratchet algorithm:
254
255
- Initial messages use PreKey messages (containing X3DH materials)
255
256
- After session establishment, a cryptographic acknowledgment occurs
257
+
- When receiving a PreKey message, the receiver creates a session
258
+
- The receiver acknowledges the session by clearing unacknowledged PreKey flag
256
259
- Subsequent messages use the more efficient "whisper" message type
257
260
- This follows the Signal Protocol's security design for session establishment
258
261
@@ -275,7 +278,7 @@ Group messaging is implemented using sender keys:
0 commit comments