060-clause-schnorr.rst (1755B)
1 DD 60: Clause-Schnorr Signatures 2 ################################ 3 4 :Design status: Accepted 5 :Implementation status: Implemented 6 :DD shepherd: TBD 7 :Historical contributors: Özgür Kesim 8 :First published: 2025-04-12 9 :Last substantive change: 2025-04-12 10 :Implementation evidence: exchange (2025-07-07) 11 :Normative references: ``core/api-exchange.rst``, ``manpages/taler-exchange-secmod-cs.1.rst`` 12 13 .. note:: 14 15 This DD was reserved as a design placeholder and was never expanded. The 16 implemented protocol and security-module manual are normative; the 17 placeholder sections below are retained as historical context. 18 19 Summary 20 ======= 21 22 Certain denomination cipher types, such as Clause-Schnorr, require input values 23 from the exchange-side as preparation for the blinding of the coins. See the 24 Bachelor thesis of Gian Demarmels and Lucien Heuzeveldt, 25 `Adding Schnorr’s Blind Signature in Taler <https://www.taler.net/papers/cs-thesis.pdf>`_, 26 for details. 27 28 Motivation 29 ========== 30 31 Clause-Schnorr denominations need an exchange-assisted preparation step before 32 the wallet can blind a coin. 33 34 Requirements 35 ============ 36 37 The exchange API must expose the preparation values, and the signing helper 38 must support Clause-Schnorr denomination keys. 39 40 Proposed Solution 41 ================= 42 43 The implemented solution is documented by the normative exchange API and the 44 ``taler-exchange-secmod-cs`` manual referenced above. 45 46 Definition of Done 47 ================== 48 49 * [x] exchange preparation API specified and implemented 50 * [x] Clause-Schnorr security module implemented and documented 51 52 Alternatives 53 ============ 54 55 Drawbacks 56 ========= 57 58 Discussion / Q&A 59 ================ 60 61 (This should be filled in with results from discussions on mailing lists / personal communication.)