[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to main content

A Gapless Post-quantum Hash Proof System in the Hamming Metric

  • Conference paper
  • First Online:
Applied Cryptography and Network Security (ACNS 2023)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 13905))

Included in the following conference series:

  • 935 Accesses

Abstract

A hash proof system (HPS) is a form of implicit proof of membership to a language. Out of the very few existing post-quantum HPS, most are based on languages of ciphertexts of code-based or lattice-based cryptosystems and inherently suffer from a gap caused by the possibility for an ill-formed ciphertext to decrypt to a valid plaintext. Since this gap is inconvenient when proving the security in the universal composability framework by Canetti et al., Bettaieb et al. proposed the first gapless post-quantum HPS based on the Rank Quasi-Cyclic (RQC) cryptosystem in the rank metric while conjecturing the existence of a similar HPS in the usual Hamming metric. We solve this conjecture by designing a gapless post-quantum HPS based on the Hamming Quasi-Cyclic (HQC) cryptosystem which, in contrast to RQC, is a NIST post-quantum cryptography standardization alternate candidate. We describe a novel proof of validity for HQC ciphertexts, thereby closing the adversarial gap and present a witness encryption scheme secure in the standard model and a password-based authenticated key exchange protocol secure in the Bellare–Pointcheval–Rogaway (BPR) model.

B. Tran—Supported by the Swiss National Science Foundation (SNSF) through the project grant No 192364 on Post-Quantum Cryptography.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
£29.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
GBP 19.95
Price includes VAT (United Kingdom)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
GBP 79.50
Price includes VAT (United Kingdom)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
GBP 99.99
Price includes VAT (United Kingdom)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    The codomain of \(e_X\) can be substituted for the Kleene star of any non-unary alphabet.

  2. 2.

    We extend \(\mathcal {{R}}\) to \(\left\{ 0,1\right\} ^*\times \left\{ 0,1\right\} ^*\) by defining \(\mathcal {{R}}(x,\omega ) = 0\) for all and .

  3. 3.

    The role of \(w_a\) is to parametrize the correctness of the hash proof system but is not intrinsically needed by the HQC cryptosystem.

  4. 4.

    In [8], the authors incorrectly refer this transform as to the Naor–Yung transform [21], which only guarantees security against non-adaptive chosen ciphertext attacks (\(\text {IND-CCA1}\)).

