Next Article in Journal
A Novel Computational Procedure for the Waiting-Time Distribution (In the Queue) for Bulk-Service Finite-Buffer Queues with Poisson Input
Next Article in Special Issue
Chaos and Cellular Automata-Based Substitution Box and Its Application in Cryptography
Previous Article in Journal
Urban Heat Island Dynamics in an Urban–Rural Domain with Variable Porosity: Numerical Methodology and Simulation
Previous Article in Special Issue
An Image-Encipherment Algorithm Using a Combination of a One-Dimensional Chaotic Map and a Three-Dimensional Piecewise Chaotic Map
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Rank AGS Identification Scheme and Signature Scheme

by
Vaishnavi Nagaraja
1,†,
Muhammad Rezal Kamel Ariffin
1,*,†,
Terry Shue Chien Lau
2,†,
Nurul Nur Hanisah Adenan
1,†,
Ji-Jian Chin
3,†,
Sook-Chin Yip
4,† and
Timothy Tzen Vun Yap
2,†
1
Institute for Mathematical Research, Universiti Putra Malaysia, Serdang 43400, Selangor, Malaysia
2
Faculty of Computing and Informatics, Multimedia University, Cyberjaya 63100, Selangor, Malaysia
3
School of Engineering, Computing and Mathematics (Faculty of Science and Engineering), University of Plymouth, Drake Circus, Plymouth PL 48AA, UK
4
Faculty of Engineering, Multimedia University, Cyberjaya 63100, Selangor, Malaysia
*
Author to whom correspondence should be addressed.
These authors contributed equally to this work.
Mathematics 2023, 11(5), 1139; https://doi.org/10.3390/math11051139
Submission received: 25 December 2022 / Revised: 27 January 2023 / Accepted: 30 January 2023 / Published: 24 February 2023
(This article belongs to the Special Issue Advances in Algebraic Coding Theory and Cryptography)

Abstract

:
The identification protocol is a type of zero-knowledge proof. One party (the prover) needs to prove his identity to another party (the verifier) without revealing the secret key to the verifier. One can apply the Fiat–Shamir transformation to convert an identification scheme into a signature scheme which can be used for achieving security purposes and cryptographic purposes, especially for authentication. In this paper, we recall an identification protocol, namely the RankID scheme, and show that the scheme is incorrect and insecure. Then, we proposed a more natural approach to construct the rank version of the AGS identification protocol and show that our construction overcomes the security flaws in the RankID scheme. Our proposal achieves better results when comparing the public key size, secret key size, and signature size with the existing identification schemes, such as Rank RVDC and Rank CVE schemes. Our proposal also achieves 90%, 50%, and 96% reduction for the signature size, secret key size, and public key size when compared to the Rank CVE signature scheme.

1. Introduction

1.1. Literature Review

Cryptography refers to the secure communication techniques that are derived from mathematical concepts and algorithms to transform messages in ways that mean it is hard to retrieve back the message. There are well-known cryptosystems, such as RSA, which have been used until today. Nevertheless, this cryptosystem suffers from a few weaknesses that might lead to the vulnerability of attacks, as we can read in [1,2]. The hard problem of RSA, which is the factorization of large prime numbers, could turn out to be its weakness if there exists a quantum computer. Therefore, it is necessary for cryptographers to construct other cryptographic primitives that resist attacks by quantum computers, which are often coined as post-quantum cryptosystems. One of the most common candidates for post-quantum cryptosystems is built based on code-based cryptography. McEliece cryptosystem [3] is one of the most well-known and the first motivation initiated in code-based cryptosystems almost 40 years ago. Digital signature schemes (DSS) under code-based cryptography are also secure as they are able to achieve three goals of cryptography, including data integrity, authenticity, and non-repudiation.
One can consider the construction of code-based DSS via the hash-and-sign approach, such as the CFS scheme proposed by Courtois et al. [4]. In this scheme, the document is repeatedly hashed to the bit-length r until the output becomes a decryptable ciphertext. However, this was one of the weaknesses of this signature apart from having a very large public key size. On the other hand, one can construct a code-based DSS by considering the zero-knowledge protocol approach (ZKP). More specifically, in a zero-knowledge protocol, one party (named Prover P ) needs to prove to the other party (named verifier V ) that he or she knows the secret key without revealing the value or any information regarding the secret key. Proof of identity as a means of authentication is the most common and secure application of ZKP. One type of ZKP is the identification protocol which can be converted into a signature scheme via the Fiat–Shamir paradigm. Meanwhile, if the person loses his or her data or key, recovery is difficult to be attempted in ZKP. ZKP also has a large signature size due to a large number of repetitions, and it requires a lot of computations since it needs a large number of interactions between the prover and the verifier.
In 1994, Stern designed an identification protocol [5] that worked in the Hamming metric. In this case, let F q m be a finite field with q m elements where q is a prime power, and m is an integer. In this scheme, given an error vector e which has weight w and a vector, s = H e T where H is a parity check matrix over F 2 ( n k ) × n . The prover P is needed to convince the verifier V that he or she knows the value of e (the secret key). Stern managed to reduce the cheating probability (the probability where a dishonest prover not knowing e can cheat the verifier in the protocol) from 2 3 to 1 2 which led to a reduction in the signature size. Later in 1997, Veron [6] proposed a different formulation of the secret key, x = m G e F 2 n where the matrix G F 2 k × n and x are public parameters. Despite the increment of the public key size, Veron succeeded in reducing the communication cost. Since then, various schemes have been invented using different modifications to enhance their schemes from the previous ones. Aguilar, Gaborit, and Schrek [7] proposed a scheme (AGS) utilizing double circulant codes to increase the number of challenges. They also managed to cut down the communication cost in addition to reducing the size of the secret and public keys.
More recently, rank metrics have been considered to construct code-based identification protocols and DSS by extending the constructions from the code-based identification protocols and DSS in the Hamming metric. In 2018, Bellini et al. [8] proposed the rank metric version of the Veron and CVE identification protocols and DSS. However, Lau et al. [9] showed that the rank Veron was insecure, as its secret key could be recovered in polynomial time. Nevertheless, Bellini et al. [10] improved the rank Veron DSS and proposed another scheme, namely the RVDC identification protocol and DSS. Furthermore, in 2019, Ayebie et al. [11] designed a rank metric version of the AGS identification scheme by using random double circulant codes, which is known as the RankID scheme.

1.2. Research Flow

