From 8e1475a6dbb0836bb318f7143ba381a5c0128fa8 Mon Sep 17 00:00:00 2001 From: Corey Petty Date: Mon, 15 Jul 2019 16:30:40 -0400 Subject: [PATCH] WIP changes to trust establishment and x6 --- x6.md | 18 +++++++----------- x9.md | 3 +++ 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/x6.md b/x6.md index 399d016..af568bc 100644 --- a/x6.md +++ b/x6.md @@ -96,12 +96,7 @@ Types used in this specification are defined using [Protobuf](https://developers ### 1.5. User flow for 1-to-1 communications #### 1.5.1. Account generation - -Generating a user account in Status involves 3 steps: - -- Generation of a random seed, and the respective account; -- Generation of a X3DH bundle. This prekey bundle will become part of the user's contact code; -- Registration with Push Notification platform. +See [Account specification](./x9.md) #### 1.5.2. Account recovery @@ -137,19 +132,20 @@ Status uses the following cryptographic primitives: ### 2.2. Prekeys Every client initially generates some key material which is stored locally: -- Identity keypair based on secp256k1 - $IK$; -- A signed prekey based on secp256k1 - $SPK$; -- A prekey signature - Sig($IK$, Encode($SPK$)) +- Identity keypair based on secp256k1 - `IK` +- A signed prekey based on secp256k1 - `SPK` +- A prekey signature - `Sig(IK, Encode(SPK))` -TODO: Formatting is off here, not sure what this is supposed to be in Markdown. Assumes LaTeX? +More details can be found in section 1.2 of [Account specification](./x9.md) A `contact-code` is a protobuf `Bundle` message, encoded in `JSON` and converted to their `base64` string representation. -Prekey bundles are exchanged through QR codes, contact codes, 1:1 or public chat messages. *We will be updating this document with information about bundle exchange through [ENS](https://ens.domains/) and [Swarm](https://swarm-guide.readthedocs.io/en/latest/introduction.html) as work progresses and technologies become more usable.* +Prekey bundles are can be extracted from any user's messages, or found via searching for their specific contact code topic, `{IK}-contact-code`. TODO: See below on bundle retrieval, this seems like enhancement and parameter for recommendation ### 2.3. Bundle retrieval +TODO: Potentially move this completely over to [Trust Establishment](./x5.md) X3DH works by having client apps create and make available a bundle of prekeys (the X3DH bundle) that can later be requested by other interlocutors when they wish to start a conversation with a given user. diff --git a/x9.md b/x9.md index 7507487..cdfa418 100644 --- a/x9.md +++ b/x9.md @@ -34,6 +34,9 @@ Everything else associated with the contact is either verified or derived from t - Timestamp - These bundles are made available in a variety of ways, as defined in section 2.1. +### 1.3 Register at push notification system +- TODO: Add this. + ## 2 Account Broadcasting - A user is responsible for broadcasting certain information publicly so that others may contact them.