Skip to content

Commit c42beae

Browse files
committed
adding dqkd docs
1 parent 7d01c03 commit c42beae

File tree

2 files changed

+78
-0
lines changed

2 files changed

+78
-0
lines changed

content/DQKD/_index.md

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
+++
2+
menuTitle = "DQKD"
3+
title = "Digital Quantum Key Distribution (DQKD) "
4+
date = 2021-12-10T11:01:08-04:00
5+
weight = 2
6+
disableToc = "true"
7+
+++
8+
9+
## What is DQKD?
10+
11+
DQKD is a functional and easy-to-set-up alternative to [QKD](https://www.nsa.gov/Cybersecurity/Quantum-Key-Distribution-QKD-and-Quantum-Cryptography-QC/), aiming to attain the level of security granted by QKD with a fraction of the deployment cost. We do so by using Qrypt's [BLAST](https://www.qrypt.com/wp-content/uploads/2022/03/Whitepaper-EverlastingSecurity.pdf#page=9) technology to generate key material safely at the endpoints. Unlike standard QKD, Qrypt's BLAST-based QKD removes the need for specialized instalations such as satalite and fiber optic.
12+
## How it works:
13+
### From the User Perspective (simplest example)
14+
1. Alice wants to generate symmetric keys with bob, without sending the key material directly between her and Bob
15+
16+
2. Using her cert from Qrypt, and the ID of Bob's Key Management Entity (KME), Alice calls the API for a single key.
17+
18+
2. A moment later, she recieves the key and respective key ID from her KME on site.
19+
20+
3. Behind the scenes, Alice's KME securely transmits the data required for Bob's KME to generate the exact same key through BLAST.
21+
22+
4. Then, she comfortably shares the key ID over a public channel with Bob, say over Discord or Whatsapp. Bob recieves the key ID.
23+
24+
5. Bob then sends a request to his KME through the same API to replicate the key.
25+
26+
6. From his on-site KME, Bob then recieves the key material that was generated by Alice, and can then use that material to sensitive data to Alice.
27+
See graphic below for a visual.
28+
29+
![FullPage](images/dqkddiagram.svg)
30+
31+
Alice and Bob have successfully established a post-quantum cryptographic connection without digging 100's of miles of cable or launching multiple satalites.
32+
### Technical Implementation Details
33+
Alice requests a fresh quantum-random key, tagging Bob's server to allow dqkd to make the key available on that server.
34+
35+
curl --cert My_Cert.p12 \
36+
"https://dqkd-eastus-1.qrypt.net/api/v1/keys/(Bob's KME ID)/enc_keys"
37+
38+
The API defaults to one key of size 256, because Alice only needs one default key, she leaves the data fields blank, and recieves a key:
39+
40+
41+
{"keys": [{"key": “actual key”,"key_ID": “key id of actual key”}]}
42+
43+
{{% notice note %}}
44+
To request more than the default, use the following format, by adding the following to the data field of the request:
45+
{{% /notice %}}
46+
```c
47+
curl --cert My_Cert.p12 \
48+
"https://dqkd-eastus-1.qrypt.net/api/v1/keys/(Bob's KME ID)/enc_keys" \
49+
-d '{"number": 1, "size":256}'
50+
```
51+
52+
Alice then sends the key ID to Bob, who already has Alice's KME ID, then sends the request for the Key Alice generated on her end.
53+
54+
curl --cert My_Cert.p12 \
55+
"https://dqkd-westus-1.qrypt.net/api/v1/keys/(Alice's KME ID)/dec_keys" \
56+
-H "Content-Type: application/json" \
57+
-d '{"key_IDs": [{"key_ID": “key id of actual key”}]}'
58+
59+
Bob then recieves the same message generated by Alice
60+
61+
{"keys": [{"key": “actual key”,"key_ID": “key id of actual key”}]}
62+
63+
From here the key can be used for any number of use cases, with the assurance that the key data is secure. This example is only to show how the system works, there can be any number of Alices or Bobs under a single KME, and unlimited KMEs that communicate with one another in a network. There is also the option to have a Time To Live (TTL) which can time-gate key decodes for shorter than the default of one hour.
64+
65+
{{% notice note %}}
66+
We have implemented Qrypt DQKD in accordance with the [ETSI GS QKD 014](https://www.etsi.org/deliver/etsi_gs/QKD/001_099/014/01.01.01_60/gs_qkd014v010101p.pdf) specification.
67+
{{% /notice %}}

0 commit comments

Comments
 (0)