Changes

Np1sec

1 byte added, 9 years ago
/* VIII.1 Schematic view of the key exchange */
For the high level design of the protocol we do not specify the primitives for ''GroupEnc'' and ''GroupDec'' used in steps 2.4 and -.3. However, we discuss their property and we present some candidates.
For simplicity, group operation is written multiplicatively, although (even though it is actually an elliptic curve points operation and traditionally represented by addition). Whenever our design deviates from [ACMP10], it is marked in {{Font color|black|yellow|yellow}}. We have abstracted out the steps mentioned in [ACMP10] as an independent primitive in {{Font color|black|pink|pink}}:
'''Algorithm 1'''
{| border="1" cellspacing="0" cellpadding="5" align="center"
!align="center"|RndStep
!align="right"|Description
!align="center"|Pseudo-code
|align="center"|Computation
|-
|align="center"|1.12
|align="right"|Generate DH key for BD, Triple DH and Signature
|align="center"|<math>y_i \leftarrow g^{x_i}</math>
|align="center"|Computation
|-
|align="center"|1.23
|align="right"|Broadcast User identity and the DH key
|align="center"|<math>(U_i, y_i)</math>
|align="center"|Broadcast
|-
|align="center"|24
|align="right"|Compute Session Id
|align="center"|<math>sid_i \leftarrow (U_1|y_1|\dots|U_n|y_n)</math>
|align="center"|Receive
|-''(n)sec''
|align="center"|2.15
|align="right"|Generate Triple Diffie-Hellman P2P keys
|align="center"|{{Font color|black|yellow|<math>k_{i,j} \leftarrow H({y_j}^{LSK_{U_i}},LPK_{U_j}^{x_i},y_j^{x_i}) \; \forall j \neq i</math>}}
|align="center"|Computation
|-
|align="center"|2.26
|align="right" |Generate key confirmations
|align="center"|{{Font color|black|yellow|<math>kc_i \leftarrow (H(k_{i,1}, U_1),\dots,H(k_{i,n}, U_n))</math>}}
|align="center"|Broadcast
|-
|align="center"|2.37
|align="right"|Generate secret shares
|align="center"|<math>z'_i := \leftarrow (H(k_{i,j}, sid_i) for j \in \{1,\dots,n\})</math>
|align="center"|Computation
|-
|align="center"|2.48
|align="right" |Encrypt shares
|align="center"|{{Font color|black|pink|<math>z_i \leftarrow GroupEnc(k_{i_j} for j \in \{1,\dots,n\}, z')</math>}}
|align="center"|Computation
|-
|align="center"|2.39
|align="right"|Sign identity, shares
|align="center"|<math>\sigma_i \leftarrow Sign_{x_i}(U_i, z_i, sid)</math>
|align="center"|Computation
|-
|align="center"|2.410
|align="right"|Broadcast encrypted shares and confirmation
|align="center"|<math>(U_i, z_i, \sigma_i,</math>{{Font color|black|yellow|<math>kc_i</math>}}'')''
|align="center"|Broadcast
|-
|align="center"|-11
|align="right"|Check validity of key confirmation
|align="center"|{{Font color|black|yellow|<math>kc_k[j] \stackrel{?}{=} kc_j[k] \; \forall j \neq k</math>}}
|align="center"|Receive
|-
|align="center"|12
|align="right"|Check signatures
|align="center"|<math>Verify_{y_i}(\sigma_j) \; \forall j \neq i</math>
|align="center"|Computation
|-
|align="center"|13
|align="right"|Check Session Ids
|align="center"|<math>sid_j \stackrel{?}{=} sid_i \; \forall j \neq i</math>
|align="center"|Computation
|-
|align="center"|14
|align="right"| Generate session key
|align="center"|{{Font color|black|pink|<math>sk_{i,j} \leftarrow H(GroupDec(k_{i,j}, z_j \; \forall j),sid_i, U_j) \; \forall j \neq i</math>}}
Bureaucrat, emailconfirmed, administrator, translator
662
edits