summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
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
commitecf7292844e3ec42be857ff322b322287c08e74b (patch)
tree55b2b8ce20083f7e8db28eb79d28d92b4b588952 /core
parent3121b4edf7ed8ab6432f5fdcbd16f98f162bba29 (diff)
downloaddocs-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.rst27
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