References

  1. Aguilar-Melchor, C., et al.: Rank Quasi-Cyclic (RQC) (2020). https://pqc-rqc.org/doc/rqc-specification_2020-04-21.pdf

  2. Aguilar-Melchor, C., et al.: Hamming Quasi-Cyclic (HQC) (2021). https://pqc-hqc.org/doc/hqc-specification_2021-06-06.pdf

  3. Alamélou, Q., Blazy, O., Cauchie, S., Gaborit, P.: A code-based group signature scheme. Cryptology ePrint Archive, Paper 2016/1119 (2016). https://eprint.iacr.org/2016/1119

  4. Bellare, M., Pointcheval, D., Rogaway, P.: Authenticated key exchange secure against dictionary attacks. In: Preneel, B. (ed.) EUROCRYPT 2000. LNCS, vol. 1807, pp. 139–155. Springer, Heidelberg (2000). https://doi.org/10.1007/3-540-45539-6_11

    Chapter  Google Scholar 

  5. Bellovin, S.M., Merritt, M.: Encrypted key exchange: password-based protocols secure against dictionary attacks. In: 1992 IEEE Computer Society Symposium on Research in Security and Privacy, Oakland, CA, USA, 4–6 May 1992, pp. 72–84. IEEE Computer Society (1992). https://doi.org/10.1109/RISP.1992.213269

  6. Benhamouda, F., Blazy, O., Chevalier, C., Pointcheval, D., Vergnaud, D.: New techniques for SPHFs and efficient one-round PAKE protocols. In: Canetti, R., Garay, J.A. (eds.) CRYPTO 2013. LNCS, vol. 8042, pp. 449–475. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-40041-4_25

    Chapter  Google Scholar 

  7. Benhamouda, F., Blazy, O., Ducas, L., Quach, W.: Hash proof systems over lattices revisited. In: Abdalla, M., Dahab, R. (eds.) PKC 2018. LNCS, vol. 10770, pp. 644–674. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-76581-5_22

    Chapter  Google Scholar 

  8. Bettaieb, S., Bidoux, L., Blazy, O., Connan, Y., Gaborit, P.: A gapless code-based hash proof system based on RQC and its applications. Des. Codes Cryptogr. 90(12), 3011–3044 (2022). https://doi.org/10.1007/s10623-022-01075-7

    Article  MathSciNet  MATH  Google Scholar 

  9. Blazy, O., Gaborit, P., Schrek, J., Sendrier, N.: A code-based blind signature. In: 2017 IEEE International Symposium on Information Theory (ISIT), pp. 2718–2722 (2017). https://doi.org/10.1109/ISIT.2017.8007023

  10. Canetti, R., Halevi, S., Katz, J., Lindell, Y., MacKenzie, P.: Universally composable password-based key exchange. In: Cramer, R. (ed.) EUROCRYPT 2005. LNCS, vol. 3494, pp. 404–421. Springer, Heidelberg (2005). https://doi.org/10.1007/11426639_24

    Chapter  Google Scholar 

  11. Cramer, R., Shoup, V.: Universal hash proofs and a paradigm for adaptive chosen ciphertext secure public-key encryption. In: Knudsen, L.R. (ed.) EUROCRYPT 2002. LNCS, vol. 2332, pp. 45–64. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-46035-7_4

    Chapter  Google Scholar 

  12. Dolev, D., Dwork, C., Naor, M.: Non-malleable cryptography. In: Koutsougeras, C., Vitter, J.S. (eds.) Proceedings of the 23rd Annual ACM Symposium on Theory of Computing, 5–8 May1991, New Orleans, Louisiana, USA, pp. 542–552. ACM (1991). https://doi.org/10.1145/103418.103474

  13. Fiat, A., Shamir, A.: How to prove yourself: practical solutions to identification and signature problems. In: Odlyzko, A.M. (ed.) CRYPTO 1986. LNCS, vol. 263, pp. 186–194. Springer, Heidelberg (1987). https://doi.org/10.1007/3-540-47721-7_12

    Chapter  Google Scholar 

  14. Garg, S., Gentry, C., Sahai, A., Waters, B.: Witness encryption and its applications. In: Boneh, D., Roughgarden, T., Feigenbaum, J. (eds.) Symposium on Theory of Computing Conference, STOC 2013, Palo Alto, CA, USA, 1–4 June 2013, pp. 467–476. ACM (2013). https://doi.org/10.1145/2488608.2488667

  15. Gennaro, R., Lindell, Y.: A framework for password-based authenticated key exchange. In: Biham, E. (ed.) EUROCRYPT 2003. LNCS, vol. 2656, pp. 524–543. Springer, Heidelberg (2003). https://doi.org/10.1007/3-540-39200-9_33

    Chapter  Google Scholar 

  16. Halevi, S., Kalai, Y.T.: Smooth projective hashing and two-message oblivious transfer. J. Cryptology 25(1), 158–193 (2010). https://doi.org/10.1007/s00145-010-9092-8

    Article  MathSciNet  MATH  Google Scholar 

  17. Kalai, Y.T.: Smooth projective hashing and two-message oblivious transfer. In: Cramer, R. (ed.) EUROCRYPT 2005. LNCS, vol. 3494, pp. 78–95. Springer, Heidelberg (2005). https://doi.org/10.1007/11426639_5

    Chapter  Google Scholar 

  18. Katz, J., Vaikuntanathan, V.: Smooth projective hashing and password-based authenticated key exchange from lattices. In: Matsui, M. (ed.) ASIACRYPT 2009. LNCS, vol. 5912, pp. 636–652. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-10366-7_37

    Chapter  Google Scholar 

  19. Katz, J., Vaikuntanathan, V.: Round-optimal password-based authenticated key exchange. In: Ishai, Y. (ed.) TCC 2011. LNCS, vol. 6597, pp. 293–310. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-19571-6_18

    Chapter  Google Scholar 

  20. Li, Z., Wang, D.: Two-round PAKE protocol over lattices without NIZK. In: Guo, F., Huang, X., Yung, M. (eds.) Inscrypt 2018. LNCS, vol. 11449, pp. 138–159. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-14234-6_8

    Chapter  Google Scholar 

  21. Naor, M., Yung, M.: Public-key cryptosystems provably secure against chosen ciphertext attacks. In: Ortiz, H. (ed.) Proceedings of the 22nd Annual ACM Symposium on Theory of Computing, 13–17 May 1990, Baltimore, Maryland, USA, pp. 427–437. ACM (1990). https://doi.org/10.1145/100216.100273

  22. Pointcheval, D., Stern, J.: Security proofs for signature schemes. In: Maurer, U. (ed.) EUROCRYPT 1996. LNCS, vol. 1070, pp. 387–398. Springer, Heidelberg (1996). https://doi.org/10.1007/3-540-68339-9_33

    Chapter  Google Scholar 

  23. Stern, J.: A new identification scheme based on syndrome decoding. In: Stinson, D.R. (ed.) CRYPTO 1993. LNCS, vol. 773, pp. 13–21. Springer, Heidelberg (1994). https://doi.org/10.1007/3-540-48329-2_2

    Chapter  Google Scholar 

  24. Stern, J.: A new paradigm for public key identification. IEEE Trans. Inf. Theory 42(6), 1757–1768 (1996). https://doi.org/10.1109/18.556672

    Article  MathSciNet  MATH  Google Scholar 

  25. Véron, P.: Improved identification schemes based on error-correcting codes. Appl. Algebra Eng. Commun. Comput. 8(1), 57–69 (1996). https://doi.org/10.1007/s002000050053

    Article  MathSciNet  MATH  Google Scholar 

  26. Zhang, J., Yu, Yu.: Two-round PAKE from approximate SPH and instantiations from lattices. In: Takagi, T., Peyrin, T. (eds.) ASIACRYPT 2017. LNCS, vol. 10626, pp. 37–67. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-70700-6_2

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Bénédikt Tran .

