Skip to content

Commit ca7d521

Browse files
authored
Update clubs-ocaps.md
1 parent 2a6d1d6 commit ca7d521

1 file changed

Lines changed: 30 additions & 19 deletions

File tree

_pages/clubs-ocaps.md

Lines changed: 30 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -16,52 +16,63 @@ sidebar:
1616

1717
## Traditional & Cryptographic ocaps
1818

19-
Object capabilities (ocaps) are a traditional computer security model. Gordian Clubs use cryptographic ocaps as a new ocaps methodology:
19+
Object capabilities (ocaps) are a traditional computer security model. Gordian Clubs expand them with the use of cryptographic ocaps:
2020

2121
* **Traditional Ocaps**: Software enforces capability delegation.
2222
* **Cryptographic Ocaps**: Mathematics enforces capability delegation.
2323

24-
It's the same principle, but with cryptographic enforcement instead of code. Capabilities now become mathemtical objects, which avoids the confused deputy problem, because math doesn't lie.
24+
It's the same principle, but with cryptographic enforcement instead of code. Capabilities now become mathematical objects, which avoids the confused deputy problem, because math doesn't lie.
2525

2626
Among the capabilities enforced mathematically in Gordian Clubs are:
2727

28-
* Read Capabilities: enforced by permits, including well-understood symmetric key and private key usage as well as SSKR shares.
28+
* Read Capabilities: enforced by permits, including symmetric keys, private keys, and SSKR shares.
2929
* Update Capabilities: alternatively enforced by FROST threshold, which allow group decisions.
30-
* Delegation Capabilities: a more bleeding-edge methodology supported by adaptor signatures.
30+
* Delegation Capabilities: a newer methodology supported by Schnorr's adaptor signatures.
3131

3232
## Delegation
3333

34-
Gordian Clubs use Schnorr signatures as a core technology, with their foundational use being as a threshold signing system that can be used to update Editions. However, Schnorr technologies are like LEGO blocks: different Schnorr options can be stacked together to create towering edifices. One of these additional technologies is the "adaptor signature", which can be combined with other Schnorr technologies to allow delegation, where access can be provided to Gordian Clubs without revealing extant private keys.
34+
Gordian Clubs use Schnorr signatures as a core technology, with their foundational use being as a threshold signing system that can be used to update Editions. However, Schnorr technologies are like LEGO blocks: different Schnorr options can be stacked together to create towering edifices. One of these additional technologies is the "adaptor signature", which can be combined with other Schnorr technologies to allow delegation, where access can be provided to Gordian Clubs Editions without revealing extant private keys.
3535

36-
> :warning: These delegation protocols are "naive" in the cryptographic sense. Like naive Schnorr aggregation (which could leak keys, leading to MuSig2/MuSig-DN), these examples demonstrate the core pattern but need cryptographic proofs. Schnorr adaptor signatures are a mature cryptographic primitive already deployed in production systems, but their use for capability-based access control with single-holder keys is a novel (but reasonable) application.
36+
> :warning: Schnorr adaptor signatures are a mature cryptographic primitive already deployed in production systems, but their use for capability-based access control with single-holder keys is a novel (but reasonable) application. As a result, these delegation protocols are "naive" in the cryptographic sense: like naive Schnorr aggregation (which could leak keys, leading to MuSig2/MuSig-DN), these examples demonstrate the core pattern but need cryptographic proofs.
3737
3838
### Naive Read Delegation via Adaptor Signature
3939

40-
**Goal:** Alice (with read access) delegates to Bob without sharing keys OR updating current edition
41-
1. **Alice creates an incomplete signature**
42-
- Generates random secret `t` and commits to it: `T = t·G`
43-
- Encrypts symmetric key: `k_enc = k ⊕ hash(t, B, edition_id)`
44-
- Creates adaptor signature hiding `t` that only Bob can complete
45-
2. **Only Bob can complete it**
40+
Alice (with read access) delegates to Bob without sharing keys OR updating current Edition.
41+
42+
1. **The Setup**
43+
- Alice has read access to a Gordian Club (knows symmetric key `k` for current edition)
44+
- Bob has an existing keypair: private key `b`, public key `B = b·G`
45+
- Alice wants to delegate read access to Bob for this edition only
46+
2. **Alice creates an incomplete signature**
47+
- Alice generates random secret `t` and commits to it: `T = t·G`
48+
- Alice encrypts symmetric key
49+
- Computes: `k_enc = k ⊕ hash(t, B, edition_id)`
50+
- Alice creates adaptor signature hiding `t` that only Bob can complete
51+
3. **Only Bob can complete it**
4652
- Bob uses his private key `b` to complete the signature
53+
- Computes: `k = k_enc ⊕ hash(t, B, edition_id)`
4754
- Completion reveals the secret `t` to Bob (and only Bob)
48-
3. **Result: Delegated read authority**
49-
- Bob can decrypt this edition using revealed `t`
50-
- Computes: `k = k_enc ⊕ hash(t, B, edition_id)`
55+
- Bob can decrypt this Edition using revealed `t`
56+
4. **Result: Delegated read authority**
5157
- No key sharing required
5258
- Alice retains her original access
5359

5460
### Naive Write Delegation via Adaptor Signatures
5561

56-
* **Goal:** Alice (with write access) delegates to Bob without sharing keys OR updating current edition
57-
1. **Alice creates an incomplete signature**
62+
Alice (with write access) delegates to Bob without sharing keys OR updating current Edition
63+
64+
1. **The Setup**
65+
- Alice has write access to a Gordian Club
66+
- Bob has an existing keypair: private key `b`, public key `B = b·G`
67+
- Alice wants to write access to Bob to create a new Edition
68+
2. **Alice creates an incomplete signature**
5869
- Standard Schnorr: `s = r + H(m)·a`
5970
- Adaptor version: `s' = r + tweak + H(m)·a`
6071
- The "tweak" is locked to Bob's public key
61-
2. **Only Bob can complete it**
72+
3. **Only Bob can complete it**
6273
- Bob uses his private key `b` to derive the tweak to produces a valid signature from Alice
6374
- Proves both: Alice's authorization + Bob's identity
64-
3. **Result: Delegated write authority**
75+
4. **Result: Delegated write authority**
6576
- Bob can create a new edition
6677
- Each shows Alice's valid signature
6778
- No key sharing required

0 commit comments

Comments
 (0)