In this paper, we analyzed the RankID scheme. Their construction has errors in correctness, which results in the invalidity of the scheme. The operations defined in the scheme do not ensure the commutativity of the matrices and do not preserve the rank of error vectors. Even if we assume the scheme is correct, we show that the scheme is insecure, as its design leads to the leakage of the secret key. Then, we propose a new rank version of the AGS ID more naturally and show that the new scheme achieves completeness, soundness, and zero-knowledge properties. We also provide parameters achieving 128-bit and 256-bit security levels, the latter is determined by the complexity for solving the Rank Syndrome Decoding (RSD) problem.

1.3. Contribution of This Work

Our Rank AGS scheme parameters can reduce the signature and key size when compared to the Rank CVE [8] and RVDC [10] schemes.

1.4. Paper Organization

This paper is structured as follows: in Section 2, we present the notions and preliminaries that are used throughout the paper. Section 3 provides the analysis of RankID, which shows the errors in RankID that lead to the insecurity of the scheme. Section 4 introduces the explanations and details of our proposed scheme, Rank AGS. Section 5 shows the achievement of our proposed scheme on zero knowledge protocol security properties such as completeness, soundness, and zero knowledge. Additionally, we also provide the signing and verification algorithm of Rank AGS and the comparison of the sizes of the signature, public, and secret key of Rank AGS with the other existing schemes in this section. Furthermore, we also added the percentage of reduction in the key and signatures sizes of Rank AGS with the reference Rank CVE as the original reference. Finally, we finish with a section for the conclusion (Section 6).

2. Preliminaries

In this section, we recall the background on rank metrics and the hard problem used in this paper. We also introduce the specification for AGS and RankID that have been used in [7,11]. Throughout this paper, we will be using the following notations and definitions.
Let q be a prime power and m be an integer. Then, let F q m be a finite field with q m elements.
Definition 1. 
An [ n , k ] -linear code C of length n is a linear subspace of F q m n with dimension k. A matrix G F q m k × n is called a generator matrix of code C if its rows form a basis of C. A matrix H is called a parity check matrix of C if C = { x F q m n : H · x T = 0 } .
Definition 2 
(Rank Support). Let x = ( x 1 , , x n ) F q m n . The support of x, S u p p ( x ) is an F q -vector space spanned by elements x 1 , , x n .
Definition 3 
(Rank Metric). Let x = ( x 1 , , x n ) F q m n ; the rank weight of x is defined as the dimension of the support of x,
w t R ( x ) = d i m ( S u p p ( x ) ) .
Let β 1 , , β m be a basis for F q m . For each 1 i n , we can write x i as an F q -linear combination of the basis, i.e., there exists c j i F q such that
x i = j = 1 m c j i β j .
When forming an m × n matrix M = ( c j i ) F q , and we can rewrite x as:
x = ( x 1 , , x n ) = ( β 1 , , β m ) M ,
and the rank weight of x also can be defined as the rank of the matrix M, w t R ( x ) = r k ( M ) .
Now, let us define a problem that most of the cryptosystem in the rank metric is based on.
Problem 1 (Rank syndrome decoding problem (RSD)). Given a random matrix G F q m k × n , the random vectors x F q m n , f F q m k and an integer of r > 0 can be used as an input. The rank syndrome decoding, R S D ( q , m , n , k , r ) problem needs to determine the vector e F q m n such that r k ( e ) = r and f G e = x .
Gaborit and Zémor [12] showed that the RSD could be probabilistically reduced to the syndrome decoding problem in the Hamming metric, where the syndrome decoding problem is an NP-complete problem. Therefore, RSD is acceptable as a good candidate for code-based cryptography.
The complexity of solving the rank syndrome decoding problem (RSD) is shown below. We list down the combinatorial and algebraic attacks on R S D ( q , m , n , k , r ) in Table 1 and Table 2, respectively, from [13] with their corresponding solving complexities.
We used the following notation in Table 2 below.
The constant linear algebra is w 2.807 , and the integer is a 0 ,
p : = m a x { i : m n i k 1 r n i r 1 } ,
A t : = j = 1 t n r m k + 1 j ,
B t : = j = 1 t ( m n k 1 r m k + 1 j + i = 1 j ( 1 ) i + 1 n r + i m + i 1 i m k + 1 j i ) ,
b : = m i n { t Z : 0 < t < r + 2 , A t B t } ,
d n , r , k = ( r + 1 ) ( k + 1 ) ( n + 1 ) ,
C n , k = n k , and v k = n k 1 .
Definition 4 
(Circulant matrix). A k × k matrix is called a circulant matrix if each row is obtained from the previous one by a cyclic shift from one position to the right. In particular, A is generated by a vector a = ( a 0 , , a k 1 ) in the form of:
A = a 0 a 1 a k 1 a k 1 a 0 a k 2 a 1 a 2 a 0
Definition 5 
(Double circulant matrix). A [ 2 k , k ] -code over F q m is a double circulant code if it is generated by a matrix G = [ A | B ] , where A and B are k × k circulant matrices.

RankID

In this subsection, we first introduce the definitions and operations that have been used in RankID [11]. Then, we identified the errors found in the RankID scheme.
Definition 6. 
Let vector x = ( x 1 , , x n ) F q m n and M = ( c j i ) F q , as defined in Equation (2). We defined the function Φ β map from F q m × n to F q m n as Φ β ( M ) = x . The inverse function, Φ β 1 was defined as the mapping for F q m n to F q m × n and we can rewrite it as Φ β 1 ( x ) = ( M ) .
Definition 7 
(Asterisk Product). Let Q F q m × m , x F q m n , M = ( c j i ) F q and β be a basis of F q m over F q . We define the product Q * x by
Q * x = Φ β ( Q M ) .
Let k be an integer such that k > 1 , to any α F q m * we associate the symmetric matrix α ˜ k F q m k × k such that:
α ˜ k = α α 2 α k
Definition 8 
(Bullet Product). Let α be an element of F q m * , k be an integer such that k > 1 , and v = ( v 1 | | v 2 ) (where | | is the concatenation symbol) be a vector of F q m n such that v 1 , v 2 F q m k . We define the product v α as follows:
v α = v 1 α ˜ k | | v 2 α ˜ k .
where α ˜ k is as defined in Equation (1).
The RankID scheme [11] utilizes the double circulant matrix from the AGS ID scheme [7] to generate the generator matrix, G as a public key. The hard problem on which the RankID is based is the RSD problem. They introduced the special multiplication law that has been used in their protocol, as we explained in the previous section in definitions (7) and (8).
Their protocol uses a public k × n (with n = 2 k ) random double circulant matrix G over F q m . This matrix G generates an [ n , k ] -linear code over F q m . They considered the matrix of type G = ( I k , G 1 ) where G 1 is a k × k circulant matrix over F q m and I k is the k × k identity matrix.
Private key: ( e , f ) with e F q m 2 k with r k ( e ) = r and f F q m k .
Public key: ( G , x , r ) with G F q m k × 2 k , x = f G e .

