commit c325787f79390a20c36638a7659cc8ef26666175
parent dde52d29ba199601a6e8be6ee7f753004cb87307
Author: Özgür Kesim <oec-taler@kesim.org>
Date: Sat, 12 Apr 2025 12:50:47 +0200
[dd:pq-refresh] simplify request object
Diffstat:
1 file changed, 15 insertions(+), 14 deletions(-)
diff --git a/design-documents/062-pq-refresh.rst b/design-documents/062-pq-refresh.rst
@@ -165,25 +165,22 @@ Modified melt request structure:
// for the new coins to order.
denoms_h: HashCode[];
+ // Hash of all the commitments k*n X_i as defined in the
+ // RefreshDerivePQ function.
+ h_Xs: HashCode;
+
// Array of ``n`` entries with ``kappa`` many blinded coin candidates,
// matching the respective entries in ``denoms_h``.
- coin_evs: PQEnvelope[][kappa];
+ //
+ // Note: These are essentially the m_i values in the RefreshDerivePQ
+ // function.
+ coin_evs: CoinEnvelope[][kappa];
// Signature by the `coin <coin-priv>` over `TALER_PQMeltCommitmentPS`.
confirm_sig: EddsaSignature;
}
-The new `PQEnvelope` is defined as follows:
-
-.. ts:def:: PQEnvelope
-
- // Cointains the commitment X and fresh blinded coin m
- interface PQEnvelope {
- X: string;
- m: CoinEnvelope;
- }
-
The new ``TALER_PQMeltCommitmentPS`` is defined as follows:
.. _TALER_PQMeltCommitmentPS:
@@ -206,13 +203,14 @@ The new ``TALER_PQMeltCommitmentPS`` is defined as follows:
*/
struct GNUNET_HashCode h_denoms;
/**
- * hash over all entries in m, depths first
+ * hash over all entries in coin_evs (aka m in RefreshDerivePQ),
+ * depths first
*/
- struct GNUNET_HashCode h_m;
+ struct GNUNET_HashCode h_coin_evs;
/**
* hash over of the required n*kappa transfer public keys, depths first.
*/
- struct GNUNET_HashCode h_X;
+ struct GNUNET_HashCode h_Xs;
};
@@ -220,14 +218,17 @@ The new ``TALER_PQMeltCommitmentPS`` is defined as follows:
Security Analysis
=================
1. **Quantum Resistance**:
+
- No reliance on factoring/DLP
- Hash functions sized for 256-bit quantum security
2. **Unlinkability**:
+
- Multiple hash layers prevent chain tracing
- γ-selection maintains cut-and-choose security
3. **Forward Secrecy**:
+
- Per-session hash chains prevent mass compromise
Drawbacks