diff --git a/docs/nkode_over_unencrypted_channel.md b/docs/nkode_over_unencrypted_channel.md index 26f1875..136dc3b 100644 --- a/docs/nkode_over_unencrypted_channel.md +++ b/docs/nkode_over_unencrypted_channel.md @@ -52,29 +52,18 @@ sequenceDiagram rect rgb(191, 223, 255) Server -->> Mobile Client: Store ChaCha20 256-bit key end - rect rgb(191, 223, 255) - Server ->> Server: Shuffled Keypad Index Array =
ChaCha20FisherYates(Keypad Index Array, SharedKey, 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) + Server ->> Mobile Client: Keypad Index Array end Mobile Client ->> User: Render Keypad User ->> Server: Set nKode Server ->> Server: Disperse Keypad - rect rgb(191, 223, 255) - Server ->> Server: Shuffled Keypad Index Array =
ChaCha20FisherYates(Keypad Index Array, SharedKey, Nonce) - Server ->> Mobile Client: Shuffled Keypad Index Array + Nonce - end - rect rgb(191, 223, 255) - Mobile Client ->> Mobile Client: Keypad Index Array =
Unshuffle(Shuffled Keypad Index Array, SharedKey, Nonce) - end + Server ->> Mobile Client: Keypad Index Array Mobile Client ->> User: Render Keypad User ->> Server: Confirm nKode Note over User,Server: Login 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 rect rgb(191, 223, 255)