3. Analysis of RankID

Here, we provide more details regarding the errors that we encountered in the RankID (Table 3). The authors in [11] claimed that RankID achieved completeness by the following argument.
When g = 0 , then the verifier can compute:
( u f α ˜ k ) G x α = u G f α ˜ k G ( f G e ) α = u G f α ˜ k G f G α e α = u G f α ˜ k G ( f α ˜ k | | f G 1 α ˜ k ) e α = u G f α ˜ k G ( f α ˜ k | | f α ˜ k G 1 ) e α = u G f α ˜ k G f α ˜ k G e α = u G e α .
Equation (2) is incorrect because α ˜ k and G 1 are not commutative. Although α ˜ k is symmetric: it does not commute with the matrix G 1 . Therefore, f G 1 α ˜ k f α ˜ k G 1 .
The second error in the scheme is when g = 1 , then we obtain r k ( Q * ( e α ) P ) r . To illustrate r k ( e α ) r , we provide a counterexample here. Since P and Q are invertible over F q , they preserve the rank of the vector. Therefore, we only require showing that r k ( e α ) r .
Proof. 
Let z be a primitive element in F q m and { 1 , z , z 2 , , z m 1 } be a basis of F q m over F q . Let q = 2 , k = 4 , m = 11 , α = z 2 , e = ( e 1 | | e 2 ) F q m 2 k where e 1 = ( 1 , z , z 2 , z ) and e 2 = ( z , z 2 , z , z 2 ) with r k ( e ) = 3 .
r k ( e α ) = r k ( e 1 α ˜ k | | e 2 α ˜ k ) = r k ( 1 , z , z 2 , z ) z 2 z 4 z 6 z 8 | | ( z , z 2 , z , z 2 ) z 2 z 4 z 6 z 8 = r k ( z 2 , z 5 , z 8 , z 9 | | z 3 , z 6 , z 7 , z 10 ) = 8 .
From the above counterexample, we obtain r k ( e α ) = 8 which is greater than r k ( e ) = r = 3 . Therefore, r k ( Q * ( e α ) P ) r .

Security Analysis of RankID

Now, we assumed that RankID was correct even though we found some errors in this scheme. We showed that, based on the information sent through the channels, one could recover the secret of the scheme.
As we know, the adversary can have the public key, which is ( G , r , x ) and other elements from the scheme such as ( α , G 1 , x , u + f α k ˜ , u G 1 f , P | | Q ) as the adversary can look over the communication channel.
Now, we show how the secret key f was retrieved as follows:
Let w = u + f α ˜ k and v = u G 1 f ,
y = w G 1 v = u G 1 + f α ˜ k G 1 u G 1 f = f α ˜ k G 1 f = f [ α ˜ k G 1 I ] .
Now, let δ = α ˜ k G 1 I and δ look random with the random matrix minus the identity matrix. Therefore, we can have the inverse of the matrix, δ , so that f can be retrieved.
f = y [ δ ] 1 .
Then, we can also computed the secret u.
u = w f α ˜ k = w y [ δ ] 1 α ˜ k .
Since we identified ( f , u ) , we could successfully retrieve the error vector, e. Therefore, RankID is insecure to be used.

4. New Rank AGS Identification Protocol

In this section, we describe our new zero-lnowledge identification protocol, namely the Rank AGS identification protocol. Our technique implements the double circulant structure in the public matrix, G. Our public key is still the same as ( G , r , x ) . Our secret key is ( f , e ) . We modified the secret α that would be sent by the verifier to the prover into α = γ C i r ( v ) where γ F q m and C i r ( v ) is a circulant matrix generated by a vector v F q k .
We introduced a new definition of the product, which is defined below.
Definition 9 
(Dot Product, · ). Let e = ( e 1 | | e 2 ) F q m 2 k where e 1 , e 2 F q m k and let α F q m k × k . We define the product of e · α as follows:
e · α = ( e 1 α | | e 2 α ) .

4.1. Key Generation

We used the same notation and the same keys as in the scheme of RankID. Our zero-knowledge protocol uses a public k × n ( n = 2 k ) random double circulant matrix G over F q m .

4.1.1. Key Generation

Choose k , m , q , and r.
  • G $ F q m k × 2 k
  • e $ F q m 2 k with r k ( e ) = r .
  • f $ F q m k
  • x f G e
Public Key = p k ( G , r , x ) , Secret Key = s k ( f , e ) .

4.1.2. Rank AGS ID

In our zero-knowledge protocol, to prove its identity, a prover must prove the knowledge of the secret key ( e , f ) by using two blinding techniques. The first one is to Xor a random vector to the secret key f, and the second blinding technique uses the “*” and “ · ” products to multiply the secret e to random values. Moreover, the security of our protocol relies on the hardness of the rank syndrome decoding problem (RSD). We modify the α that has been distributed by the verifier to the prover where α = γ C i r ( v ) , where v F q k and γ F q m . Notice that the RankID scheme is insecure due to the extra information u G 1 + f sent by the prover to the verifier. As a result, we considered the original AGS scheme in the Hamming metric and constructed the Rank AGS more naturally. Therefore, the key generation and the algorithm of the Rank AGS are still the same except for the commit, c 1 = h ( P | | Q ) , and we removed the response u G 1 f when the challenge g = 0 was received. The repaired new scheme is shown in Table 4 below:

4.1.3. Algorithm of Rank AGS ID

  • A prover P randomly chooses u F q m k , P G L 2 k ( F q ) , Q G L m ( F q ) . Then, P sends to a verifier V the commitments c 1 and c 2 such that: c 1 = h ( P | | Q ) and c 2 = h ( Q * ( u G ) P ) . Here, h is a hash function.
  • A verifier V sends α F q m k × k to P .
  • A prover P builds c 3 = h ( Q * ( u G ( e · α ) ) P ) and sends to V .
  • A verifier V sends g { 0 , 1 } to P .
  • Two possibilities:
    • If g = 0 : P reveals u + f α and P | | Q .
    • If g = 1 : P reveals Q * ( u G ) P and Q * ( e · α ) P .
  • Verification step, two possibilities:
    • If g = 0 : V verifies that c 1 = h ( P | | Q ) , c 3 = h ( Q * ( u G ( e · α ) ) P ) have been honestly computed;
    • If g = 1 : V verifies that c 2 = h ( Q * ( u G ) P ) , c 3 = h ( Q * ( u G ( e · α ) ) P ) have been honestly computed and r k ( Q * ( e · α ) P ) r .
