Skip to content

Commit 76b12fa

Browse files
adding dqkd docs (#93)
1 parent 7d01c03 commit 76b12fa

File tree

33 files changed

+2528
-615
lines changed

33 files changed

+2528
-615
lines changed

content/DQKD/_index.md

+62
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
+++
2+
menuTitle = "DQKD"
3+
title = "Digital Quantum Key Distribution (DQKD) "
4+
date = 2021-12-14T11:01:08-04:00
5+
weight = 2
6+
disableToc = "true"
7+
+++
8+
9+
## What is DQKD?
10+
11+
Alice is at one location (Site A), and Bob is at a different location (Site B). Each location has its own Key Management Entity (KME) that stores keys and makes them available for use by local clients.
12+
13+
Alice wants to generate a symmetric encryption key and store it in the KME at Site A. She also wants to share that key with Bob and store it in the KME at Site B. It should then be possible to retrieve the key from either site, using the same key id.
14+
15+
Traditional QKD systems use isolated fiber-optic or satellite based networks to send the key material between the sites.
16+
17+
Qrypt's DQKD solution uses Qrypt's [BLAST](https://www.qrypt.com/wp-content/uploads/2022/03/Whitepaper-EverlastingSecurity.pdf#page=9) protocol instead. The advantage of this protocol is that it makes it possible to exchange keys between sites securely over the public internet, without having to establish an isolated fiber-optic or satellite network.
18+
## How it works:
19+
A DQKD cluster consists of multiple sites, each of which has a KME that is identified by a unique KME ID.
20+
21+
Each site has a server exposes the same API, which is an instance of the [ETSI GS QKD 014](https://www.etsi.org/deliver/etsi_gs/QKD/001_099/014/01.01.01_60/gs_qkd014v010101p.pdf) specification.
22+
23+
The cluster is secured using a single certificate trust chain. All endpoints on the cluster enforce mutual TLS, so all clients will need a client cert that is part of the same trust chain to call the endpoints on the respective sites.
24+
25+
### Generating a key - example data flow
26+
1. Alice calls the enc_keys endpoint on Site A to generate a key that she wants to share with Bob:
27+
```
28+
curl --cert My_Certs.p12 \
29+
"https://dqkd-eastus-1.qrypt.net/api/v1/keys/(Bob's KME ID)/enc_keys"
30+
```
31+
32+
2. The DQKD server uses the BLAST protocol to generate a key and a new random key ID, and stores the key in the local KME
33+
34+
3. The key ID and metadata required to re-genrate that key is sent to site B.
35+
36+
4. The DQKD server at site B receives the metadata and uses it to re-generate the key.
37+
38+
5. The key is then stored and associated with the key ID in site B's KME.
39+
40+
6. Alice receives the key material along with the key ID in the response to her original request:
41+
42+
```
43+
{"keys": [{"key": "KEY_MATERIAL","key_ID": "SOME_KEY_ID"}]}
44+
```
45+
46+
7. Alice sends Bob the key ID.
47+
48+
8. Bob calls the dec_keys endpoint on the DQKD server at site B to get a copy of the key:
49+
```
50+
curl --cert My_Cert.p12 \
51+
"https://dqkd-westus-1.qrypt.net/api/v1/keys/(Alice's KME ID)/dec_keys" \
52+
-H "Content-Type: application/json" \
53+
-d '{"key_IDs": [{"key_ID": "SOME_KEY_ID"}]}'
54+
```
55+
9. Bob receives the key material in the response:
56+
```
57+
{"keys": [{"key": "KEY_MATERIAL", "key_ID": "SOME_KEY_ID"}]}
58+
```
59+
60+
61+
### Data flow - Illustrated
62+
![FullPage](images/dqkddiagram.svg)

content/DQKD/images/dqkddiagram.svg

+11
Loading

docs/404.html

+8-8
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,15 @@
99
<title>404 Page not found</title>
1010

1111

12-
<link href="./css/nucleus.css?1729790447" rel="stylesheet">
13-
<link href="./css/fontawesome-all.min.css?1729790447" rel="stylesheet">
14-
<link href="./css/hybrid.css?1729790447" rel="stylesheet">
15-
<link href="./css/featherlight.min.css?1729790447" rel="stylesheet">
16-
<link href="./css/perfect-scrollbar.min.css?1729790447" rel="stylesheet">
17-
<link href="./css/theme.css?1729790447" rel="stylesheet">
18-
<link href="./css/hugo-theme.css?1729790447" rel="stylesheet">
12+
<link href="./css/nucleus.css?1734377966" rel="stylesheet">
13+
<link href="./css/fontawesome-all.min.css?1734377966" rel="stylesheet">
14+
<link href="./css/hybrid.css?1734377966" rel="stylesheet">
15+
<link href="./css/featherlight.min.css?1734377966" rel="stylesheet">
16+
<link href="./css/perfect-scrollbar.min.css?1734377966" rel="stylesheet">
17+
<link href="./css/theme.css?1734377966" rel="stylesheet">
18+
<link href="./css/hugo-theme.css?1734377966" rel="stylesheet">
1919

20-
<link href="./css/theme-mine.css?1729790447" rel="stylesheet">
20+
<link href="./css/theme-mine.css?1734377966" rel="stylesheet">
2121

2222
<style>
2323
:root #header + #content > #left > #rlblock_left {

docs/categories/index.html

+54-23
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<head>
44
<meta charset="utf-8">
55
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6-
<meta name="generator" content="Hugo 0.134.3">
6+
<meta name="generator" content="Hugo 0.139.4">
77
<meta name="description" content="">
88

99

@@ -12,22 +12,22 @@
1212
<title>Categories :: Qrypt</title>
1313

1414

15-
<link href="../css/nucleus.css?1729790447" rel="stylesheet">
16-
<link href="../css/fontawesome-all.min.css?1729790447" rel="stylesheet">
17-
<link href="../css/hybrid.css?1729790447" rel="stylesheet">
18-
<link href="../css/featherlight.min.css?1729790447" rel="stylesheet">
19-
<link href="../css/perfect-scrollbar.min.css?1729790447" rel="stylesheet">
20-
<link href="../css/auto-complete.css?1729790447" rel="stylesheet">
21-
<link href="../css/atom-one-dark-reasonable.css?1729790447" rel="stylesheet">
22-
<link href="../css/theme.css?1729790447" rel="stylesheet">
23-
<link href="../css/tabs.css?1729790447" rel="stylesheet">
24-
<link href="../css/hugo-theme.css?1729790447" rel="stylesheet">
15+
<link href="../css/nucleus.css?1734377966" rel="stylesheet">
16+
<link href="../css/fontawesome-all.min.css?1734377966" rel="stylesheet">
17+
<link href="../css/hybrid.css?1734377966" rel="stylesheet">
18+
<link href="../css/featherlight.min.css?1734377966" rel="stylesheet">
19+
<link href="../css/perfect-scrollbar.min.css?1734377966" rel="stylesheet">
20+
<link href="../css/auto-complete.css?1734377966" rel="stylesheet">
21+
<link href="../css/atom-one-dark-reasonable.css?1734377966" rel="stylesheet">
22+
<link href="../css/theme.css?1734377966" rel="stylesheet">
23+
<link href="../css/tabs.css?1734377966" rel="stylesheet">
24+
<link href="../css/hugo-theme.css?1734377966" rel="stylesheet">
2525

26-
<link href="../css/theme-mine.css?1729790447" rel="stylesheet">
26+
<link href="../css/theme-mine.css?1734377966" rel="stylesheet">
2727

2828

2929

30-
<script src="../js/jquery-3.3.1.min.js?1729790447"></script>
30+
<script src="../js/jquery-3.3.1.min.js?1734377966"></script>
3131

3232

3333
</head>
@@ -147,6 +147,21 @@
147147

148148
</li>
149149

150+
<li
151+
data-nav-id="/dqkd/"
152+
title="Digital Quantum Key Distribution (DQKD) "
153+
class="dd-item
154+
155+
156+
157+
"
158+
>
159+
<a href="../dqkd/">
160+
DQKD
161+
</a>
162+
163+
</li>
164+
150165
<li
151166
data-nav-id="/sdk/"
152167
title="Key Generation"
@@ -657,6 +672,22 @@ <h1>
657672

658673

659674

675+
676+
677+
678+
679+
680+
681+
682+
683+
684+
685+
686+
687+
688+
689+
690+
660691

661692

662693

@@ -926,19 +957,19 @@ <h1>
926957
<div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
927958
<div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
928959
</div>
929-
<script src="../js/clipboard.min.js?1729790447"></script>
930-
<script src="../js/perfect-scrollbar.min.js?1729790447"></script>
931-
<script src="../js/perfect-scrollbar.jquery.min.js?1729790447"></script>
932-
<script src="../js/jquery.sticky.js?1729790447"></script>
933-
<script src="../js/featherlight.min.js?1729790447"></script>
934-
<script src="../js/highlight.pack.js?1729790447"></script>
960+
<script src="../js/clipboard.min.js?1734377966"></script>
961+
<script src="../js/perfect-scrollbar.min.js?1734377966"></script>
962+
<script src="../js/perfect-scrollbar.jquery.min.js?1734377966"></script>
963+
<script src="../js/jquery.sticky.js?1734377966"></script>
964+
<script src="../js/featherlight.min.js?1734377966"></script>
965+
<script src="../js/highlight.pack.js?1734377966"></script>
935966
<script>hljs.initHighlightingOnLoad();</script>
936-
<script src="../js/modernizr.custom-3.6.0.js?1729790447"></script>
937-
<script src="../js/learn.js?1729790447"></script>
938-
<script src="../js/hugo-learn.js?1729790447"></script>
967+
<script src="../js/modernizr.custom-3.6.0.js?1734377966"></script>
968+
<script src="../js/learn.js?1734377966"></script>
969+
<script src="../js/hugo-learn.js?1734377966"></script>
939970

940971

941-
<script src="../mermaid/mermaid.js?1729790447"></script>
972+
<script src="../mermaid/mermaid.js?1734377966"></script>
942973

943974
<script>
944975
mermaid.initialize({ startOnLoad: true });

docs/concepts/entropy-projection/index.html

+54-23
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<head>
44
<meta charset="utf-8">
55
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6-
<meta name="generator" content="Hugo 0.134.3">
6+
<meta name="generator" content="Hugo 0.139.4">
77
<meta name="description" content="">
88

99

@@ -12,22 +12,22 @@
1212
<title>Key Entropy Size :: Qrypt</title>
1313

1414

15-
<link href="../../css/nucleus.css?1729790447" rel="stylesheet">
16-
<link href="../../css/fontawesome-all.min.css?1729790447" rel="stylesheet">
17-
<link href="../../css/hybrid.css?1729790447" rel="stylesheet">
18-
<link href="../../css/featherlight.min.css?1729790447" rel="stylesheet">
19-
<link href="../../css/perfect-scrollbar.min.css?1729790447" rel="stylesheet">
20-
<link href="../../css/auto-complete.css?1729790447" rel="stylesheet">
21-
<link href="../../css/atom-one-dark-reasonable.css?1729790447" rel="stylesheet">
22-
<link href="../../css/theme.css?1729790447" rel="stylesheet">
23-
<link href="../../css/tabs.css?1729790447" rel="stylesheet">
24-
<link href="../../css/hugo-theme.css?1729790447" rel="stylesheet">
15+
<link href="../../css/nucleus.css?1734377966" rel="stylesheet">
16+
<link href="../../css/fontawesome-all.min.css?1734377966" rel="stylesheet">
17+
<link href="../../css/hybrid.css?1734377966" rel="stylesheet">
18+
<link href="../../css/featherlight.min.css?1734377966" rel="stylesheet">
19+
<link href="../../css/perfect-scrollbar.min.css?1734377966" rel="stylesheet">
20+
<link href="../../css/auto-complete.css?1734377966" rel="stylesheet">
21+
<link href="../../css/atom-one-dark-reasonable.css?1734377966" rel="stylesheet">
22+
<link href="../../css/theme.css?1734377966" rel="stylesheet">
23+
<link href="../../css/tabs.css?1734377966" rel="stylesheet">
24+
<link href="../../css/hugo-theme.css?1734377966" rel="stylesheet">
2525

26-
<link href="../../css/theme-mine.css?1729790447" rel="stylesheet">
26+
<link href="../../css/theme-mine.css?1734377966" rel="stylesheet">
2727

2828

2929

30-
<script src="../../js/jquery-3.3.1.min.js?1729790447"></script>
30+
<script src="../../js/jquery-3.3.1.min.js?1734377966"></script>
3131

3232

3333
</head>
@@ -147,6 +147,21 @@
147147

148148
</li>
149149

150+
<li
151+
data-nav-id="/dqkd/"
152+
title="Digital Quantum Key Distribution (DQKD) "
153+
class="dd-item
154+
155+
156+
157+
"
158+
>
159+
<a href="../../dqkd/">
160+
DQKD
161+
</a>
162+
163+
</li>
164+
150165
<li
151166
data-nav-id="/sdk/"
152167
title="Key Generation"
@@ -778,6 +793,22 @@ <h2 id="formula">Formula</h2>
778793

779794

780795

796+
797+
798+
799+
800+
801+
802+
803+
804+
805+
806+
807+
808+
809+
810+
811+
781812

782813

783814

@@ -1055,19 +1086,19 @@ <h2 id="formula">Formula</h2>
10551086
<div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
10561087
<div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
10571088
</div>
1058-
<script src="../../js/clipboard.min.js?1729790447"></script>
1059-
<script src="../../js/perfect-scrollbar.min.js?1729790447"></script>
1060-
<script src="../../js/perfect-scrollbar.jquery.min.js?1729790447"></script>
1061-
<script src="../../js/jquery.sticky.js?1729790447"></script>
1062-
<script src="../../js/featherlight.min.js?1729790447"></script>
1063-
<script src="../../js/highlight.pack.js?1729790447"></script>
1089+
<script src="../../js/clipboard.min.js?1734377966"></script>
1090+
<script src="../../js/perfect-scrollbar.min.js?1734377966"></script>
1091+
<script src="../../js/perfect-scrollbar.jquery.min.js?1734377966"></script>
1092+
<script src="../../js/jquery.sticky.js?1734377966"></script>
1093+
<script src="../../js/featherlight.min.js?1734377966"></script>
1094+
<script src="../../js/highlight.pack.js?1734377966"></script>
10641095
<script>hljs.initHighlightingOnLoad();</script>
1065-
<script src="../../js/modernizr.custom-3.6.0.js?1729790447"></script>
1066-
<script src="../../js/learn.js?1729790447"></script>
1067-
<script src="../../js/hugo-learn.js?1729790447"></script>
1096+
<script src="../../js/modernizr.custom-3.6.0.js?1734377966"></script>
1097+
<script src="../../js/learn.js?1734377966"></script>
1098+
<script src="../../js/hugo-learn.js?1734377966"></script>
10681099

10691100

1070-
<script src="../../mermaid/mermaid.js?1729790447"></script>
1101+
<script src="../../mermaid/mermaid.js?1734377966"></script>
10711102

10721103
<script>
10731104
mermaid.initialize({ startOnLoad: true });

0 commit comments

Comments
 (0)