Next Article in Journal / Special Issue
Revocable Identity-Based Encryption and Server-Aided Revocable IBE from the Computational Diffie-Hellman Assumption
Previous Article in Journal
The Definition and Software Performance of Hashstream, a Fast Length-Flexible PRF
Previous Article in Special Issue
A Secure Algorithm for Inversion Modulo 2k
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A New Technique in Rank Metric Code-Based Encryption †

by
Terry Shue Chien Lau
*,‡ and
Chik How Tan
Temasek Laboratories, National University of Singapore, T-Lab Building, 5A, Engineering Drive 1, #09-02, Singapore 117411, Singapore
*
Author to whom correspondence should be addressed.
This paper is an extended version of our paper published in 23rd Australasian Conference on Information Security and Privacy (ACISP 2018).
These authors contributed equally to this work.
Cryptography 2018, 2(4), 32; https://doi.org/10.3390/cryptography2040032
Submission received: 29 August 2018 / Revised: 7 October 2018 / Accepted: 11 October 2018 / Published: 15 October 2018
(This article belongs to the Special Issue Public Key Cryptography)

Abstract

:
We propose a rank metric codes based encryption based on the hard problem of rank syndrome decoding problem. We propose a new encryption with a public key matrix by considering the adding of a random distortion matrix over F q m of full column rank n. We show that IND-CPA security is achievable for our encryption under assumption of the Decisional Rank Syndrome Decoding problem. Furthermore, we also prove some bounds for the number of matrices of a fixed rank with entries over a finite field. Our proposal allows the choice of the error terms with rank up to r 2 , where r is the error-correcting capability of a code. Our encryption based on Gabidulin codes has public key size of 13 . 68 KB, which is 82 times smaller than the public key size of McEliece Cryptosystem based on Goppa codes. For similar post-quantum security level of 2 140 bits, our encryption scheme has a smaller public key size than the key size suggested by LOI17 Encryption.

1. Introduction

1.1. Background and Motivations

In 1978, McEliece [1] proposed a public-key cryptosystem based on Goppa codes in Hamming metric. A message m is encrypted with the public key G p u b = S G P , where G is a generator matrix of Goppa code, S is some random invertible matrix and P is a permutation matrix which S and P hide the structure of matrix G. The ciphertext c is computed by adding the codeword m G p u b with an error e of Hamming weight less than or equal to r, where r is the error correcting capability of Goppa code. By decoding c P 1 with respect to the Goppa code, m S can be obtained and thus retrieve m = m S S 1 . Although the original McEliece cryptosystem is still considered secured today, the large key size of Goppa codes (approximately 1 MB) is less practical in application. Many variants based on alternative families of codes were proposed to tackle this problem, yet many of them were proved to be insecure (for instance, [2,3]).
As an alternative for the Hamming metric, in 1985, Gabidulin introduced the rank metric and the Gabidulin codes [4] over a finite field with q m elements, F q m . Later, in 1991, Gabidulin et al. [5] proposed the first rank code based cryptosystem, namely the GPT cryptosystem that employs the similar idea as a McEliece cryptosystem to distort the public key matrix. They considered G p u b = S G + X , where S is a random invertible k × k matrix over F q m , G is a generator matrix of Gabidulin codes, and X is a random matrix over F q m with column rank t < n . However, the GPT cryptosystem is shown to be insecure against Gibson’s attack [6]. Since then, reparations on GPT were proposed (for instances, GPT [5], modified GPT [7,8], GGPT [9]); however, due to the weakness of Gabidulin codes containing huge vector space invariant under Frobenius automorphism, these cryptosystems were proved to be insecure by Overbeck’s attack [10]. Then, proposals such as Gabidulin’s General Reparation [11], Gabidulin, Rashwan and Honary [12], GPT with more general column scrambler [12], Loidreau’s GGPT [13], and Smart Approach [14] that claimed to resist Overbeck’s attack were proposed. The entries in P 1 need to be chosen over F q m and over F q in a certain pattern so that the rank of e P 1 will be less than or equal to r. However, proposals with P of such pattern are proved to be insecure as they could be reduced into GGPT form by attacks proposed by [15,16]. In addition, some general rank syndrome decoding attacks on Gabidulin codes (for instances [17,18,19]) are able to attack the variants above with their suggested parameters in polynomial time.
In 2017, two new research papers about rank metric encryption scheme were presented. The first one is proposed by Gaborit et al. [20], namely RankPKE in their construction of a code-based identity-based encryption scheme. The second attempt is a McEliece type encryption proposed by Loidreau (LOI17) [21] that considers a scrambler matrix P with its inverse P 1 over V, a λ -dimensional subspace of F q m . The term c P 1 = m S G + e P 1 has error e P 1 with e of rank t. In other words, the matrix P 1 amplifies the rank of e , and this leads to larger public key size as t has to be λ times smaller than r.

1.2. Contributions

In this paper, we propose an encryption scheme based on the hard problem of rank syndrome decoding problem. Our construction hides the structure of the generator matrix of the code by adding a distortion matrix of column rank n, with an error of rank larger than r being added into the ciphertext. In particular, let u F q m n of rank n, a message m F q m k is encrypted by
c 2 = ( m m s ) G p u b + e 2 = ( m m s ) ( S G + Cir k ( u ) T ) + e 2 ,
where S is a random matrix in G L k ( F q m ) , G is a generator matrix for a code C with error-correcting capability r, Cir k ( u ) is a k-partial circulant matrix (refer to Definition 5 for formal definition), T is a random matrix in GL n ( F q ) , m s is a random vector in F q m k k and e 2 is a random vector in F q m n with rank r 2 r 2 . Note that the term m s could be chosen such that the term ( m m s ) Cir k ( u ) T + e 2 in c 2 has rank larger than n r 2 (which is greater than r).
The term c 1 = ( m m s ) Cir k ( u ) + e 1 is included in the ciphertext, where e 1 is a random vector in F q m n with rank r 1 r 2 . Decryption could be performed by decoding c 2 c 1 T = ( m m s ) S G + e 2 e 1 T with respect to the code C whenever rank of e 2 e 1 T is less than or equal to r.
Advantages of Our Proposal. Our proposal has the following advantages:
i.
The distortion matrix Cir k ( u ) T is of column rank n, which hides the generator matrix G since T is random over F q .
ii.
The error term ( m m s ) Cir k ( u ) T + e 2 has rank at least n r 2 . The adversary is not able to decode the ciphertext correctly since the generator matrix G is remained unknown and rank of ( m m s ) Cir k ( u ) T + e 2 is greater than r.
iii.
For the case in LOI17 Encryption and other Gabidulin codes based cryptosystem, the multiplication of P 1 into c often amplifies the rank of the error term, resulting in a choice of error term with smaller rank in the ciphertext. Similarly, the rank of the error term in RankPKE has to be λ times smaller than r. On the contrary, in our proposal, we have freedom for the choice of e 1 and e 2 with rank r 1 r 2 and r 2 r 2 , respectively.
We show that our encryption scheme has IND-CPA security under assumption of a Decisional Rank Syndrome Decoding problem. We propose Gabidulin codes as a choice of decodable code in our encryption. Furthermore, for similar post quantum security level of 2 140 bits, our encryption scheme has smaller public key size as compared to key size suggested by LOI17 Encryption [21].
This paper is organized as follows: we review some preliminaries for rank metric and circulant matrix in Section 2. We also introduce the hard problems that our encryption is based on and name the known best attacks on the problem. In Section 3, we prove some bounds for the number of matrices of a fixed rank over a finite field and some related results. In Section 4, we describe our proposed cryptosystem and provide proofs for its advantages. In Section 5, we prove that our encryption scheme has IND-CPA security under assumption of Decisional Rank Syndrome Decoding problem. In Section 6, we propose the use of Gabidulin codes as a choice for the decodable code C in our encryption, and analyze its security. We also provide some parameters for the proposal based on the Gabidulin codes. Finally, we give our considerations of this paper in Section 7.