Now, we provide a simple toy example of the Rank AGS scheme as in Table 5 below. Let q = 2 , k = 4 , m = 3 . Let z be the primitive element in F 2 3 and 1 , z , z 2 be the basis of F 2 3 over F 2 .
Private key: e = ( 1 , z , z 2 , z | | z , z 2 , z , z 2 ) with e F 2 3 8 with r k ( e ) = 3 and f = ( 1 , z , z , z 2 ) with f F 2 3 4 .
Public key: G = 1 z z z 2 z 1 z 2 z z 2 1 z z z z 1 z 2 z z 2 1 z z 2 z z 1 z z z 2 1 1 z 2 z z with G F 2 3 4 × 8 , r = 3 and x = f G e = ( 1 + z + z 2 , z , z , z , z + z 2 , 1 + z + z 2 , z + z 2 , z 2 ) .
From the above Rank AGS example, we were able to prove that our Rank AGS scheme works efficiently.

5. Properties and Security of the Rank AGS ID

In this section, we prove the ZK security of our scheme by using the usual zero-knowledge arguments and also consider security properties such as completeness, zero knowledge, and soundness. We also showed that this protocol is zero-knowledge with a cheating probability of around 1 2 .

5.1. Completeness

We obtained the completeness of Rank AGS that has been described in (Table 4) by showing that if an honest prover P and an honest verifier V execute our protocol, it always succeeds.
Theorem 1. 
If a prover and a verifier honestly execute Rank AGS, we have for any round
P r [ R a n k A G S I d P , V = A c c e p t ] = 1 .
Proof. 
P and V are supposed to be honest. We can verify c 3 in the case that g = 0 , V can compute:
( u f α ) G x · α = u G f α G ( f G e ) · α = u G f α G f G · α e · α = u G f α G ( f | | f G 1 ) · α e · α = u G f α G ( f α | | f G 1 α ) e · α = u G f α G ( f α | | f α G 1 ) e · α = u G f α G f α G e · α = u G e · α .
In the case g = 1 , we can check that r k ( Q * ( e · α ) P ) = r . The proof is as below when we consider r k ( e · α ) = r k ( e ) .
Proof. 
Let ( β 1 , , β m ) be the basis for F q m . Let M e 1 and M e 2 be the support matrices for e 1 and e 2 respectively.
e · α = e 1 γ C i r ( v ) | | e 2 γ C i r ( v ) = ( β 1 , , β n ) M e 1 γ C i r ( v ) | | ( β 1 , , β n ) M e 2 γ C i r ( v ) = γ ( β 1 , , β n ) M e 1 C i r ( v ) | | γ ( β 1 , , β n ) M e 2 C i r ( v ) .
Now, we can determine r k ( e · α ) . Let M 1 = M e 1 C i r ( v ) and M 2 = M e 2 C i r ( v ) .
r k ( e · α ) = r k ( M 1 | | M 2 ) = r k ( M e 1 C i r ( v ) | | M e 2 C i r ( v ) ) = r k ( [ M e 1 | | M e 2 ] C i r ( v ) 0 0 C i r ( v ) ) min r k ( M e 1 | | M e 2 ) , r k C i r ( v ) 0 0 C i r ( v ) r k ( M e 1 | | M e 2 ) r k ( e ) = r .
Therefore, r k ( Q * ( e · α ) P ) r . The verifier, V can execute the protocol correctly.

5.2. Zero Knowledge

We used the classical idea of simulation as presented in [22] to ensure zero knowledge. We need to prove that no information can be deduced in polynomial time from the execution of the Rank AGS protocol.
Theorem 2. 
The protocol defined in (Table 4) is a prover-verifier zero-knowledge protocol.
Proof. 
Let S and δ be a simulator using a dishonest verifier and the number of rounds that are taken by an honest identification process to be executed, respectively. We needed to construct a polynomial-time simulator S of the protocol that, by interacting with the verifier V, could provide a transcript indistinguishable from the original protocol. The simulator S should perform the following steps:
If g = 0 :
S randomly chooses u F q m k , P F q 2 k × 2 k and Q F q m × m and solves the equation x = f G e without necessarily satisfying the condition r k ( e ) = r . Then, the computed c 1 = h ( P | | Q ) and c 2 is taken as a random value. S simulates the verifier by applying ( c 1 , c 2 ) to obtain α F q m k × k . Then, S can compute c 3 = h ( Q * ( u G ( e · α ) ) P ) . Note that P , Q , and u are indistinguishable from P , Q , and u + f α .
If g = 1 :
S randomly chooses u F q m k , P F q 2 k × 2 k and Q F q m × m . Now, he randomly chooses f F q m k and e F q m 2 k such that r k ( e ) = r . Then, he computes c 2 = h ( Q * ( u G ) P ) and c 1 is taken as a random value. S simulates the verifier by applying ( c 1 , c 2 ) to obtain α F q m k × k and then S can compute c 3 = h ( Q * ( u G ( e · α ) ) P ) . Note that P , Q , u , f and e are indistinguishable from Q * ( u G ) P and Q * ( e · α ) P . □
Therefore, S generates a communication transcript that is indistinguishable from another communication transcript which exactly looks similar to an honest identification process execution in 2 δ rounds.

5.3. Soundness

