Abstract
Identity-based identification and signature (IBI/IBS) schemes are two of the most fundamental cryptographic primitives with greatly simplified public key management. Meanwhile, code-based cryptography is one of few alternatives supposed to be secure in a post-quantum world, so several code-based IBI/IBS schemes have been proposed. However, with increasingly profound researches on coding theory, the security reduction and efficiency of such schemes have been invalidated and challenged. In this paper, we construct provably secure IBI/IBS schemes from code assumptions against impersonation under active and concurrent attacks through PVR signature and Or-proof technique. We also present the parallel-PVR technique to decrease parameter values while maintaining the standard security level. Compared to other code-based IBI/IBS schemes, our schemes achieve not only preferable public parameter size, private key size, communication cost and signature length due to better parameter choices, but also provably secure.
You have full access to this open access chapter, Download conference paper PDF
Similar content being viewed by others
Keywords
- Identity-based cryptography
- Code-based cryptography
- Syndrome decoding
- Parallel-CFS
- PVR signature
- Or-proof
1 Introduction
Public key management is one of the most critical issues on multi-party communications and public key cryptography. In 1984, Shamir [24] introduced identity-based public key cryptography, which largely simplifies the management of public keys for the authentication of users. The key point is that the public key of a user can be his identity id, i.e., public information about that user, such as a name, a phone number, or an e-mail address. Therefore, it is very appealing to make fundamental cryptographic primitives, i.e., identification protocol and digital signature, gain such advantages [4, 15, 18].
With identity-based identification and signature (IBI/IBS) schemes, people could prove their identities and the authenticity of their messages to others without specific public keys [15]. After identity initialization, no further interaction with the authority is required during the identity verification. A list of valid identities is not necessary. Literally unlimited number of identities can join the system. Meanwhile the confidentiality and integrity of the identity are kept regardless of the number of verification. It make possible to digitize identity cards, passports, credit cards and other indispensable identity tools in the modern society with availability and provable security.
At the same time, with the development of quantum computers and other attacks on number factoring or discrete logarithm problems [3, 27], code-based cryptography represents one of few alternatives supposed to be secure under such circumstance. McEliece [20] proposed the first code-based public cryptosystem in 1978. Since then, as we never put all eggs in one basket, a wide range of code-based cryptographic primitives has been proposed, such as digital signatures, identification protocols and hash functions [21]. Moreover, compared to traditional cryptosystems, many of them also show the advantage on fast computation [11, 21]. In 2009, Cayrel et al. [7] proposed first code-based IBI/IBS schemes, or the mCFS-Stern scheme. It can be regarded as a combination of the CFS signature scheme [9] and the Stern identification protocol [25, 26]. There are several improved mCFS-Stern schemes are proposed since then [2, 28].
However, with the development of code-based cryptography, security and efficiency issues on the mCFS-Stern scheme have arisen. Firstly, Faug\(\grave{e}\)re et al. [12] developed a high rate distinguisher for Goppa codes so that the security proof of mCFS-Stern scheme is invalidated. Secondly, Bleichenbacher [17] showed an attack based on the Generalized Birthday Algorithm [19]. It decreases the security level from \(2^\frac{mt}{2}\) to \(2^\frac{mt}{3}\) so that increased parameters are required to maintain a required security level, i.e., \(2^{80}\). Thirdly, other improved mCFS-Stern schemes, either using quasi-dyadic Goppa codes in the user key extraction algorithm [2] or modifying the Stern protocol so that the cheating probability of each round reduced from \(\frac{2}{3}\) to \(\frac{1}{2}\) [1, 8], are vulnerable to the very recent structural attack on quasi-cyclic (QC) or quasi-dyadic (QD) alternant/Goppa codes [13].
Our Contribution. In this paper, we first propose provably secure identity-based identification and signature schemes with the PVR signature [23] technique applied in the user key extraction algorithm. It does not rely on the indistinguishability between a binary Goppa code and a random code, whereas it is required in the CFS signature scheme and has been invalidated by the distinguisher. Moreover, we present the parallel-PVR technique, inspired by the parallel-CFS technique [16]. It decreases the value of parameters while maintaining the standard security level, which used to be highly influenced by the Bleichenbacher attack. It also might be of an independent interest in the code-based digital signature. Finally, we adapt the Or-proof technique [18, 28] to our schemes so that they are secure against impersonation under active and concurrent attacks (id-imp-ca) instead of passive attacks (id-imp-pa). Currently, our schemes are the only code-based IBI/IBS schemes which are provably secure and they also achieve better efficiency compared to the mCFS-Stern scheme.
The paper is organized as follows: In Sect. 2, we provide some preliminaries. We propose basic provably secure IBI/IBS schemes from code assumptions in Sect. 3. In Sect. 4, we further optimize our schemes with parallel-PVR and improve their security level. We discuss the parameters in Sect. 5 and conclude in Sect. 6.
2 Preliminaries
We first provide some backgrounds and notions for code-based cryptography and then review the definition of identity-based identification and signature schemes in this section.
2.1 Code-Based Cryptography
Let C denotes a binary linear-error correcting code of length \(n = 2^m\) and dimension k, or a [n, k] code is a subspace of dimension k of \(\mathbb {F}^n_2\). The elements of the set C are called codewords. A generator matrix G of a [n, k] code C is a matrix whose rows form a basis of C. A parity check matrix H of C is an \((n - k) \times n\) matrix whose rows form a basis of the orthogonal complement of C. The syndrome of a vector \(x \in \mathbb {F}^n_2\) with respect to H is the vector \(Hx^T \in \mathbb {F}^{n-k}_2\). The error correcting capability of the code is \(t \leqslant [\frac{d-1}{2}]\), where d is the minimum Hamming distance of C. The Hamming distance between two words refers to the number of coordinates where they differ. The Hamming weight of a vector x, or wt(x), is the number of non-zero entries. We use the symbol \(\xleftarrow {\$}\) to denote the uniformly random selection, and use the symbol \(\Vert \) to denote the concatenation.
The Bounded Decoding Problem (BD). Let n and k be two positive integers and \(n \geqslant k\).
-
Input. \(s \xleftarrow {\$} \mathbb {F}^{n-k}_2\), \(\omega = \frac{n-k}{\log _2n}\), and \(H \xleftarrow {\$} \mathbb {F}^{(n-k) \times n}_2\).
-
Find. a word \(x \in \mathbb {F}^n_2\) such that wt(x) \( \leqslant \omega \) and \(Hx^T = s\).
The BD problem is showed to be NP-complete in [5]. The advantage of a probabilistic polynomial-time (PPT) algorithm solving the BD problem for [n, k] code should be negligible.
Randomized Courtois-Finiasz-Sendrier Signature Scheme. Courtois et al. [9] first proposed a practical code-based signature scheme, or the CFS scheme. Dallot [10] proposed a randomized variant mCFS and proved mCFS is strongly unforgeable under chosen message attack at that time. The scheme works as follows:
-
Key Generation. Set \(t = \frac{n-k}{\log _2n}\). The private key is a \((n - k) \times n\) parity check matrix H of a t-error correcting Goppa code, a non-singular matrix Q and a permutation matrix P. The public key is the \((n - k) \times n\) matrix \(\tilde{H} = QHP\).
-
Sign.
-
1.
\(i \xleftarrow {\$} \mathbb {F}^{n-k}_2\)
-
2.
Use the decoding algorithm to decode \(Q^{-1}h(m\Vert i)\). h is a cryptographic hash function and m is the signing message.
-
3.
If the decoding result \(x' =\bot \), go back to step 1. It needs t! decodings on average.
-
4.
Output (i, x = \(x'P\)).
-
1.
-
Verify.
-
1.
Compute \(s' = \tilde{H}x^T\) and \(s = h(m\Vert i)\).
-
2.
If \(s' = s\) and wt(x) \(\leqslant t\), then the signature is valid; otherwise return false.
-
1.
The security reduction of the scheme relies on the indistinguishability between a binary Goppa code and a random code. However, it is invalidated by a high rate distinguisher for Goppa codes  [12]. Recently, Mathew et al. [23] proposed the PVR signature scheme. Which altered the key-construct of the CFS signature and presented a formal proof of PVR without such assumption. Meanwhile, Bleichenbacher [17] showed an attack so that it has to increase the parameters of CFS such as m and t to achieve the same security level. Finiasz proposed the Parallel-CFS [16], which resisted such attack through performing multiple complete-decoding-based signing processes.
The Stern Identification Scheme. Stern [25, 26] proposed a standard identification scheme based on error-correcting codes. Given a random public \((n - k) \times n\) matrix H over \(\mathbb {F}_2\). Each user P receives a secret key x of n bits and wt(x) \(= t\). The public key of P is \(s = Hx^T\). To prove to a verifier V that the prover P is the user corresponding to the public key s, P runs the following identification protocol with his secret key x:
-
Commitment. P randomly chooses \(y \in \mathbb {F}^n_2\) and a permutation \(\sigma \) of \(\{1,2,\cdots ,n\}\). P sends to V the commitments \(c_1\), \(c_2\), and \(c_3\) such that: \(c_1 = h(\sigma \Vert Hy^T); c_2 = h(\sigma (y)); c_3 = h(\sigma (y \oplus x))\), where h denotes a cryptographic hash function.
-
Challenge. V randomly sends \(b \in \{0,1,2\}\) to P.
-
Answer.
-
If \(b = 0\) : P reveals y and \(\sigma \).
-
If \(b = 1\) : P reveals \((y \oplus x)\) and \(\sigma \).
-
If \(b = 2\) : P reveals \(\sigma (y)\) and \(\sigma (x)\).
-
-
Verification.
-
If \(b = 0\) : V verifies that \(c_1\), \(c_2\) have been honestly calculated.
-
If \(b = 1\) : V verifies that \(c_1\), \(c_3\) have been honestly calculated.
-
If \(b = 2\) : V verifies that \(c_2\), \(c_3\) have been honestly calculated, and wt(\(\sigma (x)\)) is t.
-
-
Repeat. Repeat the above four steps for \(\gamma \) times so that the expected security level is reached.
Remark 1
During the verification step, if b equals 1, \(Hy^T\) can be directly derived from \(H(y \oplus x)^T\) through: \(Hy^T = H(y \oplus x)^T \oplus Hx^T = H(y \oplus x)^T \oplus s\).
Theorem 1
The Stern identification protocol (P, V) is a proof of knowledge system with knowledge error \((\frac{2}{3})^\gamma \)[26].
2.2 Identity-Based Identification and Signature
In this section, we review the definition and security model for an identity-based identification scheme (IBI) following [4, 28]. An identity-based signature scheme (IBS) can be derived from IBI through Fiat-Shamir heuristic [15].
IBI Definition. An identity-based identification scheme \(\mathcal {IBI}\) = (MKGen, UKGen, \(\overline{\mathrm {P}}\), \(\overline{\mathrm {V}}\)) consists of four PPT algorithms as follows:
-
Master key generation algorithm (MKGen). It takes 1\(^\kappa \) as input, where \(\kappa \) is the security parameter. It returns a pair of the system public parameters mpk, and the master secret key msk, which is known only to a master entity.
-
User key extraction algorithm (UKGen). It takes msk and an identity \(id \in \{0,1\}^*\) as inputs. It returns a user secret key usk[id].
-
Interactive identification protocol ( \(\overline{\mathrm {P}}\) , \(\overline{\mathrm {V}}\) ). The prover P with identity id runs algorithm \(\overline{\mathrm {P}}\) with initial state usk[id], and the verifier V runs \(\overline{\mathrm {V}}\) with (mpk, id). When \(\overline{\mathrm {V}}\) returns ‘accept’ or ‘reject’, the protocol ends.
Completeness: For all \(\kappa \in \mathbb {N}, ~id \in \{0,1\}^*, ~(mpk, msk) \leftarrow \) MKGen(1\(^\kappa \)), and \(usk[id] \leftarrow \) UKGen(msk, i), the protocol between \(\overline{\mathrm {P}}\) with initial state usk[id] and \(\overline{\mathrm {V}}\) with (mpk, id) always ends with \(\overline{\mathrm {V}}\) outputing ‘accept’.
Security Models. There are three security models, i.e., impersonation under passive (id-imp-pa) attacks, active (id-imp-aa), and concurrent (id-imp-ca) attacks. The id-imp-pa secure implies the adversary can query the conversation between P and V while the id-imp-aa/ca secure implies the adversary acts a malicious V to communicate with P. The id-imp-ca security implies the adversary can concurrently issue proving queries instead of only one interactive query at a time for the id-imp-aa secure. The formal definitions will be shown in the full paper due to page limitation.
Code-Based IBI Schemes. Cayrel et al. [7] proposed the first IBI scheme from code assumption with security proof. It combines the mCFS signature scheme and the Stern identification protocol (mCFS-Stern) as follows:
-
MKGen. Set mpk and msk as the public parameters and the private key of mCFS scheme respectively.
-
UKGen. Generate a mCFS signature (i, x) of the identity id. Set usk[id] = (i, x).
-
Interactive identification protocol. P first sends i to V. Then P is initialized with x and V is initialized with \(h(id\Vert i)\). P communicates with V through the Stern identification protocol.
Cayrel et al. [7] show the mCFS-Stern scheme is id-imp-pa secure. Moreover, Yang et al. [28] proved the scheme also implies id-imp-aa secure. To achieve id-imp-ca secure, Yang et al. also proposed a new variant of the mCFS-Stern scheme, which introduced the OR-proof technique [18].
Theorem 2
Yang’s identification protocol (P, V) is a proof of knowledge system with knowledge error \((\frac{2}{3})^\gamma \) [28].
Remark 2
It should be noticed that the user key extraction of the mCFS-Stern scheme cannot resist the Bleichenbacher attack and the security proof relies on the indistinguishability between a binary Goppa code and a random code, which has been already invalidated.
Fiat-Shamir Heuristic and IBS Schemes. According to Bellare et al. [4], identity-based signature (IBS) schemes could be constructed from convertible standard signatures or IBI schemes through Fiat and Shamir Heuristic. Unfortunately, code-based signature schemes, e.g., mCFS signature, are not convertible since no trapdoor samplable relation has been found to fit the key generation of existing signature schemes. Therefore, we adopt the latter method to construct IBS schemes.
Fiat and Shamir [15] proposed a general paradigm to drive a secure signature scheme from an identification scheme. Specifically, given a identification scheme with the commitment \(\alpha \), the challenge bit \(\beta \), and the response \(\gamma \), the signature for the message m is the transcript (\(\alpha \), \(\beta \), \(\gamma \)), where \(\beta = h(\alpha , n)\) and h is a cryptographic hash function. The verifier verifies the signature as V in the identification scheme. The paradigm will be used to derive the IBS schemes from our IBI schemes in the paper without security loss [22].
3 Provably Secure IBI/IBS Schemes
In this section, we propose a provably secure identity-based identification scheme, the PVR-Stern scheme. It is id-imp-pa secure and the security reduction is no longer depending on the indistinguishability between Goppa codes and random codes through the PVR signature technique. We describe the scheme as follows:
-
Master key generation. Based on the input parameter \(1^\kappa \), choose parameters n, k, \(t = \frac{n-k}{\log {2}{n}}\), \(n' = n -k + 1\), and a cryptographic hash functions \(\mathcal {G}: \mathbb {F}_2^{n-k} \times \{0, 1\}^n \rightarrow \mathbb {F}_2^{n'}\). Select a \((n - k) \times n\) parity check matrix H of a t-error correcting binary Goppa code. Select a \(n \times n\) permutation matrix P. Select a vector \(a \xleftarrow {\$} \mathbb {F}^{n'}_2\). Select a vector \(b \xleftarrow {\$} \mathbb {F}^{n}_2\). Compute a \((n - k) \times n'\) matrix \(H'\) such that \(H'a^T = 0\). Select a full-rank matrix \(Q' \xleftarrow {\$} \mathbb {F}^{n'\times (n-k)}_2\), such that it makes a \((n - k) \times (n - k)\) matrix \(Q = H'Q'\) invertible. Generate a \(n' \times n\) parity check matrix \(\tilde{H} = Q'HP\oplus a^Tb\). If \(\tilde{H}\) is not full-rank, choose another b to re-generate \(\tilde{H}\) until it is full-rank. The master secret key \(msk = (H, P, Q, H')\) and the master public parameters \(mpk = (\tilde{H}, n, k, t, n', \mathcal {G})\).
-
User key extraction. Select \(i \xleftarrow {\$} \mathbb {F}_2^{n-k}\). Using the decoding algorithm to decode \(Q^{-1}H'\mathcal {G}(i, id)^T\). If the decoding result \(x'\) is not found, then go back to select i again. When \(x'\) is found, \(x = P^Tx'\), where wt(x) is t or less. The user public key is \(\mathcal {G}(i, id)\), and the corresponding user secret key, usk[id] is x.
-
Interactive identification protocol. P first sends i to V. Then P is initialized with x and V is initialized with \(\mathcal {G}(id\Vert i)\). P communicates with V through the Stern identification protocol.
3.1 Security
Theorem 3
The PVR-Stern scheme is secure under passive attacks in the random oracle model.
Proof
The proof adapts the reduction of the mCFS-Stern scheme [7] and the PVR signature scheme [23]. We show a skeleton of the proof due to the page limitation, and a detail proof will be given in the full paper.
The proof follows through a series of games. Game 0 is the standard id-imp-pa game, and \(\Pr [X_0]\) = Adv\(_{\mathcal {A}}^{\mathrm {id-imp-pa}}(\kappa )\). Game 1 simulates the hash oracle for \(\mathcal {G}\) and the user key extraction oracle. The incoherence between the simulation of two oracles causes failure with a negligible probability \(\epsilon \). Therefore, \(|\Pr [X_0] - \Pr [X_1]| \leqslant \epsilon \). Game 2 changes the user key extraction algorithm, it replaces H with R and \(\tilde{H}\) with \(R'\), where \(R'^T = [R^T|z^T]\), \(R \xleftarrow {\$} \mathbb {F}_2^{(n-k) \times n}\), and \(z \xleftarrow {\$} \mathbb {F}_2^n\). The adversary \(\mathcal {A}\) can differentiate between Game 3 and Game 2 only if he can distinguish the random matrix \(R'\) from \(\tilde{H}\). Since \(a,b,H'\) are secret and b cannot be identified from \(\tilde{H}\) [23], such differentiation happens with negligible probability. Instead of depending on the probability to distinguish the Goppa code and the random code, \(\Pr [X_2] = \Pr [X_1]\). Game 3 selects a random index as the target identity index, and \(\Pr [X_3] = \Pr [X_2]\). Game 4 modifies the winning condition so that if the impersonating identity is not equal to the target identity, then the game is aborted. \(\Pr [X_4] = \frac{\Pr [X_3]}{c}\), where c is a constant related to the number of queries. Game 5 answers conversation queries on the target identity, and \(\Pr [X_5] = \Pr [X_4]\). Based on Theorem 1, it can be calculated that Adv\(_{\mathcal {A}}^{\mathrm {id-imp-pa}}(\kappa ) = \Pr [X_0]\) is equivalent to the advantage of breaking the BD problem. Therefore, the PVR-Stern scheme is id-imp-pa secure. Actually, it also implies id-imp-aa secure with the proof of [28].
4 IBI/IBS Schemes with Parallel-PVR
The PVR-Stern scheme is id-imp-pa/aa secure and the parameter choice depends on the Bleichenbacher attack, which decreases the security level from \(2^\frac{mt}{2}\) to \(2^\frac{mt}{3}\). In this section, we propose the Parallel-PVR-caStern scheme. We first convert from the original counter-based PVR for the user key generation to complete decoding based PVR, so that we can construct parallel-PVR for better efficiency. Then we improve the security from id-imp-pa/aa secure to id-imp-ca secure through the OR-proof technique. We describe the scheme as follows:
-
Master key generation. The master key generation algorithm of Parallel-PVR-caStern is identical to that of PVR-Stern except for some additional public parameters: cryptographic hash functions \(\mathcal {G}_1, \cdots ,\mathcal {G}_\lambda : \{0, 1\}^n \rightarrow \mathbb {F}_2^{n'}\), injective mapping \(\phi \), parallel degree \(\lambda \) and additional weight \(\delta \) for complete decoding such that \({n \atopwithdelims ()t + \delta } > n^t\). The master secret key \(msk = (H, P, Q, H')\) and the master public parameters \(mpk = (\tilde{H}, n, k, t, n', \lambda , \mathcal {G}_1, \cdots , \mathcal {G}_\lambda , \phi , \delta )\).
-
User key extraction. For \(\lambda \) signatures for the user identity id in parallel, compute \(s_i' = \mathcal {G}_i(id)\), where \(i \in \{1, 2, \cdots , \lambda \}\), and compute \(s_i = H's_i'^T\). Search all error patterns of \(\phi _\delta (j)\) weight \(\delta \), compute \(s_{j,i} = s_i + \tilde{H}\phi _\delta (j)^T\), and then apply the decoding algorithm to the \(s_{j,i}\) where the result is \(P^TDecode_H(Q^{-1}s_{j,i})\). Once the decodable syndrome \(s_{j_0,i}\) is found, then we have found a \(p'_{j_0,i}\) such that \(\tilde{H}\phi _t(p'_{j_0,i})^T = s_{j_0,i}\). The ith signature for the user identity id is \(p_{j_0,i} = \phi _{t + \delta }^{-1}(\phi _t(p'_{j_0,i}) + \phi _\delta (j))\) such that \(\tilde{H}\phi _{t + \delta }(p_{j_0,i})^T = \mathcal {G}_i(id)\). Then the parallel signature for the user identity id is \(x = (p_{j_0,1}\Vert \cdots \Vert p_{j_0,\lambda })\).
Run the above process twice to generate two different parallel signatures \(x_0\) and \(x_1\) for the user identity id, and toss a coin \(\varpi \). The user public key is \((\mathcal {G}_1(id)\Vert \cdots \Vert \mathcal {G}_\lambda (id))\) and the corresponding user secret key usk[id] is \((\varpi , x_{\varpi })\).
-
Interactive identification protocol. For each \(i \in \{1, 2, \cdots , \lambda \}\), the prover P is initialized with \(\varpi , p_{j_0,i} \in x_{\varpi }\) to verify \(\tilde{H}\phi _{t + \delta }(p_{j_0,i})^T = \mathcal {G}_i(id)\), and the verifier V is initialized with the \(\mathcal {G}_i(id)\). The detail is as follows:
-
Commitment. Based on \(\mathcal {G}_i(id)\) and \(p_{j_0,i}\), calculate \(c^\varpi _1, c^\varpi _2\), and \(c^\varpi _3\) according to the original Stern identification protocol. P randomly choose \(b_{1-\varpi }, b'_{1-\varpi } \in \{0, 1, 2\}\). Based on the values of \(b_{1-\varpi }\) and \(b'_{1-\varpi }\), select one of three impersonation strategies for Stern protocol listed follow and calculate corresponding \(c^{1-\varpi }_1, c^{1-\varpi }_2\), and \(c^{1-\varpi }_3\):
-
1.
If \(b_{1-\varpi }\) and \(b'_{1-\varpi }\) are not 0, change y in the original commitment to \(y \oplus \phi _{t+\delta }(p_{j_0,i})\).
-
2.
If \(b_{1-\varpi }\) and \(b'_{1-\varpi }\) are not 1, change \(\phi _{t+\delta }(p_{j_0,i})\) in the original commitment to a random vector v where wt(v) = t.
-
3.
If \(b_{1-\varpi }\) and \(b'_{1-\varpi }\) are not 2, change \(y \oplus \phi _{t+\delta }(p_{j_0,i})\) in the original commitment to \(v \oplus y\) where \(\tilde{H}v^T = \mathcal {G}_i(id)\) and wt(v) is arbitrary.
-
1.
-
P sends \((c^0_1, c^0_2, c^0_3, c^1_1, c^1_2, c^1_3)\) to V.
-
Challenge. V randomly sends \(b \in \{0, 1, 2\}\) to P.
-
Answer. P calculates \(b_\varpi = b - b_{1-\varpi } \mod 3\) and \(b'_\varpi = b - b'_{1-\varpi } \mod 3\). Based on \(b_\varpi \) and \(b'_\varpi \), P calculates two responses \(r_\varpi \) and \(r'_\varpi \) respectively according to the original Stern protocol. Based on \(b_{1-\varpi }\) and \(b'_{1-\varpi }\), P calculates two responses \(r_{1-\varpi }\) and \(r'_{1-\varpi }\) respectively according to the chosen impersonation strategy. P then sends \((b_0, b_1, b'_0, b'_1)\) to V.
-
Check. V checks whether \(b_0 \ne b'_0\), \(b_1 \ne b'_1\), \(b_0 + b_1 = b \mod 3\), and \(b'_0 + b'_1 = b \mod 3\). V then randomly sends \(\rho \in \{0, 1\}\) to P.
-
Response. If \(\rho \) is 0, P sends \(r_0\) and \(r_1\). If \(\rho \) is 1, P sends \(r'_0\) and \(r'_1\).
-
Verification. If \(\rho \) is 0, V checks \(r_0\) and \(r_1\). If \(\rho \) is 1, P checks \(r'_0\) and \(r'_1\).
-
Repeat. Repeat the above four steps for \(\gamma \) times so that the expected security level is reached.
-
Remark 3
In the practical implementation, the parity matrix \(\tilde{H}\) may be hidden with the support and the generator polynomial of the Goppa code in the master key generation algorithm according to [6, 16]. Since the calculation of \(\tilde{H}\) is a key point to avoid the assumption on the indistinguishability between Goppa codes and random codes, we still use original notions here for clarity.
4.1 Security
We first consider the security of the PVR-caStern scheme, which could be regarded as a special case of the Parallel-PVR-caStern scheme whose \(\lambda \) is always equal to one. Then we show the security of the Parallel-PVR-caStern scheme.
Theorem 4
The PVR-caStern scheme is secure against impersonation under active and concurrent attacks in the random oracle model.
The proof is obtained by contradiction and adapting the proofs by [14, 18]. If there is an adversary \(\mathcal {A}\) who can win the id-imp-ca game with non-negligible probability, then we can construct an adversary \(\mathcal {F}\) who can win the id-imp-pa game with non-negligible probability. We will show the proof in the full paper due to the page limitation.
Theorem 5
The Parallel-PVR-caStern scheme is secure against impersonation under active and concurrent attacks in the random oracle model.
Proof
Based on Theorem 4, for each \(i \in \{1, 2, \cdots , \lambda \}\), the i-th identification is secure under concurrent attacks in the random oracle model. Finiasz [16] has proposed that the parallel signatures keep a practical selection of parameters without the loss of security when the signing message (user identity here) is consistency, i.e., \(\lambda \) different cryptographic hashes for a user identity id constitute the user public key. Hence, since the PVR-caStern scheme is id-imp-ca secure, the Parallel-PVR-caStern scheme is id-imp-ca secure.
5 Parameters and Security
We compare the costs and sizes of the mCFS-Stern scheme and our four schemes the as shown in Table 1. Our schemes differ in the ability to resist the Bleichenbacher attack (with/without parallel-PVR) and the security level (id-imp-pa/id-imp-ca). The mCFS-Stern scheme is not provably secure while our schemes are all provably secure. For each scheme in the table, the upper row shows the asymptotic sizes and costs, and the lower row presents the estimated costs and sizes with the parameters suggested by  [7, 16, 17, 23] to achieve a security level of about \(2^{80}\). Specifically, for the schemes without parallel-PVR, \(m = \log _2n = 20\) and \(t = 12\), otherwise, \(m = 18\), \(t = 9\), \(\lambda = 2\), and \(\delta = 2\). For IBI schemes, the \(\gamma \) for communication cost is 58, and for converted IBS schemes through Fiat-Shamir paradigm, the \(\gamma \) for signature length is 280.
Parallel-PVR based schemes seem to cost more for their multiple signature and communication procedure, but they actually decrease the parameters values, especially for m and t. It shows that, with parallel-PVR, it improves a lot on mpk size, msk size, usk size, communication cost and signature length with few costs of usk size since the security level is optimized to \(2^{tm\frac{2^\lambda -1}{2^{\lambda +1}-1}}\). If id-imp-ca secure is required, the communication cost and signature length will be double compared to the lower security level. It can be concluded that our schemes improve the efficiency of the mCFS-Stern scheme while maintaining the provable security.
6 Conclusion
In this paper, we propose identity-based identification and signature schemes from code assumptions with parallel-PVR. They are not only provably secure against impersonation under active and concurrent attacks but also have better efficiency.
It is worth noting that it still need lots of works to study more robust assumptions on coding theory and construct broader identity-based cryptosystems from code assumptions. Also, we will make more efforts to achieve better system parameters so that code-based schemes will be more practical.
References
Aguilar, C., Gaborit, P., Schrek, J.: A new zero-knowledge code based identification scheme with reduced communication. In: Proceedings of IEEE Information Theory Workshop, pp. 648–652. IEEE (2011)
Yousfi Alaoui, S.M., Cayrel, P.-L., Mohammed, M.: Improved identity-based identification and signature schemes using Quasi-Dyadic Goppa codes. In: Kim, T., Adeli, H., Robles, R.J., Balitanas, M. (eds.) ISA 2011. CCIS, vol. 200, pp. 146–155. Springer, Heidelberg (2011). doi:10.1007/978-3-642-23141-4_14
Barbulescu, R., Gaudry, P., Joux, A., Thomé, E.: A heuristic Quasi-polynomial algorithm for discrete logarithm in finite fields of small characteristic. In: Nguyen, P.Q., Oswald, E. (eds.) EUROCRYPT 2014. LNCS, vol. 8441, pp. 1–16. Springer, Heidelberg (2014). doi:10.1007/978-3-642-55220-5_1
Bellare, M., Namprempre, C., Neven, G.: Security proofs for identity-based identification and signature schemes. J. Cryptol. 22(1), 1–61 (2009)
Berlekamp, E.R., McEliece, R.J., Van Tilborg, H.C.: On the inherent intractability of certain coding problems. IEEE Trans. Inf. Theor. 24(3), 384–386 (1978)
Biswas, B., Sendrier, N.: McEliece cryptosystem implementation: theory and practice. In: Buchmann, J., Ding, J. (eds.) PQCrypto 2008. LNCS, vol. 5299, pp. 47–62. Springer, Heidelberg (2008). doi:10.1007/978-3-540-88403-3_4
Cayrel, P.L., Gaborit, P., Galindo, D., Girault, M.: Improved identity-based identification using correcting codes. CoRR, abs/0903.0069 (2009)
Cayrel, P.-L., Véron, P., Yousfi Alaoui, S.M.: A zero-knowledge identification scheme based on the q-ary syndrome decoding problem. In: Biryukov, A., Gong, G., Stinson, D.R. (eds.) SAC 2010. LNCS, vol. 6544, pp. 171–186. Springer, Heidelberg (2011). doi:10.1007/978-3-642-19574-7_12
Courtois, N.T., Finiasz, M., Sendrier, N.: How to achieve a McEliece-based digital signature scheme. In: Boyd, C. (ed.) ASIACRYPT 2001. LNCS, vol. 2248, pp. 157–174. Springer, Heidelberg (2001). doi:10.1007/3-540-45682-1_10
Dallot, L.: Towards a concrete security proof of courtois, finiasz and sendrier signature scheme. In: Lucks, S., Sadeghi, A.-R., Wolf, C. (eds.) WEWoRC 2007. LNCS, vol. 4945, pp. 65–77. Springer, Heidelberg (2008). doi:10.1007/978-3-540-88353-1_6
Ezerman, M.F., Lee, H.T., Ling, S., Nguyen, K., Wang, H.: A provably secure group signature scheme from code-based assumptions. In: Iwata, T., Cheon, J.H. (eds.) ASIACRYPT 2015. LNCS, vol. 9452, pp. 260–285. Springer, Heidelberg (2015). doi:10.1007/978-3-662-48797-6_12
Faugere, J.C., Gauthier-Umana, V., Otmani, A., Perret, L., Tillich, J.P.: A distinguisher for high-rate McEliece cryptosystems. IEEE Trans. Inf. Theor. 59(10), 6830–6844 (2013)
Faugere, J.C., Otmani, A., Perret, L., De Portzamparc, F., Tillich, J.P.: Folding alternant and Goppa codes with non-trivial automorphism groups. IEEE Trans. Inf. Theor. 62(1), 184–198 (2016)
Feige, U., Shamir, A.: Witness indistinguishable and witness hiding protocols. In: Proceedings of ACM Symposium on Theory of Computing, pp. 416–426. ACM (1990)
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). doi:10.1007/3-540-47721-7_12
Finiasz, M.: Parallel-CFS. In: Biryukov, A., Gong, G., Stinson, D.R. (eds.) SAC 2010. LNCS, vol. 6544, pp. 159–170. Springer, Heidelberg (2011). doi:10.1007/978-3-642-19574-7_11
Finiasz, M., Sendrier, N.: Security bounds for the design of code-based cryptosystems. In: Matsui, M. (ed.) ASIACRYPT 2009. LNCS, vol. 5912, pp. 88–105. Springer, Heidelberg (2009). doi:10.1007/978-3-642-10366-7_6
Fujioka, A., Saito, T., Xagawa, K.: Security enhancements by OR-proof in identity-based identification. In: Bao, F., Samarati, P., Zhou, J. (eds.) ACNS 2012. LNCS, vol. 7341, pp. 135–152. Springer, Heidelberg (2012). doi:10.1007/978-3-642-31284-7_9
Girault, M., Cohen, R., Campana, M.: A generalized birthday attack. In: Barstow, D., Brauer, W., Brinch Hansen, P., Gries, D., Luckham, D., Moler, C., Pnueli, A., Seegmüller, G., Stoer, J., Wirth, N., Günther, C.G. (eds.) EUROCRYPT 1988. LNCS, vol. 330, pp. 129–156. Springer, Heidelberg (1988). doi:10.1007/3-540-45961-8_12
McEliece, R.: A public-key cryptosystem based on algebraic. JPL DSN Prog. Rep. 4244, 114–116 (1978)
Overbeck, R., Sendrier, N.: Code-based cryptography. In: Bernstein, D.J., Buchmann, J., Dahmen, E. (eds.) Post-Quantum Cryptography, pp. 95–145. Springer, Heidelberg (2009)
Pointcheval, D., Stern, J.: Security proofs for signature schemes. In: Maurer, U. (ed.) EUROCRYPT 1996. LNCS, vol. 1070, pp. 387–398. Springer, Heidelberg (1996). doi:10.1007/3-540-68339-9_33
Preetha Mathew, K., Vasant, S., Rangan, C.P.: On provably secure code-based signature and signcryption scheme. IACR Cryptology ePrint Archive 2012, vol. 585 (2012)
Shamir, A.: Identity-based cryptosystems and signature schemes. In: Blakley, G.R., Chaum, D. (eds.) CRYPTO 1984. LNCS, vol. 196, pp. 47–53. Springer, Heidelberg (1985). doi:10.1007/3-540-39568-7_5
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). doi:10.1007/3-540-48329-2_2
Stern, J.: A new paradigm for public key identification. IEEE Trans. Inf. Theor. 42(6), 1757–1768 (1996)
Vandersypen, L.M., Steffen, M., Breyta, G., Yannoni, C.S., Sherwood, M.H., Chuang, I.L.: Experimental realization of Shor’s quantum factoring algorithm using nuclear magnetic resonance. Nature 414(6866), 883–887 (2001)
Yang, G., Tan, C.H., Mu, Y., Susilo, W., Wong, D.S.: Identity based identification from algebraic coding theory. Theor. Comput. Sci. 520, 51–61 (2014)
Acknowledgments
Many thanks go to the anonymous reviewers. This paper is supported by the National Natural Science Foundation of China (Grant No.61572136).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing AG
About this paper
Cite this paper
Song, B., Zhao, Y. (2016). Provably Secure Identity-Based Identification and Signature Schemes with Parallel-PVR. In: Lam, KY., Chi, CH., Qing, S. (eds) Information and Communications Security. ICICS 2016. Lecture Notes in Computer Science(), vol 9977. Springer, Cham. https://doi.org/10.1007/978-3-319-50011-9_18
Download citation
DOI: https://doi.org/10.1007/978-3-319-50011-9_18
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-50010-2
Online ISBN: 978-3-319-50011-9
eBook Packages: Computer ScienceComputer Science (R0)