Skip to content

Commit

Permalink
Add note about deterministic key generation
Browse files Browse the repository at this point in the history
  • Loading branch information
emlun committed Apr 4, 2024
1 parent 3f02f92 commit 3c56059
Showing 1 changed file with 16 additions and 0 deletions.
16 changes: 16 additions & 0 deletions draft-bradleylundberg-cfrg-arkg.md
Original file line number Diff line number Diff line change
Expand Up @@ -379,6 +379,22 @@ ARKG-Generate-Seed() -> (pk, sk)
sk = (sk_kem, sk_bl)
~~~

### Deterministic key generation

Although the above definition expresses the key generation as opaque,
likely sampling random key distributions,
implementations MAY choose to implement the functions `BL-Generate-Keypair()`,
`KEM-Generate-Keypair()` and `ARKG-Generate-Seed()`
as deriving keys deterministically from some given input key material.
This can be thought of as defining a single-use ARKG instance where these functions return a constant result.
This use case is beyond the scope of this document
since the implementation of `ARKG-Generate-Seed` is internal to the delegating party,
even if applications choose to distribute the delegating party across multiple processing entities.

For example, one entity may randomly sample `pk_bl`, derive `pk_kem` deterministically from `pk_bl`
and submit only `pk_bl` to a separate service that uses the same procedure to also derive the same `pk_kem`.
This document considers both of these entities as parts of the same logical delegating party.


## The function ARKG-Derive-Public-Key

Expand Down

0 comments on commit 3c56059

Please sign in to comment.