The soundness of our scheme can be proven by starting to show that for each round, a dishonest prover can cheat with a probability that does not exceed q m + k q m q k + 2 2 ( q m + k q m q k + 1 ) . The finite field used is F q m .
S t 1 :
He or she randomly chooses u , P , Q , and solves the equation x = f G e without necessary satisfying the condition r k ( e ) = r where f F q m k and e F q m 2 k when receiving g = 0 as a challenge. Then, he or she computes c 1 = h ( P | | Q ) and sets c 2 at random data. Thus, the dishonest prover is able to answer the challenge g = 0 regardless of the value of α chosen by the verifier.
S t 2 :
He or she randomly chooses u , P , Q , and generates the couple ( f , e ) randomly such that r k ( e ) = r when receiving g = 1 as a challenge. Then, he or she can compute c 2 = h ( Q * ( u G ) P ) and set c 1 at random data. In this case, the rank of e is valid. Thus, the dishonest prover can correctly answer the challenge g = 1 regardless of the value of α .
By trying to guess α , the above two strategies can be improved. Let α be the guessed value of α . Thus, the dishonest prover can compute h ( x ) where x = Q * ( u G ( e · α ) ) P .
Since there are only two strategies ( S t 1 , S t 2 ), we have P ( S t = S t i ) = 1 2 . Next, we only have two possibilities of being challenged which are g 0 , 1 . Therefore, P ( g = i ) = 1 2 . Meanwhile, the probability of guessing the correct value of α depends on its size. We know that α = γ C i r ( v ) where γ F q m and v F q k . Thus, excluding 0, the size of α is ( q m 1 ) ( q k 1 ) and the probability of guessing the correct α is 1 ( q m 1 ) ( q k 1 ) .
Therefore, the success cheating probability of a strategy for one round is given by:
P = i = 0 1 P ( S t = S t i ) P ( b = i ) + P ( S t = S t i ) P ( b = 1 i ) P ( α = v ) = P ( S t = S t 0 ) P ( b = 0 ) + P ( S t = S t 0 ) P ( b = 1 ) P ( α = v ) + P ( S t = S t 1 ) P ( b = 1 ) + P ( S t = S t 1 ) P ( b = 0 ) P ( α = v ) = ( 1 2 ) ( 1 2 ) + ( 1 2 ) ( 1 2 ) ( 1 q m + k q m q k + 1 ) + ( 1 2 ) ( 1 2 ) + ( 1 2 ) ( 1 2 ) ( 1 q m + k q m q k + 1 ) = ( 1 4 ) + ( 1 4 ) ( 1 q m + k q m q k + 1 ) + ( 1 4 ) + ( 1 4 ) ( 1 q m + k q m q k + 1 ) = 1 2 + ( 1 2 ( q m + k q m q k + 1 ) ) = q m + k q m q k + 2 2 ( q m + k q m q k + 1 ) .
If a dishonest prover succeeds in cheating with a probability higher than q m + k q m q k + 2 2 ( q m + k q m q k + 1 ) δ where δ is the number of rounds, then he or she can solve the rank syndrome decoding problem (RSD).

5.4. Rank AGS Signature Scheme

After this, we investigated the signature scheme based on the Rank AGS ID. As mentioned in the introduction, the Fiat–Shamir transform [23] can turn any zero-knowledge identification scheme into a signature scheme by considering the cryptographic hash functions known as the commit-and-challenge approach. The key generation of our signature scheme is the same as in Rank AGS ID. Now, we present the Rank AGS signing and verification algorithm as shown in the following Algorithms 1 and 2 respectively.
Algorithm 1: rank AGS signing algorithm
Input: 
msg, message, δ , number of rounds, sk=(f,e) K G e n , pk=(G,r,x) K G e n .
Output: 
Sign(sk,pk,msg, δ )
 
Step 1:
1:
for i = 1 to δ do
2:
       u i F q m k
3:
       P i F q 2 k × 2 k
4:
       Q i F q m × m
5:
       c i , 0 h ( P i | | Q i )
6:
       c i , 1 h ( Q i * ( u i G ) P i )
7:
end for
8:
c m t 0 c 1 , 0 | | c 1 , 1 | | | | c δ , 0 | | c δ , 1
 
Step 2:
9:
c h 1 h ( c m t 0 | | m s g )
 
Step 3:
10:
for i = 1 to δ do
11:
       γ i = ( c h 1 , ( i 1 ) m + ( i 1 ) k + 1 , , c h 1 , i m + ( i 1 ) k )
12:
       v i = ( c h 1 , i m + ( i 1 ) k + 1 , , c h 1 , i m + i k )
13:
       α i = γ i C i r ( v i )
14:
       c m t 1 , i h ( Q i * ( u i G ( e · α i ) ) P i )
15:
end for
 
Step 4:
16:
c h 2 h ( ( c m t 1 | | 1 ) | | | | ( c m t 1 | | ) )
 
Step 5:
17:
for i = 1 to δ do
18:
      if c h 2 , i = 0 , then
19:
             r s p i [ u i + f i α i , ( P i | | Q i ) ]
20:
      end if
21:
      if c h 2 , i = 1 , then
22:
             r s p i [ ( Q i * ( u i G ) P i ) , ( Q i * ( e · α i ) P i ) ]
23:
      end if
24:
end for
25:
sgn [ c m t 0 , c h 1 , c m t 1 , c h 2 , r s p ]
26:
return sgn
Impersonation attack. An attacker executes the Rank AGS with a prover, P , and tries to give answers that the verifier, V , will accept. It is impossible to give commitments that can be opened for two values of g. Without the knowledge of the secret key, e, the probability of success is at most P r i m p = 1 2 .

5.5. Key Size and Signature Size

Here, we report the key and signature bit size for our Rank AGS ID and Rank AGS Signature scheme, respectively. First, we investigate the key size that we need for Rank AGS ID.
  • Our public keys are ( G , x , r ) . G F q m k × 2 k is a systematic double circulant matrix, which requires only a vector to represent it, 2 k m l o g 2 ( q ) . x F q m 2 k has a size of k m l o g 2 ( q ) . Therefore, the public key size is 3 k m l o g 2 ( q ) .
  • The secret keys are ( f , e ) where f F q m k and e F q m 2 k . If we have f, then we can compute e from e = x + f G . Therefore, it suffices for us to store only f as a secret key, which contributes to k m l o g 2 ( q ) .
  • Based on the Rank AGS signature scheme, we can construct the signature size of our signature scheme. The signature consists of two commitments which are c m t 0 and c m t 1 , i , and have a total length of 3 h δ . Then, the challenge, c h 1 is having size of δ ( k + m ) l o g 2 ( q ) and c h 2 is having size of δ . The total size of the response, r s p i for the commit-challenge, is based on the value of the challenge, which is 0 or 1. The size of r s p i is 1 2 δ ( 5 k m + 4 k 2 + m 2 ) l o g 2 ( q ) . The signature size is based on the total size of the commitment, challenge, and response which is 3 h δ + δ + δ ( k + m ) l o g 2 ( q ) + 1 2 δ ( 5 k m + 4 k 2 + m 2 ) l o g 2 ( q ) .
Algorithm 2: rank AGS verification algorithm
Input: 
msg, message, δ , number of rounds, s g n = [ c m t 0 , c h 1 , c m t 1 , c h 2 , r s p ] , pk=(G,r,x) K G e n .
Output: 
Verify(pk,msg, δ ,sgn)
1:
for i = 1 to δ do
2:
       γ i = ( c h 1 , ( i 1 ) m + ( i 1 ) k + 1 , , c h 1 , i m + ( i 1 ) k )
3:
       v i = ( c h 1 , i m + ( i 1 ) k + 1 , , c h 1 , i m + i k )