2. Preliminaries

In this section, we recall the definition of rank metric, which is the core of rank metric code based cryptosystems. We also introduce the Decisional Rank Syndrome Decoding problem, a hard problem in coding theory for our encryption scheme. We name the known best generic attacks on the Rank Syndrome Decoding problem.

2.1. Rank Metric

Let F q m be a finite field with q m elements where q is a power of prime. In addition, let { β 1 , , β m } be a basis of F q m over the base field F q .
Definition 1.
Alinear codeof length n and dimension k is a linear subspace C of the vector space F q m n .
Given a matrix M with coefficients in a field F , the rank of M, rk ( M ) is the dimension of the row span of M as a vector space over F . We denote the row span of a matrix M over F by M F , or M when the context is clear. We now define the rank metric of a vector on F q m n :
Definition 2.
Let x = ( x 1 , , x n ) F q m n . The rank of x in F q , denoted by r k q ( x ) is the rank of the matrix X = ( x i j ) F q m × n , where x j = i = 1 m x i j β i .
Equivalently, the rank of x is the dimension over F q of the subspace of F q m which is spanned by the coordinates of x . Note that the rank of a vector is a norm and is independent of the chosen basis. Similarly, we have the following definition of column rank for a matrix in F q m k × n :
Definition 3.
Let M F q m k × n . The column rank of M over F q , denoted by colrk q ( M ) is the maximum number of linearly independent columns over F q .
We now state a few results related to the rank metric which are important prerequisites for results in later sections.
Lemma 1.
Let x F q m n such that r k q ( x ) = r , then there exists x ^ F q m r with r k q ( x ^ ) = r and U F q r × n with r k q ( U ) = r such that x = x ^ U . This decomposition is unique up to G L r ( F q ) -operation between x ^ and U [15].
Definition 4.
Let x F q m n with rk q ( x ) = r and decomposition x = x ^ U as in Lemma 1. We call U a Grassman support matrix for x and supp Gr ( x ) = U F q m the Grassman support of x .
Lemma 2.
Let M F q m k × n and colrk q ( M ) = s < n [16]. Then, there exists M F q m k × s with colrk q ( M ) = s and K an invertible n × n matrix over F q such that
M K = M 0 k × ( n s ) .

2.2. Circulant and Partial Circulant Matrix

As mentioned in Section 1, we use a k-partial circulant matrix as the distortion matrix for the code with an efficient decoding algorithm. Here, we give the definition of the circulant matrix and k-partial circulant matrix induced by a random vector, x .
Definition 5.
Let x = ( x 0 , , x n 1 ) F q m n . The circulant matrix induced by x is defined as
Cir n ( x ) : = x 0 x n 1 x 1 x 1 x 0 x 2 x n 1 x n 2 x 0 F q m n × n .
The k-partial circulant matrix, Cir k ( x ) , induced by x is the first k rows of Cir n ( x ) .
In fact, a k-partial circulant matrix induced by x has column rank depending on rank of x . We have the following result, which helps us to ensure that the distortion matrix that we choose has column rank as desired:
Lemma 3.
Let x F q m n with rk q ( x ) = t ; then, colrk q ( Cir k ( x ) ) t .
Proof. 
Suppose to the contrary that colrk q ( Cir k ( x ) ) < t ; then, there exists at most t 1 columns of Cir k ( u ) that are linearly independent over F q . Consider the first row of Cir k ( x ) : { x 0 , x 1 , , x n 1 } ; then, at most t 1 elements in { x 0 , x 1 , , x n 1 } are linearly independent over F q . In other words, rk q ( x ) t 1 , which is a contradiction to rk q ( x ) = t . □

2.3. Hard Problems in Coding Theory

We describe the hard problems which our cryptosystem is based on.
Definition 6.
Rank Syndrome Decoding Problem (RSD). Let H be a full rank ( n k ) × n matrix over F q m , s F q m n k and w an integer. The Rank Syndrome Decoding Problem RSD(q,m,n,k,w) needs to determine x F q m n such that rk q ( x ) = w and H x T = s T .
The RSD problem is analogous to the classical syndrome decoding problem with Hamming metric. Recently, the RSD problem has been proven to be hard with probabilistic reduction to the Hamming setting [22].
Given G F q m k × n , a full rank parity-check matrix of H in an RSD problem and y F q m n . Then, the dual version of R S D ( q , m , n , k , w ) is to determine m F q m k and x F q m n such that rk q ( x ) = w and y = m G + x .
Notation. 
If X is a finite set, we write x $ X to denote assignment to x of an element randomly sampled from the distribution on X.
We now give the definition of Decisional version of RSD problem in its dual form:
Definition 7.
Decisional RSD Problem (DRSD). Let G be a full rank k × n matrix over F q m , m F q m k and x F q m n of rank r. The Decisional RSD Problem D R S D ( q , m , n , k , w ) needs to distinguish the pair ( m G + x , G ) from ( y , G ) where y $ F q m n .
It was proved that DRSD is hard in the worst case [20]. Therefore, DRSD is eligible to be a candidate of hard problems in coding theory. The hardness of our cryptosystem relies on the DRSD problem (refer to Section 5).

2.4. Generic Attacks on RSD

There are generally two types of generic attacks on the RSD problem, namely the combinatorial attack and algebraic attack.
Combinatorial Attack. The combinatorial approach depends on counting the number of possible supports of size r for a rank code of length n over F q m , which corresponds to the number of subspaces of dimension r in F q m . We summarize the best combinatorial attacks with their conditions and complexities in Table 1.
Algebraic Attack. The nature of the rank metric favors algebraic attacks using Gröbner bases, as they are largely independent of the value q. These attacks became efficient when q increases. We summarize the complexity of algebraic attacks in Table 2.

3. Rank of Matrix

The following are some results related to the rank of a matrix over a finite field, which is crucial for the construction of our encryption. We provide some bounds for the number of m × n matrices over F q of rank r < min { m , n } .
Proposition 1.
Denote T r ( m × n ) as the number of m × n matrices over F q of rank r; then, T r ( m × n ) = Q r ( q n ) Q r ( q m ) Q r ( q r ) , where Q r ( x ) = i = 0 r 1 x q i [25,26].
We need the following lemma to give some bounds for T r ( m × n ) .
Lemma 4.
For 0 i r 1 , if m n > r , then
q n r < 1 q i q m q n i 1 q r i 1 < q n r q q 1 .
Proof. 
Expand 1 q i q m q n i 1 q r i 1 = q m + n 2 i + 1 q n i q m i q m i ( q r i 1 ) ; it suffices for us to show that q n r < q m + n 2 i + 1 q n i q m i q m i ( q r i 1 ) < q n r q q 1 . Since m r + 1 > 0 , we have q m i + q n i q n + m r i + 1 , and thus
q m + n 2 i q m + n r i = q n + m r i q r i 1 < q m + n 2 i q m i q n i + 1 ,
which implies that
q n r < q m + n 2 i + 1 q n i q m i q m i ( q r i 1 ) .
Since 1 + i r , then q m i + q n i + q < q m + 1 i + q n + 1 i and q m + n + 1 r i q m + n 2 i . Adding these inequalities gives us
q m + n + 1 2 i + ( q m i + q n i + q + q m + n + 1 r i ) < q m + n + 1 2 i + 1 + ( q m + 1 i + q n + 1 i + q m + n 2 i ) .
We have
( q m + n 2 i + 1 q n i q m i ) ( q 1 ) = q m + n + 1 2 i + q q n + 1 i q m + 1 i q m + n 2 i 1 + q m i + q n i < q m + n + 1 2 i q m + n + 1 r i = q n r + 1 q m i q r i 1 ,
which implies that
q m + n 2 i + 1 q n i q m i q m i q r i 1 < q n r + 1 q 1 = q n r q q 1 .
This completes the proof for the inequalities. □
Now, we prove an upper bound and a lower bound for T r ( m × n ) :
Proposition 2.
Let r < m i n { m , n } ; then, the number of m × n matrices over F q of rank r is bounded by
q r ( m + n r ) < T r ( m × n ) < q r ( m + n + 1 r ) ( q 1 ) r .
Proof. 
Assuming that m n > r , recall that Q r ( x ) = i = 0 r 1 ( x q i ) , and we have
T r ( m × n ) = Q r ( q m ) Q r ( q n ) Q r ( q r ) = q m r i = 0 r 1 1 q i q m q n i 1 q r i 1 .
By Lemma 4,
q m r i = 0 r 1 q n r = q r ( m + n r ) < T r ( m × n ) < q m r i = 0 r 1 q n r q q 1 = q r ( m + n + 1 r ) ( q 1 ) r .
For n m > r , the statement could be proved by switching the term m and n in the statement and in Lemma 4. □
Proposition 3.
Assuming that m n 5 , then T n 1 ( m × n ) = ( q n 1 ) ( q 1 ) ( q m q n 1 ) T n ( m × n ) .
Proof. 
Recalling Proposition 1,
T n 1 ( m × n ) = Q n 1 ( q m ) Q n 1 ( q n ) Q n 1 ( q n 1 ) = i = 0 n 2 ( q n q i ) i = 0 n 2 ( q m q i ) i = 0 n 2 ( q n 1 q i ) = ( q n 1 ) q n 2 i = 0 n 2 ( q n 1 q i ) i = 0 n 2 ( q m q i ) ( q n 1 q n 2 ) i = 0 n 2 ( q n 1 q i ) = ( q n 1 ) i = 0 n 2 ( q m q i ) ( q 1 ) = ( q n 1 ) i = 0 n 1 ( q m q i ) ( q 1 ) ( q m q n 1 ) = ( q n 1 ) ( q 1 ) ( q m q n 1 ) T n ( m × n ) .
This completes the statement. □

4. A New Encryption Scheme

In this section, we propose our new encryption scheme which consists of a public matrix distorted by a matrix of column rank n. We will discuss some strengths of this encryption after the description of the scheme.
Presentation of the Encryption Scheme,PE = ( S PE , K PE , E PE , D PE ) .
Setup , S PE generates global parameters m > n > k > k 1 , k = k 2 and r n k 2 . The plaintext space is F q m k . Output parameters = ( m , n , k , k , r ) .
Key Generation , K PE Generate invertible matrix S $ F q m k × k . Generate a generator matrix G F q m k × n of a linear code C G with an efficient decoding algorithm C G . Dec ( · ) able to correct error up to rank r. Generate vector u $ F q m n such that rk q ( u ) = n . Generate invertible matrix T $ F q n × n . Output public key κ p u b = G p u b = S G + Cir k ( u ) T , u and private key κ s e c = ( S , G , T ) .
Encryption , E PE ( κ p u b , m ) Let m F q m k be the message to be encrypted. Generate random m s $ F q m k k satisfying rk q ( m m s ) Cir k ( u ) > 3 4 ( n k ) . Generate random e 1 , e 2 $ F q m n such that rk q ( e 1 ) = r 1 r 2 and rk q ( e 2 ) = r 2 r 2 . Compute c 1 = ( m m s ) Cir k ( u ) + e 1 and c 2 = ( m m s ) G p u b + e 2 . Output c = ( c 1 , c 2 ) as the ciphertext.
Decryption , D PE κ s e c , c Returns ( m m s ) = C G . Dec ( c 2 c 1 T ) S 1 .
Remark 1.
By Proposition 2, the number of e 1 that can be chosen is at least T r 1 m × n , which is at least q r 1 ( m + n r 1 ) . Similarly, the number of e 2 that can be chosen is at least T r 2 m × n , which is at least q r 2 ( m + n r 2 )
Correctness. The correctness of our encryption scheme relies on the decoding capability of the code C . Using the private keys, we have c 2 c 1 T = ( m m s ) G p u b + e 2 ( m m s ) Cir k ( u ) e 1 T = ( m m s ) S G + e 2 e 1 T . Since rk q e 2 e 1 T rk q e 2 + rk q e 1 T = rk q e 2 + rk q e 1 r , then the decoding algorithm can decode correctly and retrieve ( m m s ) S = C G . Dec ( c 2 c 1 T ) . Finally, compute ( m , m s ) = ( m m s ) S S 1 to recover ( m m s ) .
Strengths of the Proposed Encryption.
Recall from Section 1 that there are currently two approaches in constructing a rank metric code based encryption scheme. The idea of the first approach is to scramble the generator matrix G so that the matrix for encryption will appear to be random. As a result, the adversary is not able to decode it correctly. Therefore, the error chosen to encrypt the message in LOI17 Encryption must have rank λ times smaller than r. Nevertheless, in our construction, we can choose e 1 and e 2 with rank r 1 r 2 and r 2 r 2 , respectively. Furthermore, the matrix G in our encryption is scrambled by adding a matrix X, i.e., G p u b = S G + X , where X = Cir k ( u ) T with column rank n as proved in the following:
Corollary 1.
Let u F q m n such that rk q ( u ) = n . Then, for any invertible T F q n × n , the column rank of Cir k ( u ) T , colrk q ( Cir k ( u ) T ) = n .
Proof. 
It suffices to show that colrk q ( Cir k ( u ) ) = n . Since colrk q ( Cir k ( u ) ) rk q ( u ) = n by Lemma 3, and colrk q ( Cir k ( u ) ) n , then colrk q ( Cir k ( u ) ) = n . □
By Corollary 1, our X = Cir k ( u ) T chosen has column rank n instead of t < n . This will make the reduction of X into the form X K = ( X 0 ) (as in Lemma 2) impossible, where K is an invertible n × n matrix over F q .
On the other hand, the second approach in constructing rank metric code based encryption is to make the generator matrix G publicly known, and introduces an error e with big rank (greater than r) into the ciphertext c to ensure the decoding for retrieval of plaintext m ^ is hard, i.e., c = m ^ G + e and rk q ( e ) > r .
In fact, in our encryption scheme, the error term ( m m s ) Cir k ( u ) T + e 2 in the ciphertext c 2 has error larger than r, i.e., rk q ( m m s ) Cir k ( u ) T + e 2 > r :
Proposition 4.
Let u = ( u 0 , u 1 , , u n 1 ) F q m n such that rk q ( u ) = n . Given m ^ = ( m , m s ) F q m k such that rk q ( m , m s ) Cir k ( u ) > 3 4 ( n k ) . Then, for any e 2 F q m n such that rk q ( e 2 ) = r 2 , we have rk q ( m , m s ) Cir k ( u ) T + e 2 > r .
Proof. 
Given m ^ = ( m m s ) F q m k and rk q ( m m s ) Cir k ( u ) > 3 4 ( n k ) , then, for any e 2 F q m n such that rk q ( e 2 ) = r 2 ,
rk q ( m m s ) Cir k ( u ) T + e 2 rk q ( m m s ) Cir k ( u ) T rk q ( e 2 ) > 3 4 ( n k ) r 2 3 2 r r 2 > 3 2 r 1 2 r = r
since T F q n × n is invertible. □
By Proposition 4, we have rk q ( ( m m s ) Cir k ( u ) T + e 2 ) > r . The adversary is not able to recover the plaintext m from c 2 = ( m m s ) S G + ( ( m m s ) Cir k ( u ) T + e 2 ) even if he knows the structure of the generator matrix G. However, in practicality, G remains unknown to the adversary.

5. IND-CPA Secure Encryption

The desired security property of a public-key encryption scheme is indistinguishability under chosen plaintext attack (IND-CPA). This is normally defined by a security game that is interacting between a challenger and an adversary A . The security game is described as follows:
Set up: Given a security parameter, the challenger first runs the key generation algorithm and send κ p u b to A .
Challenge: A chooses two equal length plaintexts m 0 and m 1 ; and sends these to the challenger.
Encrypt challenge messages: The challenger chooses a random b { 0 , 1 } , computes a challenge ciphertext c = E PE ( κ p u b , m b ) and returns c to A .
Guess: A outputs a bit b { 0 , 1 } . A wins if b = b .
The advantage of an adversary A is defined as
Adv PE , A IND CPA ( λ ) = Pr [ b = b ] 1 2 .
A secure public-key encryption scheme against chosen plaintext attack is formally defined as follows:
Definition 8.
A public-key encryption scheme PE = ( S PE , K PE , E PE , D PE ) is ( t , ϵ ) -IND-CPAsecure if, for any probabilistic t-polynomial time, the adversary A has the advantage less than ϵ, that is, Adv PE , A IND CPA ( λ ) < ϵ .
Lemma 5.
Let T 1 , T 2 and F be events. Suppose the event T 2 ¬ F occurs if and only if T 1 ¬ F occurs, then | Pr [ T 2 ] Pr [ T 1 ] | Pr [ F ] (Difference Lemma [27]).
We have the following result which is important in our encryption.
Lemma 6.
Given m n , k 1 , j 2 and r < n 2 . Let x , y F q m n , then there exists e F q m n with rk q ( e ) = r r j such that rk q ( x + e ) r + 1 and rk q ( y + e ) r + 1 .
Proof. 
Let x , y F q m n such that rk q ( x ) = a and rk q ( y ) = b . We prove the statement by consider different cases for a and b.
Case 1 ( 2 j r + 1 a n and 2 j r + 1 b n ): Let e be any element in F q m n such that rk q ( e ) = r r j . Then rk q ( x + e ) rk q ( x ) rk q ( e ) = a r j 2 j r + 1 r j = r j + 1 r + 1 . Similarly, rk q ( y + e ) rk q ( y ) rk q ( e ) = b r j 2 j r + 1 r j = r j + 1 r + 1 .
Case 2 ( 1 a 2 j r and 2 j r + 1 b n ): Since rk q ( x ) = a , by Lemma 1, x = ( x 1 , , x a ) A , where x 1 , , x a are linearly independent and A is an a × n matrix over F q of rank a. Let X = { x 1 , , x a } , consider a basis B of F q m such that X B and let B e = B \ X . Note that | B e | = m a n a n 2 j r > r j r . Then, we can form e of rank r by choosing r elements from B e , and we have rk q ( x + e ) r + 1 since elements in x are linearly independent with elements in e . With this e , we have rk q ( y + e ) rk q ( y ) rk q ( e ) = b r 2 j r + 1 r r + 1 .
Case 3 ( 2 j r + 1 a n and 1 b 2 j r ): This case follows the proof of Case 2 by interchanging the term a with b, and x with y .
Case 4 ( 1 a 2 j r and 1 b 2 j r ): Since rk q ( x ) = a , by Lemma 1, x = ( x 1 , , x a ) A , where x 1 , , x a are linearly independent and A is an a × n matrix over F q of rank a. Similarly, since rk q ( y ) = b , by Lemma 1, y = ( y 1 , , y b ) B , where y 1 , , y b are linearly independent and B is an b × n matrix over F q of rank b. Let X = { x 1 , , x a } and Y = { y 1 , , y b } , consider a basis B of F q m such that X Y B and let B e = B \ ( X Y ) .
If j 3 , since | X Y | 4 j r and j n 3 n 6 r , then | B e | m 4 j r n 4 j r 6 j r 4 j r > r j > r . We can form e of rank r by choosing r j elements from B e . Thus, we have rk q ( x + e ) r + 1 since elements in x are linearly independent with elements in e , and rk q ( y + e ) r + 1 since elements in y are linearly independent with elements in e .
If j = 2 , then we further break this case into the following subcases:
1 a r 2   or   1 b r 2 : WLOG, assume that 1 a r 2 , then | B e | = m ( a + b ) n ( a + b ) n r 2 + r > r 2 r . We can form e of rank r by choosing r elements from B e . Thus, we have rk q ( x + e ) r + 1 since elements in x are linearly independent with elements in e , and  rk q ( y + e ) r + 1 since elements in y are linearly independent with elements in e .
1 + r 2 a r   and   1 + r 2 b r : WLOG, assume that a b . If Y X , then | B e | = m a n a n r > r 2 r . We can form e of rank r by choosing r elements from B e . Thus, we have rk q ( x + e ) r + 1 since elements in x are linearly independent with elements in e , and rk q ( y + e ) r + 1 since elements in y are linearly independent with elements in e . If Y X , let Z = X Y and t = | Z | . Let a = a r 2 , b = b r 2 , and v = r 2 t , pick v elements x 1 , , x v X \ Z and another v elements y 1 , , y v Y \ Z . Then, considering B N = B \ ( { x 1 , , x v , y 1 , , y v } Z ) , we have | B N | = m ( 2 v + t ) n ( 2 v + t ) = n ( r t ) = n r + t > n r > r 2 r . We can form e of rank r by choosing r elements from B N (with at least one element from B e ), and the elements picked will only decrease the rank of x and y at most by a 1 and b 1 , respectively. Therefore, we have rk q ( x + e ) a ( a 1 ) r 2 + 1 r + 1 and rk q ( y + e ) b ( b 1 ) r 2 + 1 r + 1 . □
Now, suppose the challenger adversary chooses two equal length plaintexts m 0 , m 1 F q m k and sends these to the challenger. By the following lemma, the challenger is able to choose a random m s F q m k k , e 1 , e 2 F q m n such that the conditions (2)–(7) are satisfied:
Lemma 7.
Given m 0 , m 1 F q m k and m s F q m k k , there exists e 1 , e 2 F q m n such that
rk q ( e 1 ) = r 1 r / 2 ,
rk q ( ( 0 k m s ) Cir k ( u ) + e 1 ) r 1 + 1 ,
rk q ( ( m 0 + m 1 m s ) Cir k ( u ) + e 1 ) r 1 + 1 ,
rk q ( e 2 ) = r 2 r / 2 ,
rk q ( ( 0 k m s ) G p u b + e 2 ) r 2 + 1 ,
rk q ( ( m 0 + m 1 m s ) G p u b + e 2 ) r 2 + 1 .
Proof. 
Let rk q ( ( 0 k m s ) Cir k ( u ) ) = a 1 and rk q ( ( m 0 + m 1 m s ) Cir k ( u ) = b 1 , rk q ( ( 0 k m s ) G p u b ) = a 2 and rk q ( ( m 0 + m 1 m s ) G p u b ) = b 2 . Then, apply Lemma 6 accordingly. □
Therefore, without knowing any information on m s , A is not able to distinguish between c 1 + ( m 0 0 k k ) Cir k ( u ) and c 1 + ( m 1 0 k k ) Cir k ( u ) , between c 2 + ( m 0 0 k k ) G p u b and c 2 + ( m 1 0 k k ) G p u b , as e 1 , e 2 are chosen such that Labels (2)–(7) are satisfied. For convenience sake, we have the following notation:
Notation. 
Denote E c i r ( m 0 , m 1 , m s ) as the set of all elements in F q m n that satisfy (2)–(4); and E G p u b ( m 0 , m 1 , m s ) as the set of all elements in F q m n that satisfy (5)–(7).
We now state the assumptions for which our encryption is based on:
The Decisional Rank Syndrome Decoding (DRSD) assumption. Let D be a distinguishing algorithm that takes as input a vector in F q m n and a matrix M F q m k × n , and outputs a bit. The DRSD advantage of D is defined as
Adv M , n , k DRSD ( D ) = Pr v $ F q m k , e $ E n , w , x = v M + e : D ( M , x ) = 1 Pr y $ F q m n : D ( M , y ) = 1 ,
where E n , w : = { e F q m n : rk q ( e ) = w } . The DRSD M assumption is the assumption that the advantage Adv M , n , k DRSD ( D ) is negligible for any D , i.e., Adv M , n , k DRSD ( D ) < ε M .
Now, we prove that our encryption is IND-CPA secure under DRSD Cir k ( u ) and DRSD G p u b assumptions.
Theorem 1.
Under the DRSD Cir k ( u ) and DRSD G p u b assumptions, the proposed public-key encryption schemePEisIND-CPAsecure.
Proof. 
To prove the security of the scheme, we are using a sequence of games.
Game G 0 : This is the real IND-CPA attack game against an adversary A in the definition of semantic security. We run the following attack game algorithm:
S $ F q m k × k , u $ F q m n , T $ F q n × n , κ p u b ( S G + Cir k ( u ) T , u ) , κ s e c ( S , G , T )
( m 0 , m 1 ) $ A ( κ p u b )
b $ { 0 , 1 } , m s $ F q m k k , e 1 $ E c i r ( m 0 , m 1 , m s ) , e 2 $ E G p u b ( m 0 , m 1 , m s ) ,
c 1 ( m b m s ) Cir k ( u ) + e 1 , c 2 ( m b m s ) G p u b + e 2
b ^ A ( κ p u b , c 1 , c 2 )
if b ^ = b then return 1 else return 0
Denote S 0 the event that A wins in Game G 0 . Then,
Adv PE , A IND CPA ( λ ) = Pr [ S 0 ] 1 2 .
Game G 1 : We now make one small change to G 0 . In this game, we pick a random vector y $ F q m n and replace c 1 in G 0 for E PE ( κ p u b , ( m b m s ) ) by c 1 y :
S $ F q m k × k , u $ F q m n , T $ F q n × n , κ p u b ( S G + Cir k ( u ) T , u ) , κ s e c ( S , G , T )
( m 0 , m 1 ) $ A ( κ p u b )
b $ { 0 , 1 } , m s $ F q m k k , e 1 $ E c i r ( m 0 , m 1 , m s ) , e 2 $ E G p u b ( m 0 , m 1 , m s ) ,
y $ F q m n , c 1 y , c 2 ( m b m s ) G p u b + e 2
b ^ A ( κ p u b , c 1 , c 2 )
if b ^ = b then return 1 else return 0
We denote S 1 the event that A wins in Game G 1 . Under the DRSD Cir k ( u ) assumption, the two games G 1 and G 0 are indistinguishable with Pr [ S 1 ] Pr [ S 0 ] ε Cir k ( u ) .
Game G 2 : We now make one small change to G 1 . In this game, we pick a random vector z $ F q m n and replace c 2 in G 1 for E PE ( κ p u b , ( m b m s ) ) by c 2 z :
S $ F q m k × k , u $ F q m n , T $ F q n × n , κ p u b ( S G + Cir k ( u ) T , u ) , κ s e c ( S , G , T )
( m 0 , m 1 ) $ A ( κ p u b )
b $ { 0 , 1 } , m s $ F q m k k , e 1 $ E c i r ( m 0 , m 1 , m s ) , e 2 $ E G p u b ( m 0 , m 1 , m s ) ,
y $ F q m n , c 1 y , z $ F q m n , c 2 z ,
b ^ A ( κ p u b , c 1 , c 2 )
if b ^ = b then return 1 else return 0
We denote S 2 the event that A wins in Game G 2 . Under the DRSD G p u b assumption, the two games G 2 and G 1 are indistinguishable with Pr [ S 2 ] Pr [ S 1 ] ε G p u b .
As the ciphertext challenge c = ( c 1 , c 2 ) is perfectly random, b is hidden to any adversary A without any advantage; therefore, Pr [ S 2 ] = 1 2 . We have
Adv PE , A IND CPA ( λ ) = Pr [ S 0 ] 1 2 = Pr [ S 0 ] Pr [ S 2 ] Pr [ S 0 ] Pr [ S 1 ] + Pr [ S 1 ] Pr [ S 2 ] ε Cir k ( u ) + ε G p u b .
Therefore, under the DRSD Cir k ( u ) and DRSD G p u b assumption, the proposed public-key encryption scheme PE is IND-CPA secure. □

6. Our Encryption Based on Gabidulin Codes

We propose Gabidulin code as the decodable code C in our encryption. We analyze the security of the scheme by considering possible structural attacks to cryptanalyze the system based on Gabidulin code. We also give some parameters for our proposal using Gabidulin codes.

6.1. Gabidulin Codes

First, we give the definition for Moore matrix and Gabidulin codes.
Definition 9.
A matrix G = ( G a , b ) F q m k × n is called aMoore matrixinduced by g if there exists a vector g = ( g 1 , , g n ) F q m n such that ith row of G is equal to g [ i 1 ] for i = 1 , , k , i.e., G is in the form of
G = g 1 g 2 g n g 1 [ 1 ] g 2 [ 1 ] g n [ 1 ] g 1 [ k 1 ] g 2 [ k 1 ] g n [ k 1 ] ,
where [ i ] : = q i is the ith Frobenius power. Similarly, we define G ( [ i ] ) = G a , b [ i ] . In addition, for any set S F q m n , we denote S ( l ) = { s ( [ l ] ) s S } .
Definition 10.
Let g F q m n with rk q ( g ) = n . The [ n , k ] -Gabidulin code Gab n , k ( g ) over F q m of dimension k and generator vector g is the code generated by a Moore matrix G induced by g .
The error-correcting capability of Gab n , k ( g ) is r = n k 2 . There exist efficient decoding algorithms for Gabidulin codes up to the rank error correcting capability (for example, [4]).

6.2. Structural Attack on Gabidulin Code

We examine some common existing attacks against Gabidulin codes and argue that our proposal resists these attacks.
Frobenius Weak Attack. The principle of the Frobenius weak attack (for more details, please refer to [18]) is to form an extension code C e x t from the code C p u b generated by G p u b and the error term in the ciphertext. In particular,
C e x t : = i = 0 r 1 C + e [ t i ] ,
where gcd ( t , m ) = 1 and rk q ( e ) = r . One of the necessary conditions for the complexity of solving the RSD for C to be polynomial time, via the proposed method is dim F q m C e x t n . Although in our system our error terms e 1 and e 2 both have ranks of r 2 , due to the structure of G p u b , we have dim F q m C e x t = n when C is chosen to be generated by G p u b , which makes the system secure against this attack.
Key Recovery Attack. Consider the structure of G p u b :
G p u b = S G + Cir k ( u ) T = s 11 s 1 k s k 1 s k k g 1 g n g 1 [ 1 ] g n [ 1 ] g 1 [ k 1 ] g n [ k 1 ] + u 0 u 1 u n 1 u n 1 u 0 u n 2 u n k + 1 u n k + 2 u n k t 11 t 1 n t n 1 t n n .
Note that the above linear system has k n equations, with k 2 + k n unknown variables over F q m and n 2 linear variables over F q . Now, consider G p u b [ i ] :
G p u b [ 1 ] = S [ 1 ] G [ 1 ] + Cir k ( u ) [ 1 ] T [ 1 ] = s 11 [ 1 ] s 1 k [ 1 ] s k 1 [ 1 ] s k k [ 1 ] g 1 [ 1 ] g n [ 1 ] g 1 [ 2 ] g n [ 2 ] g 1 [ k ] g n [ k ] + u 0 [ 1 ] u n 1 [ 1 ] u n 1 [ 1 ] u n 2 [ 1 ] u n k + 1 [ 1 ] u n k [ 1 ] t 11 t 1 n t n 1 t n n .
This new linear system has k n equations, with k 2 + n new unknown variables over F q m . Then, the linear systems G p u b , , G p u b [ m k ] have a total of ( m k + 1 ) k n equations with a total of ( m k + 1 ) k 2 + m n unknown variables over F q m and n 2 unknown variables over F q . However, note that solving the equations in G p u b , , G p u b [ m k ] is equivalent to solving a multivariant quadratic problem.
  Reduction Attack. Otmani, Kalachi, and Ndjeya [16] show that a matrix of the form G p u b = S G + X where X is a random k × n matrix over F q m with column rank t < r < n could be reduced into the form
G p u b = S G + X = S ( G + S 1 X ) = S ( X ¯ G ¯ ) Q ,
where X ¯ is some random k × t matrix over F q m , Q is an invertible n × n matrix over F q and G ¯ is a generator matrix of a [ n t , k ] -Gabidulin code generated by some g F q m n t . By applying Lemma 2, this reduction is possible due to the structure of X which can be written into the form of X K = ( X 0 k × ( n t ) ) , where colrk q ( X ) = t and K is an invertible n × n matrix over F q . These n t columns of zeroes enable the adversary to decompose G + S 1 X into random components, X ¯ and a Moore matrix component, G ¯ . The adversary can then apply Overbeck’s attack [10] and cryptanalyze the system.
However, in our encryption system, G p u b = S G + Cir k ( u ) T . By Corollary 1, Cir k ( u ) T has column rank n, thus the adversary is not able to rewrite Cir k ( u ) T in the form of Label (1) which has columns of zero. Therefore, G p u b could not be reduced into components of random matrix and Moore matrix of the form (9). Overbeck’s attack cannot be applied in our case.
Moore Decomposition Attack. The Moore Decomposition attack on GPT cryptosystem is the extension of the Overbeck attack [10]. Therefore, it suffices for us to show that a cryptosystem is resistant to the Moore Decomposition attack. We now briefly present the idea of Moore Decomposition attack in the following (for more details, please refer to Section 3 and Section 4 [18]):
Consider G p u b = S G + X = S ( G + S 1 X ) , since colrk q ( X ) = t < r , we have colrk q ( S 1 X ) = t . Consider a minimal column rank Moore decomposition for S 1 X = X Moore + Z , where X Moore is a Moore matrix and Z is a non-Moore component which has the lowest possible column rank. Denote s = colrk q ( Z ) . Since d R min ( Gab n , k ( g ) ) = n k + 1 s + t + 2 , by Corollary 3.12 in [18], all the elements of rank one in i = 0 s G + X ( [ i ] ) belong to the Grassman support of X. The adversary is able to find a full rank matrix U F q s × n for s s t such that supp Gr ( Z ) U F q m supp Gr ( X ) and compute H F q ( n s ) × n , a parity check matrix for U F q m . By Theorem 4.1 in [18], the adversary can recover m in polynomial time.
In our encryption system, Cir k ( u ) T has column rank n by Corollary 1. Consider a minimal column rank Moore decomposition for S 1 Cir k ( u ) T = M Moore + W , where W is a non-Moore component which has the lowest possible column rank s. Note that, in our case, t = n , thus we have d R min ( Gab n , k ( g ) ) = n k + 1 < s + n + 2 . As it requires d R min ( Gab n , k ( g ) ) > s + t + 2 to apply Corollary 3.12 in [18], this condition is not satisfied in our case, thus Theorem 4.1 in [18] could not be used to recover the encrypted message.

6.3. Proposed Parameters

We propose some parameters for our encryption scheme. We consider m > n and r 1 = r 2 = r 2 . Denote the post-quantum complexity for combinatorial and algebraic attacks as “Comb” and “Alg”, respectively. We use the complexities in Section 2.4 as the lower bound of the complexity by replacing r = r 1 = r 2 in the calculation. Following Loidreau’s application [21] of Grover’s algorithm, the exponential term in the decoding complexity should be square rooted [28]. The public key size is k n m + n m 8 log 2 ( q ) bytes. Table 3 is the parameters for 2 128 and 2 256 bits post-quantum security.
Comparison with LOI17 Encryption for similar post-quantum decoding complexity (at 2 140 ) [21]. We include the formula m 3 2 1 2 r 1 k min { m , n } n in the lower bounds as it was used in [21] to evaluate the complexities of the attack on RSD. Table 4 is the comparison for our encryption PCir and LOI17 encryption.
Our encryption has the following strengths:
i.
Our encryption has larger rank of error r 1 and r 2 .
ii.
At similar security, our key size ( 15.06 KB) is smaller than the key size of LOI17 Encryption ( 21.50  KB). Our encryption scheme can provide better post quantum security with smaller key size.

7. Conclusions

This paper has proposed a new rank metric encryption based on the difficulty of the Rank Syndrome Decoding problem. We modify the original GPT cryptosystem with different considerations for the public matrix. The public matrix is distorted by adding Cir k ( u ) T of column rank n. Our encryption scheme has IND-CPA security under the DRSD Cir k ( u ) and DRSD G p u b assumptions. Our proposal allows the choice for rank of errors to be r 1 = r 2 = r 2 . Moreover, for similar post-quantum security level of 2 140 bits, our encryption using Gabidulin codes has smaller public key size ( 15.1 KB) than the key size suggested by LOI17 Encryption ( 21.5 KB). Our encryption provides better security with smaller key size.

Author Contributions

Conceptualization, T.S.C.L. and C.H.T.; Formal Analysis, T.S.C.L. and C.H.T.; Writing—Original Draft Preparation, T.S.C.L.; Writing—Review and Editing, C.H.T.; Project Administration, C.H.T.; Funding Acquisition, C.H.T.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. McEliece, R.J. A public-key cryptosystem based on algebraic coding theory. Coding Thv. 1978, 4244, 114–116. [Google Scholar]
  2. Sidelnikov, V.M.; Shestakov, S.O. On insecurity of cryptosystems based on generalied Reed-Solomon codes. Discret. Math. Appl. 1992, 2, 439–444. [Google Scholar] [CrossRef]
  3. Baldi, M.; Chiaraluce, F. Cryptanalysis of a new instance of McEliece cryptosystem based on QC-LDPC codes. In Proceedings of the IEEE International Symposium on Information Theory, Nice, France, 24–29 June 2007; pp. 2591–2595. [Google Scholar]
  4. Gabidulin, E.M. Theory of codes with maximum rank distance. Probl. Pereda. Inf. 1985, 21, 3–16. [Google Scholar]
  5. Gabidulin, E.M.; Paramonov, A.V.; Tretjakov, O.V. Ideals over a non-commutative ring and their application in cryptology. In Proceedings of the Worshop on the Theory and Application of Cryptographic Techniques, Brighton, UK, 8–11 April 1991; pp. 482–489. [Google Scholar]
  6. Gibson, J.K. Severely denting the Gabidulin version of the McEliece public-key cryptosystem. Des. Codes Cryptogr. 1995, 6, 37–45. [Google Scholar] [CrossRef]
  7. Gabidulin, E.M.; Ourivski, A.V. Modified GPT PKC with right scrambler. Electron. Notes Discret. Math. 2001, 6, 168–177. [Google Scholar] [CrossRef]
  8. Ourivski, A.V.; Gabidulin, E.M. Column Scrambler for the GPT cryptosystem. Discret. Appl. Math. 2003, 128, 207–221. [Google Scholar] [CrossRef]
  9. Overbeck, R. Extending Gibson’s attacks on the GPT cryptosystem. In Proceedings of the International Workshop on Coding and Cryptography, Bergen, Norway, 14–18 March 2005; pp. 178–188. [Google Scholar]
  10. Overbeck, R. Structural attacks for public key cryptosystems based on Gabidulin codes. J. Cryptol. 2008, 21, 280–301. [Google Scholar] [CrossRef]
  11. Gabidulin, E.M. Attacks and counter-attacks on the GPT public key cryptosystem. Des. Codes Cryptogr. 2008, 48, 171–177. [Google Scholar] [CrossRef]
  12. Gabidulin, E.M.; Rashwan, H.; Honary, B. On improving security of GPT cryptosystems. In Proceedings of the IEEE International Symposium on Information Theory, Seoul, South Korea, 28 June–3 July 2009; pp. 1110–1114. [Google Scholar]
  13. Loidreau, P. Designing a rank metric based McEliece cryptosystem. In Proceedings of the 3rd International Workshop on Post-Quantum Cryptography, Darmstadt, Germany, 25–28 May 2010; pp. 142–152. [Google Scholar]
  14. Rashwan, H.; Gabidulin, E.M.; Honary, B. A smart approach for GPT cryptosystem based on rank codes. In Proceedings of the IEEE International Symposium on Information Theory, Austin, TX, USA, 13–18 June 2010; pp. 2463–2467. [Google Scholar]
  15. Horlemann-Trautmann, A.; Marshall, K.; Rosenthal, J. Extension of Overbeck’s Attack for Gabidulin Based Cryptosystems. Des. Codes Cryptogr. 2018, 86, 319–340. [Google Scholar] [CrossRef]
  16. Otmani, A.; Kalachi, H.T.; Ndjeya, S. Improved Cryptanalysis of Rank Metric Schemes Based on Gabidulin Codes. Des. Codes Cryptogr. 2018, 86, 1983–1996. [Google Scholar] [CrossRef]
  17. Gaborit, P.; Ruatta, O.; Schrek, J. On the complexity of the rank syndrome decoding problem. IEEE Trans. Inf. Theor. 2016, 62, 1006–1019. [Google Scholar] [CrossRef]
  18. Horlemann-Trautmann, A.; Marshall, K.; Rosenthal, J. Considerations for Rank-based Cryptosystems. In Proceedings of the IEEE International Symposium on Information Theory, Barcelona, Spain, 10–15 July 2016; pp. 2544–2548. [Google Scholar]
  19. 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]
  20. Gaborit, P.; Hauteville, A.; Phan, D.H.; Tillich, J.P. Identity-based Encryption from Codes with Rank Metric. In Proceedings of the 37th Annual International Cryptology Conference, Santa Barbara, CA, USA, 20–24 August 2017; pp. 194–224. [Google Scholar]
  21. Loidreau, P. A New Rank Metric Codes Based Encryption Scheme. In Proceedings of the 8th International Workshop on Post-Quantum Cryptography, Utrecht, The Netherlands, 26–28 June 2017; pp. 3–17. [Google Scholar]
  22. Gaborit, P.; Zémor, G. On the hardness of the decoding and the minimum distance problems for rank codes. IEEE Trans. Inf. Theor. 2016, 62, 7245–7252. [Google Scholar] [CrossRef]
  23. Aragon, A.; Gaborit, P.; Hauteville, A.; Tillich, J.P. A New Algorithm for Solving the Rank Syndrome Decoding Problem. In Proceedings of the 2018 IEEE International Symposium on Information Theory, Vail, CO, USA, 17–22 June 2018; pp. 2421–2425. [Google Scholar]
  24. Goubin, L.; Courtois, N.T. Cryptanalysis of the TTM cryptosystem. In Proceedings of the 6th International Conference on the Theory and Application of Cryptology and Information Security, Kyoto, Japan, 3–7 December 2000; pp. 44–57. [Google Scholar]
  25. Landsberg, G. Über eine Azahibestimmung und eine damit zusammengängende Reihe. J. Reine Angew. Math. 1893, 111, 87–88. [Google Scholar]
  26. Laksov, D.; Thorup, A. Counting Matrices with Coordinates in Finite Fields and of Fixed Rank. Math. Scand. 1994, 74, 19–33. [Google Scholar] [CrossRef]
  27. Shoup, V. Sequences of Games: A Tool for Taming Complexity in Security Proofs. Available online: http://www.shoup.net/papers/games.pdf (accessed on 7 October 2018).
  28. Bernstein, D.J. Grover vs. McEliece. In Proceedings of the 3rd International Workshop on Post-Quantum Cryptography, Darmstadt, Germany, 25–28 May 2010; pp. 73–80. [Google Scholar]
Table 1. Best combinatorial attacks on RSD with their conditions and complexities.
Table 1. Best combinatorial attacks on RSD with their conditions and complexities.
ConditionsBest Combinatorial Attacks
m < n , m > k + 1 + r O min ( n k ) 3 m 3 q r ( k + 1 ) m n m , r 3 m 3 q ( r 1 ) ( k + 1 ) [19,23]
m < n , m k + 1 + r O min ( n k ) 3 m 3 q r ( k + 1 ) m n m , ( k + r ) 3 r 3 q ( m r ) ( r 1 ) [19,23]
m n , s 0 O min ( n k ) 3 m 3 q min r ( k + 1 ) m n m , r k , ( r 1 ) ( k + 1 ) , r 3 m 3 q ( r 1 ) ( k + 1 ) [17,19,23]
m n , s = 0 O min ( n k ) 3 m 3 q min r ( k + 1 ) m n m , ( r 1 ) k , r 3 m 3 q ( r 1 ) ( k + 1 ) [17,19,23]
Table 2. Best Algebraic Attacks on RSD with their conditions and complexities.
Table 2. Best Algebraic Attacks on RSD with their conditions and complexities.
AttacksConditionsComplexity
CG-Kernel [24] O k 3 m 3 q r k m n
GRS-Basic Approach [17] n ( r + 1 ) ( k + 1 ) 1 O ( ( r + 1 ) ( k + 1 ) 1 ) 3
GRS-Hybrid Approach [17] ( r + 1 ) ( k + 1 ) ( n + 1 ) r k O r 3 k 3 q r ( r + 1 ) ( k + 1 ) ( n + 1 ) r
Table 3. Parameters of our cryptosystem for 2 128 and 2 256 bits post-quantum security.
Table 3. Parameters of our cryptosystem for 2 128 and 2 256 bits post-quantum security.
qmnk r 1 r 2 rPublic Key SizePost-Quantum Security
PC-I2716722111122 13.68 KB133
PC-II2858316161633 14.99 KB134
PC-III210310129181836 39.01 KB262
PC-IV211310726202040 40.81 KB268
Table 4. Comparison of parameters between our cryptosystem and LOI17 Encryption.
Table 4. Comparison of parameters between our cryptosystem and LOI17 Encryption.
Encryptionqmnk r 1 r 2 rPublic Key SizePost-Quantum Security
PC-V2757321131326 15.06 KB141
PC-VI2858318161632 16.76 KB144
LOI17-I21289024--1121.50 KB140
LOI17-II212812080--451.00 KB141

Share and Cite

MDPI and ACS Style

Lau, T.S.C.; Tan, C.H. A New Technique in Rank Metric Code-Based Encryption. Cryptography 2018, 2, 32. https://doi.org/10.3390/cryptography2040032

AMA Style

Lau TSC, Tan CH. A New Technique in Rank Metric Code-Based Encryption. Cryptography. 2018; 2(4):32. https://doi.org/10.3390/cryptography2040032

Chicago/Turabian Style

Lau, Terry Shue Chien, and Chik How Tan. 2018. "A New Technique in Rank Metric Code-Based Encryption" Cryptography 2, no. 4: 32. https://doi.org/10.3390/cryptography2040032

APA Style

Lau, T. S. C., & Tan, C. H. (2018). A New Technique in Rank Metric Code-Based Encryption. Cryptography, 2(4), 32. https://doi.org/10.3390/cryptography2040032

Article Metrics

Back to TopTop