Editor information

Editors and Affiliations

Appendices

A The \(\textsf{FQCDSD}\) Problem

Recall that \(\mathbb {F}^n_{2,\wp }\) denotes the set of vectors \(\boldsymbol{z}\in \mathbb {F}_2^n\) such that \({{\,\textrm{wt}\,}}(\boldsymbol{z})\equiv \wp \pmod {2}\) and that \(\mathbb {S}^n_w\subset \mathbb {F}_2^n\) denotes the Hamming sphere of radius w. In this section, we provide a formal description of the \(\textsf{FQCDSD}\) oracle and discuss the hardness of the \(\textsf{FQCDSD}\) problem (Definition 18). Throughout this section, \(\boldsymbol{m}\in \mathbb {F}_2^k,\,\textbf{G}\in \mathbb {F}_2^{k\times n}\) and \(\boldsymbol{h}_0\in \mathbb {F}_2^n\) are public values and \(\boldsymbol{a}_1,\boldsymbol{a}_2,\boldsymbol{a}_3\in \mathbb {S}^n_{w_a},\,\boldsymbol{r}\in \mathbb {S}^n_{w_r}\) and \(\boldsymbol{e}\in \mathbb {S}^n_{w_e}\) denote independent uniformly distributed variables.

1.1 A.1 Formal \(\textsf{FQCDSD}\) Oracle

We formally define the \(\textsf{FQCDSD}\) oracle \(\mathcal {{O}}_{\textbf{G},\boldsymbol{h}_0}(\boldsymbol{h}_1,\pi )\) as the interactive process depicted on Fig. 6 (page 23), where \(\pi \) is a proof of validity for \(\boldsymbol{h}_1\) to be of the form \(\boldsymbol{h}_1 = \textbf{G}^{\!\top }\boldsymbol{m}+ \boldsymbol{h}_0*\boldsymbol{r}+\boldsymbol{e}\) for some \(\boldsymbol{m}\in \mathbb {F}_2^n\) and \((\boldsymbol{r},\boldsymbol{e})\in \mathbb {S}^n_{w_r}\times \mathbb {S}^n_{w_e}\). The proof of validity can be constructed using the protocol described in Appendix B.1.

Fig. 6.
figure 6

Interactive \(\textsf{FQCDSD}\) Oracle.

1.2 A.2 Hardness of the \(\textsf{FQCDSD}\) Problem

The \(\textsf{FQCDSD}\) problem essentially asks to distinguish between \(\boldsymbol{y}_2 = \boldsymbol{a}_2 + \boldsymbol{h}_1*\boldsymbol{a}_3\) and uniform vectors of same parity given as sole information \(\boldsymbol{y}_1 = \boldsymbol{a}_1 + \boldsymbol{h}_0 * \boldsymbol{a}_3\) and the guarantee that \(\boldsymbol{h}_1=\textbf{G}^{\!\top }\boldsymbol{m}+ \boldsymbol{h}_0*\boldsymbol{r}+\boldsymbol{e}\). Recall that the \(3 \text {-}\textsf{QCDSD}\) with parity problem considers instances of the following form:

$$ \begin{bmatrix} \textbf{I}_n &{} \textbf{0}_n &{} \textbf{circ}(\boldsymbol{h}_0) \\ \textbf{0}_n &{} \textbf{I}_n &{} \textbf{circ}(\boldsymbol{h}_1) \end{bmatrix}\begin{bmatrix} \boldsymbol{a}_1 \\ \boldsymbol{a}_2 \\ \boldsymbol{a}_3 \end{bmatrix} = \begin{bmatrix} \boldsymbol{y}_1 \\ \boldsymbol{y}_2 \end{bmatrix}. $$

The question is now whether the problem remains hard when the adversary has limited control over \(\boldsymbol{h}_1\). We approach this question using similar techniques as in [8, §4.2], although the structural constraints are hard to determine.

