2024-08-01 11:35:01 +08:00
2024-08-01 11:25:35 +08:00
2024-08-01 11:25:35 +08:00
2024-08-01 11:25:35 +08:00
2024-08-01 11:25:35 +08:00
2024-08-01 11:35:01 +08:00

DSKE Poc

Introduction

This is a proof of concept of the DSKE system, the main goal is to demonstrate the algorithm in the DSKE. There are a few assumptions are limitations in this proof-of-concept project.

  1. This is not a working protocol, this project is just to prove the algorithm concept.
  2. This project is demonstrating a simple DSKE protocol, which means n = k. It is a (n, n) secret sharing scheme.
  3. The code assumes that the final key sender (Alice) chooses all her security hubs and all her security hubs include the receiver (Bob) as another client.
  4. The code assumes that all the random bits transfer successfully. Bob won't abort the protocol in the key construction phase.
  5. The code assumes every security hub and client won't run out of random bits.

DSKE Main Phases

  1. PSKM generation and distribution

    the SecurityHub.register_client method will generate random bits, store it and return the clone of the random bits. Client.register_securityhub method will store the random bits clone so that the security hub and the client will have their copy of the random bits.

  2. Peer identity establishment

    For this proof-of-concept project, the code assumes that the sender (Alice) and the receiver (Bob) are registered in the same security hubs.

  3. Key agreement

    1. Share generation

      The proof-of-concept project will use (n, n) secret sharing scheme in a simple DSKE protocol, using all the security hubs the user registered. The final key S can be checked by the method Client.generate_final_key.

    2. Share distribution

      Each security hub will use the method SecurityHub.generate_key_instruction to generate a key instruction A (Alice's random bits) XOR B (Bob's random bits).

    3. Key Reconstruction

      Bob can use the method Client.retrieve_key to calculate A ^ B ^ B to retrieve A in each share. Bob can reconstruct the final key S by executing XOR in every share in the simple DSKE protocol (n, n) secret sharing scheme.

  4. Key validation

    The proof-of-concept project assumes all the share's key instructions are delivered correctly, the simple DSKE protocol with (n, n) secret sharing scheme won't be abort in this proof-of-concept project.

Getting Started

cargo run
Description
No description provided
Readme 31 KiB
Languages
Rust 100%