diff --git a/docs/nkode_over_unencrypted_channel.md b/docs/nkode_over_unencrypted_channel.md index b84b139..8465ad5 100644 --- a/docs/nkode_over_unencrypted_channel.md +++ b/docs/nkode_over_unencrypted_channel.md @@ -45,7 +45,7 @@ sequenceDiagram participant User participant Mobile Client participant Server - Note over User,Server: Enrollment + Note over User,Server: Enrollment (assume secure network) User ->> Server: Initiate Enrollment Server ->> Server: Generate Keypad Icons Server -->> Mobile Client: Store Icons On Device @@ -59,12 +59,12 @@ sequenceDiagram Server ->> Mobile Client: Keypad Index Array Mobile Client ->> User: Render Keypad User ->> Server: Confirm nKode - Note over User,Server: Login + Note over User,Server: Login (assume unsecure network) rect rgb(191, 223, 255) Server ->> Server: Shuffled Keypad Index Array =
ChaCha20FisherYates(Keypad Index Array, SharedKey, Nonce) - Note right of Server: Server also sends the 96-bit nonce in plain-text.
The Server must never use the same nonce twice.
It must be randonly generated for every authentication.
The only additional overhead is the 96-bit nonce. Server ->> Mobile Client: Shuffled Keypad Index Array + Nonce end + Note right of Server: Server also sends the 96-bit nonce in plain-text.
The Server must never use the same nonce twice.
It must be randonly generated for every authentication.
The only additional overhead is the 96-bit nonce. rect rgb(191, 223, 255) Mobile Client ->> Mobile Client: Keypad Index Array =
Unshuffle(Shuffled Keypad Index Array, SharedKey, Nonce) end