4:
       α i = γ i C i r ( v i )
5:
      if c h 2 , i = 0 then
6:
             c i , 0 c m t 0 , 2 h ( i 1 ) + 1 , , c m t 0 , 2 h ( i 1 ) + h
7:
            if c i , 0 h ( r s p i , 2 ) then
8:
                   c m t 1 , i h ( r s p i , 2 ( 2 ) * ( r s p i , 1 G ( x · α i ) ) r s p i , 2 ( 1 ) )
9:
                  return false
10:
            end if
11:
      end if
12:
      if c h 2 , i = 1 , then
13:
             c i , 1 c m t 0 , ( 2 h ( i 1 ) + h ) + 1 , , c m t 0 , 2 h i
14:
            if c i , 1 h ( r s p i , 1 ) c m t 1 , i h ( r s p i , 1 r s p i , 2 ) r k ( r s p i , 2 ) r then
15:
                  return false
16:
            end if
17:
      end if true
18:
end for
19:
return true
Now, we provide the parameter sets achieving 128-bit and 256-bit security levels as shown in Table 6. These security levels are computed based on the complexity of existing known combinatorial and algebraic attacks on the RSD problem. We set q = 2 , m to be a prime number, and n = 2 k . The number of rounds needed to decrease the impersonation probability to our needs. Therefore, we fixed the number of rounds, δ = 129 and δ = 257 to reach the desired impersonation probability ( 2 129 and 2 257 ) to achieve the security level of 128-bits and 256-bits respectively. The hash value, h, is the same as the δ value according to the Rank AGS signature scheme.
We could achieve the desired security level to solve the rank syndrome decoding problem (RSD) based on the sets of small parameters.
Then, we looked at the key and signature bit sizes for other signature schemes, which are based on rank metrics such as Rank CVE [8] and the double circulant version of Veron (Rank RVDC) [10] identification schemes. Then, we compared the size of public, secret, and signature keys with our Rank AGS as shown in Table 7 and Table 8.
Based on the comparison above, we could observe that all our public, secret key size, and signature sizes were smaller than other schemes. The percentage of the size reduction in the keys or signature is given below in Table 9 and Table 10 as we consider Rank CVE as the original reference for 128 and 256 security levels.
We used the notation of “- %” to indicate that the key size was, in fact, larger than the ones in Rank CVE. In particular, rank RVDC had a larger secret key size compared to Rank CVE. Moreover, Rank AGS reduces drastically in the size of the signature, public key, and secret key compared to Rank CVE.

6. Conclusions

In this paper, we studied and identified the errors in RankID [11]. The operations chosen in the RankID construction did not ensure the commutativity of the matrix multiplication and preserved the rank of the error vector. Furthermore, even if we assume that RankID is correct, it is still insecure because the secret key can be recovered. Therefore, we propose a new scheme: Rank AGS ID based on the hardness of the rank syndrome decoding problem (RSD) by considering the original AGS ID in hamming metric. We provided the correctness of our Rank AGS ID and proved that the rank of the error vector was preserved. Our scheme also achieved zero-knowledge security properties such as completeness, soundness, and zero knowledge. Finally, we showed how that our scheme has a smaller public, secret, and signature key size when compared with other identification schemes=-based signatures, such as Rank CVE and Rank RVDC, for 128-bit and 256-bit security levels.

Author Contributions

Conceptualization and Methodology, T.S.C.L., V.N. and N.N.H.A.; Formal analysis, V.N., T.S.C.L., N.N.H.A., M.R.K.A., J.-J.C., T.T.V.Y. and S.-C.Y.; Funding acquisition, T.S.C.L., J.-J.C., T.T.V.Y., and S.-C.Y.; Investigation, T.S.C.L., V.N., N.N.H.A. and M.R.K.A.; Writing-original draft preparation, V.N.; Writing-review and editing, T.S.C.L., M.R.K.A., J.-J.C., T.T.V.Y. and S.-C.Y.; Supervision, T.S.C.L. and M.R.K.A.; Validation, M.R.K.A., T.S.C.L. and J.-J.C.; Project administration, M.R.K.A. All authors have read and agreed to the published version of the manuscript.

Funding

The research was supported by the Ministry of Higher Education of Malaysia’s FRGS (FRGS/1/2019/ICT04/MMU/02/5) and the MMU Postdoc (MMUI/220141).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Acknowledgments

This paper and the research behind it would not have been possible without the exceptional support from the Institute for Mathematical Research (INSPEM), Universiti Putra Malaysia (UPM) in allowing this research to be conducted. We also extend our endless gratitude to the MYBRAINSC scholarship scheme from the Ministry of Higher Education of Malaysia. Finally, the authors sincerely appreciate the editor and anonymous referees for their careful reading and helpful comments to improve this paper.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Bufalo, M.; Bufalo, D.; Orlando, G. A note on the computation of the modular inverse for cryptography. Axioms 2021, 10, 116. [Google Scholar] [CrossRef]
  2. Zhang, Y. Bounded gaps between primes. Ann. Math. 2014, 179, 1121–1174. [Google Scholar] [CrossRef]
  3. McEliece, R.J. A public-key cryptosystem based on algebraic. Coding Thv 1978, 4244, 114–116. [Google Scholar]
  4. Courtois, N.T.; Finiasz, M.; Sendrier, N. How to achieve a McEliece-based digital signature scheme. In Proceedings of the International Conference on the Theory and Application of Cryptology and Information Security, Gold Coast, Australia, 9–13 December 2001; pp. 157–174. [Google Scholar]
  5. Stern, J. Designing Identification schemes with keys of short size. In Proceedings of the Annual International Cryptology Conference, Santa Barbara, CA, USA, 21–25 August 1994; pp. 164–173. [Google Scholar]
  6. Véron, P. Improved Identification schemes based on error-correcting codes. Appl. Algebra Eng. Commun. Comput. 1997, 8, 57–69. [Google Scholar] [CrossRef] [Green Version]
  7. Aguilar, C.; Gaborit, P.; Schrek, J. A new zero-knowledge code based Identification scheme with reduced communication. In Proceedings of the IEEE Information Theory Workshop, Paraty, Brazil, 16–20 October 2011; pp. 648–652. [Google Scholar]
  8. Bellini, E.; Caullery, F.; Hasikos, A.; Manzano, M.; Mateu, V. Code-based signature schemes from Identification Protocols in the rank metric. In Cryptology and Network Security. CANS 2018; Springer: Cham, Switzerland, 2018; pp. 277–298. [Google Scholar]
  9. Lau, T.S.C.; Tan, C.H.; Prabowo, T.F. Key recovery attacks on some rank metric code-based signatures. In Proceedings of the IMA International Conference on Cryptography and Coding, Oxford, UK, 16–18 December 2019; pp. 215–235. [Google Scholar]
  10. Bellini, E.; Caullery, F.; Gaborit, P.; Manzano, M.; Mateu, V. Improved Veron Identification and signature schemes in the rank metric. In Proceedings of the IEEE International Symposium on Information Theory (ISIT), Paris, France, 7–12 July 2019; pp. 1872–1876. [Google Scholar]
  11. Ayebie, E.B.; Assidi, H.; Souidi, E.M. An efficient Identification scheme based on rank metric. In Proceedings of the International Symposium on Foundations and Practice of Security, Toulouse, France, 5–7 November 2019; pp. 273–289. [Google Scholar]
  12. Gaborit, P.; Zémor, G. On the hardness of the decoding and the minimum distance problems for rank codes. IEEE Trans. Inf. Theory 2016, 62, 7245–7252. [Google Scholar] [CrossRef] [Green Version]
  13. Lau, T.S.C.; Tan, C.H. MURAVE: A new rank code-based signature with multiple rank verification. In Proceedings of the Code-Based Cryptography Workshop, Zagreb, Croatia, 9–10 May 2020; pp. 94–116. [Google Scholar]
  14. Chabaud, F.; Stern, J. The cryptographic security of the syndrome decoding problem for rank distance codes. In Advances in Cryptology—ASIACRYPT ’96; Springer: Berlin/Heidelberg, Germany, 1996; pp. 368–381. [Google Scholar]
  15. Gaborit, P.; Ruatta, O.; Schrek, J. On the complexity of the rank syndrome decoding problem. IEEE Trans. Inf. Theory 2016, 62, 106–109. [Google Scholar] [CrossRef] [Green Version]
  16. Ourivski, A.V.; Johansson, T. New technique for decoding codes in the rank metric and its cryptography applications. Probl. Inf. Transm. 2002, 38, 237–246. [Google Scholar] [CrossRef]
  17. Aragon, A.; Gaborit, P.; Hauteville, A.; Tillich, J.-P. A new algorithm for solving the rank syndrome decoding problem. In Proceedings of the IEEE International Symposium on Information Theory (ISIT), Vail, CO, USA, 17–22 June 2018; pp. 2421–2425. [Google Scholar]
  18. Faugere, J.-C.; Levy-dit-Vehel, F.; Perret, L. Cryptanalysis of Minrank. In Proceedings of the Annual International Cryptology Conference, Santa Barbara, CA, USA, 17–21 August 2008; pp. 280–296. [Google Scholar]
  19. Goubin, L.; Courtois, N.T. Cryptanalysis of the TTM cryptosystem. In Proceedings of the International Conference on the Theory and Application of Cryptology and Information Security, Kyoto, Japan, 3–7 December 2000; pp. 44–57. [Google Scholar]
  20. Bardet, M.; Briaud, P.; Bros, M.; Gaborit, P.; Neiger, V.; Ruatta, O.; Tillich, J.-P. An algebraic attack on rank metric code-based cryptosystems. In Proceedings of the In Advances in Cryptology (EUROCRYPT 2020), Zagreb, Croatia, 10–14 May 2020; pp. 64–93. [Google Scholar]
  21. Bardet, M.; Bros, M.; Cabarcas, D.; Gaborit, P.; Perlner, R.; Smith-Tone, D.; Tillich, J.-P.; Verbel, J. Algebraic Attacks for Solving the Rank Decoding and MinRank Problems without Gröbner Basis. 2020. Available online: https://hal.inria.fr/hal-03133479 (accessed on 6 February 2021).
  22. Goldreich, O. Zero-knowledge twenty years after its invention. IACR Cryptol. EPrint Arch. 2002, 2002, 186. [Google Scholar]
  23. Fiat, A.; Shamir, A. How to prove yourself: Practical solutions to Identification and signature problems. In Advances in Cryptology—CRYPTO ’86; Springer: Berlin/Heidelberg, Germany, 1986; pp. 186–194. [Google Scholar]
Table 1. Combinatorial attacks on RSD.
Table 1. Combinatorial attacks on RSD.
AttacksComplexity
CS [14] O ( ( n r + m ) 3 q ( m r ) ( r 1 ) )
GRS-I [15] O ( ( n k ) 3 m 3 q r m i n { k , k m n } ) if s 0 ,
O ( ( n k ) 3 m 3 q ( r 1 ) m i n { k , k m n } ) if s = 0
OJ-I [16] O ( r 3 m 3 q ( r 1 ) ( k + 1 ) )
OJ-II [16] O ( ( k + r ) 3 r 3 q ( m r ) ( r 1 ) )
GRS-II [15] O ( ( n k ) 3 m 3 q ( r 1 ) m i n { k + 1 , ( k + 1 ) m n } )
AGHT [17] O ( ( n k ) 3 m 3 q r ( k + 1 ) m n m )
Table 2. Algebraic attacks on RSD.
Table 2. Algebraic attacks on RSD.
AttacksConditionsComplexity
FLP [18] m = n , ( n r ) 2 = n k O ( ( l o g q ) n 3 ( n r ) 2 )
CGK [19]- O ( k 3 m 3 q r k m n )
GRS [15] d n , r , k 0 O ( ( ( r + 1 ) ( k + 1 ) 1 ) 3 )
[ d n , r , k r ] k O ( r 3 k 3 q r [ d n , r , k r ] )
BBB [20] m C v k , r C n , r O ( ( ( ( m + n ) r ) r r ! ) w )
m C v k , r < C n , r O ( ( ( ( m + n ) r ) r + 1 ( r + 1 ) ! ) w )
BBC [21] m C v k p , r C n p , r 1 O ( m C v k p , r C n p , r w 1 )
m C v k , r C n a , r 1 O ( q a r m C v k , r C n a , r w 1 )
A b 1 B b , q = 2 O ( B b A b w 1 )
Table 3. The identification protocol (RankID).
Table 3. The identification protocol (RankID).
Prover, P Verifier, V
u F q m k
P G L 2 k ( F q )
Q G L m ( F q )
c 1 = h ( P | | Q | | ( u G 1 f ) ) c 2 = h ( Q * ( u G 1 ) P ) α F q m k c 3 = h ( Q * ( u G ( e α ) ) P ) g { 0 , 1 }
if g = 0 ,
u + f α ˜ k u G 1 f , ( P | | Q )
v e r i f y : c 1 = h ( P | | Q | | ( u G 1 f ) ) , c 3 = h ( Q * ( u G ( e α ) ) P )
if g = 1 ,
Q * ( u G ) P , Q * ( e α ) P
v e r i f y : c 2 = h ( Q * ( u G ) P ) , c 3 = h ( Q * ( u G ( e α ) ) P ) r k ( Q * ( e α ) P ) r
Table 4. The identification protocol (Rank AGS).
Table 4. The identification protocol (Rank AGS).
Prover, P Verifier, V
u F q m k
P G L 2 k ( F q )
Q G L m ( F q )
c 1 = h ( P | | Q ) c 2 = h ( Q * ( u G ) P ) α F q m k × k c 3 = h ( Q * ( u G ( e α ) ) P ) g { 0 , 1 }
if g = 0 ,
u + f α , ( P | | Q )
v e r i f y : c 1 = h ( P | | Q | | ) , c 3 = h ( Q * ( u G ( e α ) ) P )
if g = 1 ,
Q * ( u G ) P , Q * ( e α ) P
v e r i f y : c 2 = h ( Q * ( u G ) P ) , c 3 = h ( Q * ( u G ( e α ) ) P ) , r k ( Q * ( e α ) P ) r
Table 5. Example of identification protocol (Rank AGS).
Table 5. Example of identification protocol (Rank AGS).
Prover, P Verifier, V
u = ( 1 , z , z 2 , z ) F 2 3 4
P G L 8 ( F 2 )
P = 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 1 1 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 0 1 1 1 0 0 1 1 0 1 1 1 0 0 0 1 0 0 0 0 1 1 0 1 1 1 0 0 1 1
Q = 1 0 1 0 1 0 1 0 0 G L 3 ( F 2 )
c 1 = h ( P | | Q ) = 10101011100011100011000001 c 2 = h Q * ( u g ) P ) = 11010000100111010011111101 α = 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 F 2 3 4 × 4 c 3 = h ( Q * ( u G ( e α ) ) P ) = 10101010110110010010011011 g { 0 , 1 }
if g = 0 ,
u + f α , = ( z , z 2 , 1 + z + z 2 , z 2 ) , ( P | | Q ) Assume can be verified
as we can receive back:
c 1 = h ( P | | Q | | ) = 10101011100011100011000001 , c 3 = h ( Q * ( u G ( e α ) ) P ) = 0101010110110010010011011
if g = 1 ,
Q * ( u G ) P = 0 1 1 0 1 0 1 1 0 0 0 0 1 0 0 0 0 1 0 1 1 1 0 0 , Q * ( e α ) P = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 1 Assume can be verified
as we can receive back:
c 2 = h ( Q * ( u G ) P ) = 11010000100111010011111101 , c 3 = h ( Q * ( u G ( e α ) ) P ) = 10101010110110010010011011 , r k ( Q * ( e α ) P ) r
Table 6. Public, secret keys and signature bit sizes for 128-bit and 256-bit security levels.
Table 6. Public, secret keys and signature bit sizes for 128-bit and 256-bit security levels.
Parameters
( q , m , n , k , r , δ , h )
Security LevelSignature SizeSecret KeyPublic Key
( 2 , 43 , 38 , 19 ,
8 , 129 , 129 )
128 bit533,9318172451
( 2 , 37 , 34 , 17 ,
8 , 129 , 129 )
128 bit422,7336291887
( 2 , 47 , 46 , 23 ,
11 , 257 , 257 )
256 bit1,466,69910813243
( 2 , 53 , 46 , 23 ,
11 , 257 , 257 )
256 bit1,634,00612193657
Table 7. Comparison of keys and signature bit sizes with CVE and RVDC schemes for 128 security level.
Table 7. Comparison of keys and signature bit sizes with CVE and RVDC schemes for 128 security level.
SchemeParameters ( q , m , n , k , r , δ , h ) Signature SizeSecret KeyPublic Key
Rank CVE ( 2 , 43 , 38 , 19 , 8 , 128 , 256 ) 3,313,662125833,969
Rank RVDC ( 2 , 43 , 38 , 19 , 8 , 129 , 256 ) 574,95324512454
Rank AGS ( 2 , 43 , 38 , 19 , 8 , 129 , 129 ) 533,9318172451
Table 8. Comparison of keys and signature bit sizes with CVE and RVDC schemes for 256 security level.
Table 8. Comparison of keys and signature bit sizes with CVE and RVDC schemes for 256 security level.
SchemeParameters ( q , m , n , k , r , δ , h ) Signature SizeSecret KeyPublic Key
Rank CVE ( 2 , 47 , 46 , 23 , 11 , 256 , 512 ) 14,161,547216275,673
Rank RVDC ( 2 , 47 , 46 , 23 , 11 , 257 , 512 ) 1,645,05732433247
Rank AGS ( 2 , 47 , 46 , 23 , 11 , 257 , 257 ) 1,466,69910813243
Table 9. Percentage of size reduction as we consider Rank CVE as the original reference for the 128 security level.
Table 9. Percentage of size reduction as we consider Rank CVE as the original reference for the 128 security level.
SchemePercentage (%)
Signature SizeSecret KeyPublic Key
Rank RVDC83−9593
Rank AGS843593
Table 10. Percentage of size reduction as we consider Rank CVE as the original reference for the 256 security level.
Table 10. Percentage of size reduction as we consider Rank CVE as the original reference for the 256 security level.
SchemePercentage (%)
Signature SizeSecret KeyPublic Key
Rank RVDC88−5096
Rank AGS905096
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Nagaraja, V.; Ariffin, M.R.K.; Lau, T.S.C.; Adenan, N.N.H.; Chin, J.-J.; Yip, S.-C.; Yap, T.T.V. Rank AGS Identification Scheme and Signature Scheme. Mathematics 2023, 11, 1139. https://doi.org/10.3390/math11051139

AMA Style

Nagaraja V, Ariffin MRK, Lau TSC, Adenan NNH, Chin J-J, Yip S-C, Yap TTV. Rank AGS Identification Scheme and Signature Scheme. Mathematics. 2023; 11(5):1139. https://doi.org/10.3390/math11051139

Chicago/Turabian Style

Nagaraja, Vaishnavi, Muhammad Rezal Kamel Ariffin, Terry Shue Chien Lau, Nurul Nur Hanisah Adenan, Ji-Jian Chin, Sook-Chin Yip, and Timothy Tzen Vun Yap. 2023. "Rank AGS Identification Scheme and Signature Scheme" Mathematics 11, no. 5: 1139. https://doi.org/10.3390/math11051139

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop