diff options
author | Özgür Kesim <oec-taler@kesim.org> | 2023-03-16 11:57:49 +0100 |
---|---|---|
committer | Özgür Kesim <oec-taler@kesim.org> | 2023-03-16 11:57:56 +0100 |
commit | ecf7292844e3ec42be857ff322b322287c08e74b (patch) | |
tree | 55b2b8ce20083f7e8db28eb79d28d92b4b588952 /core | |
parent | 3121b4edf7ed8ab6432f5fdcbd16f98f162bba29 (diff) | |
download | docs-ecf7292844e3ec42be857ff322b322287c08e74b.tar.gz docs-ecf7292844e3ec42be857ff322b322287c08e74b.tar.bz2 docs-ecf7292844e3ec42be857ff322b322287c08e74b.zip |
Expand CoinEnvelope to the actual two types: RSACoinEnvelope and CSCoinEnvelope, depending on the cipher
Diffstat (limited to 'core')
-rw-r--r-- | core/api-common.rst | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/core/api-common.rst b/core/api-common.rst index 6be51f49..ab7726a1 100644 --- a/core/api-common.rst +++ b/core/api-common.rst @@ -424,8 +424,31 @@ Blinded coin .. ts:def:: CoinEnvelope - // Blinded coin's `public EdDSA key <eddsa-coin-pub>`, `base32` encoded. - type CoinEnvelope = string; + // The type of a coin's blinded envelope depends on the cipher that is used + // for signing with a denomination key. + type CoinEnvelope = RSACoinEnvelope | CSCoinEnvelope ; + +.. ts:def:: RSACoinEnvelope + + // For denomination signatures based on RSA, the planchet is just a blinded + // coin's `public EdDSA key <eddsa-coin-pub>`. + interface RSACoinEnvelope { + cipher: "RSA" | "RSA+age_restricted"; + rsa_blinded_planchet: string; // Crockford `Base32` encoded + } + +.. ts:def:: CSCoinEnvelope + + // For denomination signatures based on Blind Clause-Schnorr, the planchet + // consists of the public nonce and two Curve25519 scalars which are two + // blinded challenges in the Blinded Clause-Schnorr signature scheme. + // See https://taler.net/papers/cs-thesis.pdf for details. + interface CSCoinEnvelope { + cipher: "CS" | "CS+age_restricted"; + cs_nonce: string; // Crockford `Base32` encoded + cs_blinded_c0: string; // Crockford `Base32` encoded + cs_blinded_c1: string; // Crockford `Base32` encoded + } .. ts:def:: DenominationBlindingKeyP |