Update README.md

fix minor typos
This commit is contained in:
jesseaam
2022-10-20 19:29:30 -04:00
committed by GitHub
parent aa209157b9
commit f19f9ece35

View File

@@ -1,7 +1,7 @@
# Notation # Notation
Sending user: `Alice` Sending user: `Alice`<br>
Receivung user: `Carol` Receiving user: `Carol`<br>
Mint: `Bob` Mint: `Bob`
## Bob (mint) ## Bob (mint)
@@ -15,11 +15,11 @@ Mint: `Bob`
- `T` blinded message - `T` blinded message
- `Z` proof (unblinded signature) - `Z` proof (unblinded signature)
# Blind Diffie-Hellmann key exchange (BDH) # Blind Diffie-Hellman key exchange (BDH)
- Mint `Bob` publishes `K = kG` - Mint `Bob` publishes `K = kG`
- `Alice` picks secret `x` and computes `Y = hash_to_curve(x)` - `Alice` picks secret `x` and computes `Y = hash_to_curve(x)`
- `Alice` sends to `Bob`: `T = Y + rG` with `r` being a random nonce - `Alice` sends to `Bob`: `T = Y + rG` with `r` being a random nonce
- `Bob` sends back to `Alice` blinded key: `Q = kT` (these two steps are the DH key exchange) - `Bob` sends back to `Alice` blinded key: `Q = kT` (these two steps are the DH key exchange)
- `Alice` can calculate the unblinded key as `Q - rK = kY + krG - krG = kY = Z` - `Alice` can calculate the unblinded key as `Q - rK = kY + krG - krG = kY = Z`
- Alice can take the pair `(x, Z)` as a token and can send it to `Carol`. - Alice can take the pair `(x, Z)` as a token and can send it to `Carol`.
- `Carol` can send `(x, Z)` to `Bob` who then checks that `k*hash_to_curve(x) == Z`, and if so treats it as a valid spend of a token, adding `x` to the list of spent secrets. - `Carol` can send `(x, Z)` to `Bob` who then checks that `k*hash_to_curve(x) == Z`, and if so treats it as a valid spend of a token, adding `x` to the list of spent secrets.