Entropy Considerations. Since an adversary may choose \(\boldsymbol{m},\,\boldsymbol{r}\) and \(\boldsymbol{e}\), the number of bits in \(\boldsymbol{h}_1\) an adversary can manipulate is at most \(n' = k + \log \left( {\begin{array}{c}n\\ w_r\end{array}}\right) \left( {\begin{array}{c}n\\ w_e\end{array}}\right) \) out of n bits. Table 2 (page 22) recalls the suggested HQC parameters for the different security levels [2, Tab. 5] and the proportion of bits an adversary may temper. According to these numbers, an adversary should not be able to temper sufficiently many bits in order to solve the \(\textsf{FQCDSD}\) problem.

Table 2. Proportion of bits possibly manipulated.

Structural Considerations. Although the \(\textsf{FQCDSD}\) oracle expects its input to be of a specific form, the adversary may still try to find “weak” inputs for which the oracle distribution would be distinguishable from the uniform distribution. More precisely, consider the equation \( \begin{bmatrix} \textbf{I}_n&\textbf{circ}(\boldsymbol{h}_1) \end{bmatrix}\begin{bmatrix} \boldsymbol{a}_2 \\ \boldsymbol{a}_3 \end{bmatrix} = \boldsymbol{y}_2 \). In the rank metric case, the circulant matrix associated to \(\boldsymbol{h}_1\) is generalized as an ideal matrix. Informally, ideal matrices are generalizations of circulant matrices. In particular, the same arguments as in [8, §4.2] concerning the strategy of setting as many zeros as possible on \(\boldsymbol{h}_1\) apply, hence the adversary should not manage to make \(\boldsymbol{h}_1\) sufficiently sparse in order to leak information about the syndrome and distinguish it from a random one.

B Stern-Like Protocols for HQC

Given a syndrome decoding instance \((\textbf{Q},\boldsymbol{\sigma })\in \mathbb {F}_2^{k\times n}\times \mathbb {F}_2^n\) for weight \(w\in \mathbb {N}\), the Stern protocol [23, 24] is a zero-knowledge protocol which convinces a verifier \(\mathcal {{V}}\) that a prover \(\mathcal {{P}}\) knows a secret vector \(\boldsymbol{z}\in \mathbb {S}_w^k\) such that \(\textbf{Q}^{\!\top }\boldsymbol{z} = \boldsymbol{\sigma }\). More generally, given \(\textbf{Q}_1,\textbf{Q}_2\in \mathbb {F}_2^{k\times n}\), a vector \(\boldsymbol{\sigma }\in \mathbb {F}_2^n\) and a weight \(w = w_1 + w_2\), Alamélou et al. [3] presented the Concatenated Stern protocol which convinces a verifier \(\mathcal {{V}}\) that a prover \(\mathcal {{P}}\) knows a secret vector \(\boldsymbol{z} = (\boldsymbol{z}_1\Vert \boldsymbol{z}_2)\in \mathbb {S}^{2k}_w\) such that \(\boldsymbol{z}_i\in \mathbb {S}^k_{w_i}\) and \(\textbf{Q}^{\!\top }\boldsymbol{z} = \boldsymbol{\sigma }\) where \(\textbf{Q}^{\!\top } = \begin{bmatrix}\textbf{Q}^{\!\top }_1&\textbf{Q}^{\!\top }_2\end{bmatrix}\). Stated otherwise, this is equivalent to show that \(\textbf{Q}^{\!\top }_1\boldsymbol{z}_1 + \textbf{Q}^{\!\top }_2\boldsymbol{z}_2 = \boldsymbol{\sigma }\). Their construction essentially evaluates Stern protocols for \(\boldsymbol{z}_1\) and \(\boldsymbol{z}_2\) simultaneously but requires some additional (omitted) assumptions in order to be used in the context of digital signatures. Instead, Blazy et al. [9] reformulated the Concatenated Stern protocol to make it a statistical zero-knowledge proof protocol with cheating probability 2/3 verifying properties of completeness and soundness zero-knowledge in the ROM under the syndrome decoding hardness assumption [9, Thm. 1].

Let \((n,\nu ,k,d,w,w_r,w_e,w_a)\) be public HQC parameters, \(\mathcal {{C}}\) be the underlying public \([n_1n_2,k,d]\)-code and let \(n = n_1n_2 + \nu \) be an Artin prime. Given a HQC secret key \(\textsf{sk}=(\boldsymbol{x},\boldsymbol{y})\in \mathbb {S}^n_w\times \mathbb {S}^n_w\) and a public key \(\textsf{pk}=(\textbf{G},\boldsymbol{h},\boldsymbol{s})\) such that \(\textbf{G}\in \mathbb {F}_2^{k\times n_1n_2}\) is a generator matrix for \(\mathcal {{C}}\) and \(\boldsymbol{h}\in \mathbb {F}_2^n\) and \(\boldsymbol{s} = \boldsymbol{x} + \boldsymbol{h} * \boldsymbol{y}\), a ciphertext \((\boldsymbol{u},\boldsymbol{v})\) for a plaintext \(\boldsymbol{m}\in \mathbb {F}_2^k\) is defined according to Fig. 2 by:

$$\begin{aligned} \begin{bmatrix} \boldsymbol{u} \\ \boldsymbol{v} \end{bmatrix} = \begin{bmatrix} \boldsymbol{r}_1 + \boldsymbol{h}*\boldsymbol{r}_2 \\ \textbf{G}^{\!\top }\boldsymbol{m} + (\boldsymbol{s}*\boldsymbol{r}_2 + \boldsymbol{e})_{[\nu ]} \end{bmatrix}, \end{aligned}$$
(B.1)

where \(\boldsymbol{r}_1,\boldsymbol{r}_2\in \mathbb {S}^n_{w_r}\) and \(\boldsymbol{e}\in \mathbb {S}^n_{w_e}\). The goal of this section is to describe two protocols similar to the Concatenated Stern protocol to convince a verifier \(\mathcal {{V}}\) that a prover \(\mathcal {{P}}\) knows the secret values \((\boldsymbol{r}_1,\boldsymbol{r}_2,\boldsymbol{e})\) for the plaintext \(\boldsymbol{m}\) and that two ciphertexts \(\textsf{ct}\) and \(\textsf{ct}'\) arise from the same plaintext under different public keys.

Remark 6

All zero-knowledge proof protocols described in this section can be turned into non-interactive zero-knowledge proof protocols in the random oracle model by applying the Fiat–Shamir transform [13, 22].

1.1 B.1 Proof of HQC Ciphertext Validity

As mentioned beforehand, the textbook HQC cryptosystem is not compatible with the HPS construction because of the truncation operation, so instead, we assume that \(\mathcal {{C}}\) is of length exactly n up to replacing \(\textbf{G}\) by \(\begin{bmatrix}\textbf{G}&\textbf{0}_\nu \end{bmatrix}\) (see Sect. 6 for details). That way, we ignore the truncation operation when constructing the ciphertext and simplify the description of the next protocols. In particular, (B.1) is equivalent to the following equation:

$$\begin{aligned} \begin{bmatrix} \textbf{I}_n &{} \textbf{circ}(\boldsymbol{h}) &{} \textbf{0} &{} \textbf{0} \\ \textbf{0} &{} \textbf{circ}(\boldsymbol{s}) &{} \textbf{I}_n &{} \textbf{G}^{\!\top } \\ \end{bmatrix}\begin{bmatrix} \boldsymbol{r}_1 \\ \boldsymbol{r}_2 \\ \boldsymbol{e} \\ \boldsymbol{m} \end{bmatrix} = \begin{bmatrix} \boldsymbol{u} \\ \boldsymbol{v} \end{bmatrix}. \end{aligned}$$
(B.2)

Let and . Let

figure fb

and \({\textbf{Q}^{\!\top }=\begin{bmatrix}\textbf{Q}^{\!\top }_1&\textbf{Q}^{\!\top }_2&\textbf{Q}^{\!\top }_3&\textbf{Q}^{\!\top }_4\end{bmatrix}\in \mathbb {F}_2^{2n\times (3n+k)}}\). We need a protocol that convinces a verifier \(\mathcal {{V}}\) that a prover \(\mathcal {{P}}\) knows \(\boldsymbol{z}\) such that each secret block has the prescribed weight and \(\textbf{Q}^{\!\top }\boldsymbol{z} = \boldsymbol{\sigma }\). Figure 7 describes the protocol from a high-level point of view and we describe each protocol component on Fig. 8 (page 26) separately.

Fig. 7.
figure 7

Single iteration of Proof of Validity for a single HQC ciphertext.

Unless stated otherwise, is a hash function modelled as a random oracle. Denote by \(\mathfrak {S}_\ell \) the group of permutations over \(\ell \) elements. We denote by \(\tau (\boldsymbol{a})\) the action of \(\tau \in \mathfrak {S}_\ell \) on \(\boldsymbol{a}\in \mathbb {F}_2^\ell \) defined by \(\boldsymbol{a} = (a_1,\ldots ,a_\ell ) \mapsto \tau (\boldsymbol{a}) = (a_{\tau (1)},\ldots ,a_{\tau (\ell )})\). In addition, we use the following conventions in the protocol descriptions and subsequent proofs.

\(\diamond \):

We write \((c_1 = c_1')\) instead of \(\mathbbm {1}_{c_1 = c_1'}\) and use \(\wedge \) for the logical AND operator.

\(\diamond \):

Given \({m = \sum _{i=1}^sm_i\in \mathbb {N}}\) and \(\zeta _i\in \mathbb {F}_2^{m_i}\), we write . Reciprocally, we write \(\zeta \rightarrow \Vert _{i=1}^s\zeta _i\) to indicate that \(\zeta \in \mathbb {F}_2^m\) is parsed into chunks \(\zeta _1,\ldots ,\zeta _s\) of size \(m_1,\ldots ,m_s\) respectively.

\(\diamond \):

Whenever a prover challenge response \(\rho \) is parsed on the verifier side for a challenge value \(ch\in \left\{ 0,1,2\right\} \), the components of that response are marked with a superscript \({(\cdot )}^{ch}\). For instance, if the prover sends \(\rho = iv_1\Vert iv_2\), then the verifier parses \(\rho \) as \(iv_1^{ch}\Vert iv_2^{ch}\).

\(\diamond \):

If the prover sends a permutation of \(\boldsymbol{a}\in \mathbb {F}_2^\ell \) under \(\tau \in \mathfrak {S}_\ell \) as \(\tau (\boldsymbol{a})\) to the verifier, the verifier denotes this value as \(\boldsymbol{\bar{a}}\). In particular, we expect \(\tau (\boldsymbol{a}) = {\boldsymbol{\bar{a}}}\) to hold if and only if the participants execute the protocol honestly.

Fig. 8.
figure 8

Proof of Validity for a single HQC ciphertext in the ROM.

Proposition 3

The protocol depicted on Fig. 8 satisfies the completeness property, i.e., a honest prover always convinces a honest verifier.

Proof

Whenever the honest verifier issues a challenge \(ch = 0\) or \(ch = 2\), it is clear from the construction that a honest prover can convince the verifier. It remains to show that the same holds when \(ch = 1\). To ease notations, we drop the superscript \({(\cdot )}^1\). Since \(\boldsymbol{\mu } = \boldsymbol{z}\oplus \boldsymbol{\delta }\) and \(\boldsymbol{z}\) satisfies \(\textbf{Q}^{\!\top }\boldsymbol{z} = \boldsymbol{\sigma }\), it follows that

$$ \textbf{Q}^{\!\top }\boldsymbol{\mu } - \boldsymbol{\sigma } = \textbf{Q}^{\!\top }\boldsymbol{\delta }=\bigoplus _{i=1}^4\textbf{Q}^{\!\top }_i\boldsymbol{\delta }_i. $$

In particular, the computed commitments match those that were received.   \(\square \)

Theorem 3

The protocol depicted on Fig. 8 is a statistical zero-knowledge proof with cheating probability 2/3 in the random oracle model.

Proof

The proof follows the same idea as [8, App. 1] and as the original Concatenated Stern protocol by Blazy et al. [9]. The latter is formulated when \(\boldsymbol{z}\) has only two blocks instead of four as it is the case on Fig. 8 and where the last block has no weight condition. We now construct a simulator \(\mathcal {{S}}\) which, when interacting with a malicious verifier, outputs a simulated transcript with probability 2/3 that is statistically close to a real transcript. The simulator starts by choosing a prediction \(\tilde{ch}\in \left\{ 0,1,2\right\} \) and uniformly distributed salts \(iv_1,iv_2,iv_3\in \left\{ 0,1\right\} ^{\textsf{poly}{\left( {\lambda }\right) }}\). The simulator also samples uniformly distributed vectors \(\boldsymbol{\tilde{z}}_1,\boldsymbol{\tilde{z}}_2\in \mathbb {S}^n_{w_r},\,\boldsymbol{\tilde{z}}_3\in \mathbb {S}^n_{w_e}\) and \(\boldsymbol{\tilde{z}}_4\in \mathbb {F}_2^n\) together with permutations \(\tau _1,\tau _2,\tau _3\in \mathfrak {S}_n,\tau _4\in \mathfrak {S}_k\) and uniformly distributed masks \(\boldsymbol{\delta }_1,\boldsymbol{\delta }_2,\boldsymbol{\delta }_3\in \mathbb {F}_2^n,\,\boldsymbol{\delta }_4\in \mathbb {F}_2^k\).

Case \(\tilde{ch}=0\). The commitment is defined such that:

$$\begin{aligned} {c_1 = \Vert _{i=1}^4\tau _i\Vert {\oplus _{i=1}^4\textbf{Q}^{\!\top }_i(\boldsymbol{\tilde{z}}_i\oplus \boldsymbol{\delta }_i)}\Vert iv_1},\, {c_2 = \Vert _{i=1}^4\tau _i(\boldsymbol{\delta }_i)\Vert iv_2},\, {c_3 = \Vert _{i=1}^4\tau _i(v_i\oplus \boldsymbol{\delta }_i)\Vert iv_3}. \end{aligned}$$

When receiving a challenge ch from the verifier, the simulator responds as follows:

\(\diamond \):

If \(ch=0\), then \(\rho = \bot \) and the simulator aborts.

\(\diamond \):

If \(ch=1\), then \(\rho = \Vert _{i=1}^4\tau _i\Vert _{i=1}^4(\boldsymbol{\tilde{z}}_i\oplus \boldsymbol{\delta }_i)\Vert iv_1\Vert iv_3\).

\(\diamond \):

If \(ch=2\), then \(\rho = \Vert _{i=1}^4\tau _i(\boldsymbol{\tilde{z}})\Vert _{i=1}^4\tau _i(\boldsymbol{\delta }_i)\Vert iv_2\Vert iv_3\).

Case \(\tilde{ch}=1\). The commitment is defined such that:

$$\begin{aligned} c_1 = \Vert _{i=1}^4\tau _i\Vert \oplus _{i=1}^4\textbf{Q}^{\!\top }_i\boldsymbol{\delta }_i\Vert iv_1,\, c_2 = \Vert _{i=1}^4\tau _i(\boldsymbol{\delta }_i)\Vert iv_2,\, c_3 = \Vert _{i=1}^4\tau _i(\boldsymbol{\tilde{z}}_i\oplus \boldsymbol{\delta }_i)\Vert iv_3. \end{aligned}$$

When receiving a challenge ch from the verifier, the simulator responds as follows:

\(\diamond \):

If \(ch=0\), then \(\rho = \Vert _{i=1}^4\tau _i\Vert \oplus _{i=1}^4\boldsymbol{\delta }_i\Vert iv_1\Vert iv_2\).

\(\diamond \):

If \(ch=1\), then \(\rho = \bot \) and the simulator aborts.

\(\diamond \):

If \(ch=2\), then \(\rho = \Vert _{i=1}^4\tau _i(\boldsymbol{\tilde{z}}_i)\Vert _{i=1}^4\tau _i(\boldsymbol{\delta }_i)\Vert iv_2\Vert iv_3\).

Case \(\tilde{ch}=2\). The commitment is defined such that:

$$\begin{aligned} c_1 = \Vert _{i=1}^4\tau _i\Vert \oplus _{i=1}^4\textbf{Q}^{\!\top }_i\boldsymbol{\delta }_i\Vert iv_1,\, c_2 = \Vert _{i=1}^4\tau _i(\boldsymbol{\delta }_i)\Vert iv_2,\, c_3 = \Vert _{i=1}^4\tau _i(\boldsymbol{\tilde{z}}'_i\oplus \boldsymbol{\delta }_i)\Vert iv_3, \end{aligned}$$

where \(\boldsymbol{\tilde{z}}'\in \mathbb {F}_2^{3n+k}\) satisfies \(\textbf{Q}^{\!\top }\boldsymbol{\tilde{z}}' = \boldsymbol{\sigma }\). Since there is no weight constraint on \(\boldsymbol{\tilde{z}}'\), the latter can be easily found by the simulator. When receiving a challenge ch from the verifier, the simulator responds as follows:

\(\diamond \):

If \(ch=0\), then \(\rho = \Vert _{i=1}^4\tau _i\Vert _{i=1}^4\boldsymbol{\delta }_i\Vert iv_1\Vert iv_2\).

\(\diamond \):

If \(ch=1\), then \(\rho = \Vert _{i=1}^4\tau _i\Vert _{i=1}^4(\boldsymbol{\tilde{z}}'_i\oplus \boldsymbol{\delta }_i)\Vert iv_1\Vert iv_3\).

\(\diamond \):

If \(ch=2\), then \(\rho = \bot \) and the simulator aborts.

Clearly, the simulator outputs \(\bot \) with probability close to \(\frac{1}{3}\) and for a non-aborted simulator, the simulator transcripts are statistically close to the distribution of honest transcripts assuming that is modelled as a random oracle.

   \(\square \)

Theorem 4

If there exists a probabilistic polynomial-time cheating prover which convinces the verifier with probability \(\frac{2}{3}+\varepsilon \) for a non-negligible \(\varepsilon \), then there exists a probabilistic polynomial-time extractor which outputs \(\boldsymbol{z}_1,\boldsymbol{z}_2\in \mathbb {S}^n_{w_e},\,\boldsymbol{z}_3\in \mathbb {S}^n_{w_r}\) and \(\boldsymbol{z}_4\in \mathbb {F}_2^n\) such that \(\sum _{i=1}^4\textbf{Q}^{\!\top }_i\boldsymbol{z}_i=\boldsymbol{\sigma }\).

Proof

We construct a knowledge extractor from a cheating prover \(\mathcal {{P}}\) as follows. By applying Véron’s technique [25], a similar argument as in [8, App. 2] allows the extractor to rewind \(\mathcal {{P}}\) in time \(\textsf{poly}{\left( {\lambda }\right) }[1/\varepsilon ]=\textsf{poly}{\left( {\lambda }\right) }\) and obtain a commitment \(\gamma \) for which \(\mathcal {{P}}\) validates the (honest) verifier challenges. More precisely, the following equations are satisfied simultaneously:

figure fi

Since is modelled as a random oracle, an adversary should not be able to find a collision on it and the above equations hold when removing . In particular, the random salts are consistent and the following equations hold for all \(i=1,\ldots ,4\):

(B.3)

Let . By (B.3), we have . Since \(\tau \) is invertible, the extractor can compute and since \(\tau \) is a permutation, \({{\,\textrm{wt}\,}}(\boldsymbol{z}_i) = {{\,\textrm{wt}\,}}(\boldsymbol{\bar{z}}_i^2)\). On the other hand, since \(\gamma _1^0=\gamma _1^1\) and is a random oracle, a similar argument establishes

$$ \sum _{i=1}^4\textbf{Q}^{\!\top }_i\bigl (\boldsymbol{\delta }_i^0\oplus \boldsymbol{\mu }_i^1\bigr ) = \boldsymbol{\sigma } \iff \sum _{i=1}^4\textbf{Q}^{\!\top }_i\boldsymbol{z}_i = \boldsymbol{\sigma }. $$

In particular, satisfies \(\textbf{Q}^{\!\top }\boldsymbol{z} = \boldsymbol{\sigma }\).   \(\square \)

Remark 7

Note that the above protocols do not depend on the matrix \(\textbf{G}\in \mathbb {F}_2^{k\times n}\). In particular, replacing \(\textbf{G}\in \mathbb {F}_2^{k\times n_1n_2}\) for \(n = n_1n_2+\nu \) by \(\begin{bmatrix}\textbf{G}&\textbf{0}_{\nu }\end{bmatrix}\in \mathbb {F}_2^{k\times n}\) does not affect the overall description nor the security. That way, the witness encryption scheme and the PAKE protocols can be instantiated under the same considerations as in Sect. 6.

1.2 B.2 Proof of Related HQC Ciphertexts

In this section, we explain how to verify that two HQC ciphertexts arise from the same plaintext \(\boldsymbol{m}\) under different public keys. More precisely, let \(\textsf{pk}= (\textbf{G},\boldsymbol{h},\boldsymbol{s})\) and \(\textsf{pk}' = (\textbf{G}',\boldsymbol{h}',\boldsymbol{s}')\) be two distinct HQC public keys corresponding to the secret keys \(\textsf{sk}= (\boldsymbol{x},\boldsymbol{y})\) and \((\boldsymbol{x}',\boldsymbol{y}')\) respectively. Let \((\boldsymbol{u},\boldsymbol{v})\) and \((\boldsymbol{u}',\boldsymbol{v}')\) be the corresponding ciphertexts obtained using the random values \(\omega =(\boldsymbol{r}_1,\boldsymbol{r}_2,\boldsymbol{e})\) and \(\omega '=(\boldsymbol{r}'_1,\boldsymbol{r}'_2,\boldsymbol{e}')\) respectively. Observe that a proof of knowledge asserting that \((\boldsymbol{u},\boldsymbol{v})=\textsf{HQC}.\textsf{Enc}(\textsf{pp},\textsf{pk},\boldsymbol{m};\omega )\) and \((\boldsymbol{u}',\boldsymbol{v}')=\textsf{HQC}.\textsf{Enc}(\textsf{pp},\textsf{pk}',\boldsymbol{m};\omega ')\) is equivalent to the knowledge of \(\omega ,\omega '\in {\mathbb {S}^n_{w_r}}\times {\mathbb {S}^n_{w_r}}\times {\mathbb {S}^n_{w_e}}\) and \(\boldsymbol{m}\in \mathbb {F}_2^k\) such that

figure fq

In particular, the zero-knowledge proof protocol asserting the validity of a HQC ciphertext can be adapted by considering \(\textbf{Q}^{\!\top }=\begin{bmatrix} \textbf{Q}^{\!\top }_1&\textbf{Q}^{\!\top }_2&\textbf{Q}^{\!\top }_3&\textbf{Q}^{\!\top }_4&\textbf{Q}^{\!\top }_5&\textbf{Q}^{\!\top }_6&\textbf{Q}^{\!\top }_7\end{bmatrix}\) instead. Therefore, Proposition 3 and Theorems 3 and 4 can be reformulated in this context with concatenations and summations going from 1 to 7 instead of 1 to 4. Since the same observation as in Remark 7 applies, it follows that the PAKE protocol is secure in the BPR model.

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Tran, B., Vaudenay, S. (2023). A Gapless Post-quantum Hash Proof System in the Hamming Metric. In: Tibouchi, M., Wang, X. (eds) Applied Cryptography and Network Security. ACNS 2023. Lecture Notes in Computer Science, vol 13905. Springer, Cham. https://doi.org/10.1007/978-3-031-33488-7_25

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-33488-7_25

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-33487-0

  • Online ISBN: 978-3-031-33488-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics