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 be a finite field with elements where q is a power of prime. In addition, let be a basis of over the base field .
Definition 1. Alinear codeof length n and dimension k is a linear subspace of the vector space .
Given a matrix M with coefficients in a field , the rank of M, is the dimension of the row span of M as a vector space over . We denote the row span of a matrix M over by , or when the context is clear. We now define the rank metric of a vector on :
Definition 2. Let . The rank of in , denoted by is the rank of the matrix where .
Equivalently, the rank of is the dimension over of the subspace of which is spanned by the coordinates of . 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 :
Definition 3. Let . The column rank of M over , denoted by is the maximum number of linearly independent columns over .
We now state a few results related to the rank metric which are important prerequisites for results in later sections.
Lemma 1. Let such that , then there exists with and with such that . This decomposition is unique up to -operation between and U [
15].
Definition 4. Let with and decomposition as in Lemma 1. We call U a Grassman support matrix for and the Grassman support of .
Lemma 2. Let and [
16]
. Then, there exists with and K an invertible matrix over such that 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,
.
Definition 5. Let . The circulant matrix induced by is defined asThe k-partial circulant matrix, induced by is the first k rows of . In fact, a k-partial circulant matrix induced by has column rank depending on rank of . 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 with ; then, .
Proof. Suppose to the contrary that ; then, there exists at most columns of that are linearly independent over . Consider the first row of : ; then, at most elements in are linearly independent over . In other words, , which is a contradiction to . □
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 matrix over , and w an integer. The Rank Syndrome Decoding Problem RSD(q,m,n,k,w) needs to determine such that and .
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 a full rank parity-check matrix of H in an RSD problem and . Then, the dual version of is to determine and such that and .
Notation. If X is a finite set, we write to denote assignment to 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 matrix over , and of rank r. The Decisional RSD Problem needs to distinguish the pair from where .
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
, which corresponds to the number of subspaces of dimension
r in
. 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.
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.
generates global parameters , and . The plaintext space is . Output parameters .
Generate invertible matrix . Generate a generator matrix of a linear code with an efficient decoding algorithm able to correct error up to rank r. Generate vector such that . Generate invertible matrix . Output public key and private key .
Let be the message to be encrypted. Generate random satisfying . Generate random such that and . Compute and . Output as the ciphertext.
Returns .
Remark 1. By Proposition 2, the number of that can be chosen is at least , which is at least . Similarly, the number of that can be chosen is at least , which is at least
Correctness. The correctness of our encryption scheme relies on the decoding capability of the code . Using the private keys, we have . Since , then the decoding algorithm can decode correctly and retrieve . Finally, compute to recover .
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
and
with rank
and
respectively. Furthermore, the matrix
G in our encryption is scrambled by adding a matrix
X, i.e.,
, where
with column rank
n as proved in the following:
Corollary 1. Let such that . Then, for any invertible , the column rank of , .
Proof. It suffices to show that . Since by Lemma 3, and , then . □
By Corollary 1, our chosen has column rank n instead of . This will make the reduction of X into the form (as in Lemma 2) impossible, where K is an invertible matrix over .
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 with big rank (greater than r) into the ciphertext to ensure the decoding for retrieval of plaintext is hard, i.e., and .
In fact, in our encryption scheme, the error term in the ciphertext has error larger than r, i.e., :
Proposition 4. Let such that . Given such that . Then, for any such that , we have .
Proof. Given
and
, then, for any
such that
,
since
is invertible. □
By Proposition 4, we have . The adversary is not able to recover the plaintext from 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
. The security game is described as follows:
Set up: Given a security parameter, the challenger first runs the key generation algorithm and send to . Challenge: chooses two equal length plaintexts and ; and sends these to the challenger. Encrypt challenge messages: The challenger chooses a random , computes a challenge ciphertext and returns to . Guess: outputs a bit . wins if . |
The advantage of an adversary
is defined as
A secure public-key encryption scheme against chosen plaintext attack is formally defined as follows:
Definition 8. A public-key encryption scheme is -IND-CPAsecure if, for any probabilistic t-polynomial time, the adversary has the advantage less than ϵ, that is, .
Lemma 5. Let , and be events. Suppose the event occurs if and only if occurs, then (Difference Lemma [
27])
. We have the following result which is important in our encryption.
Lemma 6. Given , , and . Let , then there exists with such that and .
Proof. Let such that and . We prove the statement by consider different cases for a and b.
Case 1 ( and ): Let be any element in such that . Then . Similarly, .
Case 2 ( and ): Since , by Lemma 1, , where are linearly independent and A is an matrix over of rank a. Let , consider a basis of such that and let . Note that . Then, we can form of rank by choosing elements from , and we have since elements in are linearly independent with elements in . With this , we have .
Case 3 ( and ): This case follows the proof of Case 2 by interchanging the term a with b, and with .
Case 4 ( and ): Since , by Lemma 1, , where are linearly independent and A is an matrix over of rank a. Similarly, since , by Lemma 1, , where are linearly independent and B is an matrix over of rank b. Let and , consider a basis of such that and let .
If , since and , then . We can form of rank by choosing elements from . Thus, we have since elements in are linearly independent with elements in , and since elements in are linearly independent with elements in .
If , then we further break this case into the following subcases:
: WLOG, assume that , then . We can form of rank by choosing elements from . Thus, we have since elements in are linearly independent with elements in , and since elements in are linearly independent with elements in .
: WLOG, assume that . If , then . We can form of rank by choosing elements from . Thus, we have since elements in are linearly independent with elements in , and since elements in are linearly independent with elements in . If , let and . Let , , and , pick v elements and another v elements . Then, considering , we have . We can form of rank by choosing elements from (with at least one element from ), and the elements picked will only decrease the rank of and at most by and , respectively. Therefore, we have and . □
Now, suppose the challenger adversary chooses two equal length plaintexts
and sends these to the challenger. By the following lemma, the challenger is able to choose a random
,
such that the conditions (
2)–(
7) are satisfied:
Lemma 7. Given and , there exists such that Proof. Let and , and . Then, apply Lemma 6 accordingly. □
Therefore, without knowing any information on
,
is not able to distinguish between
and
, between
and
, as
,
are chosen such that Labels (
2)–(
7) are satisfied. For convenience sake, we have the following notation:
Notation. Denote
as the set of all elements in
that satisfy (
2)–(
4); and
as the set of all elements in
that satisfy (
5)–(
7).
We now state the assumptions for which our encryption is based on:
The Decisional Rank Syndrome Decoding (DRSD) assumption. Let
be a distinguishing algorithm that takes as input a vector in
and a matrix
, and outputs a bit. The DRSD advantage of
is defined as
where
. The DRSD
assumption is the assumption that the advantage
is negligible for any
, i.e.,
.
Now, we prove that our encryption is IND-CPA secure under DRSD and DRSD assumptions.
Theorem 1. Under the DRSD and DRSD assumptions, the proposed public-key encryption schemePEisIND-CPAsecure.
Proof. To prove the security of the scheme, we are using a sequence of games.
Game : This is the real
IND-CPA attack game against an adversary
in the definition of semantic security. We run the following attack game algorithm:
, , , ,
, , , , ,
if then return 1 else return 0 |
Denote
the event that
wins in Game
. Then,
Game : We now make one small change to
. In this game, we pick a random vector
and replace
in
for
by
:
, , , ,
, , , ,
if then return 1 else return 0 |
We denote the event that wins in Game . Under the DRSD assumption, the two games and are indistinguishable with .
Game : We now make one small change to
. In this game, we pick a random vector
and replace
in
for
by
:
, , , ,
, , , , , ,
if then return 1 else return 0 |
We denote the event that wins in Game . Under the DRSD assumption, the two games and are indistinguishable with .
As the ciphertext challenge
is perfectly random,
b is hidden to any adversary
without any advantage; therefore,
. We have
Therefore, under the DRSD and DRSD assumption, the proposed public-key encryption scheme PE is IND-CPA secure. □