Improved Cryptanalysis of Rank Metric Schemes Based on Gabidulin Codes
We prove that any variant of the GPT cryptosystem which uses a right column scrambler over the extension field as advocated by the works of Gabidulin et al. with the goal to resist to Overbeck’s structural attack are actually still vulnerable to that attack. We show that by applying the Frobenius operator appropriately on the public key, it is possible to build a Gabidulin code having the same dimension as the original secret Gabidulin code but with a lower length. In particular, the code obtained by this way correct less errors than the secret one but its error correction capabilities are beyond the number of errors added by a sender, and consequently an attacker is able to decrypt any ciphertext with this degraded Gabidulin code. We also considered the case where an isometric transformation is applied in conjunction with a right column scrambler which has its entries in the extension field. We proved that this protection is useless both in terms of performance and security. Consequently, our results show that all the existing techniques aiming to hide the inherent algebraic structure of Gabidulin codes have failed.
Introduction
The emergence of the post-quantum cryptography was mainly enabled thanks to Shor who proved that the discrete log problem and the factorization can be solved in polynomial time with an hypothetical quantum computer. Recent progress in solving the discrete log problem, and the fact that important industrial investments are made to build a quantum computer have aroused concerns about the foundations of the real-world cryptography, prompting people to seek serious post-quantum alternatives.
Among all the existing solutions, McEliece scheme is one of the oldest post-quantum public key encryption scheme. The innovative McEliece’s approach rests on the use of the theory of error-correcting codes to design a one-way function of the form $`\mv \mapsto \mv \Gm + \ev`$ where $`\Gm`$ generates a vector subspace of $`\F_2^n`$ and $`\ev`$ is a random binary error vector of Hamming weight $`\tp`$. McEliece used binary Goppa codes which are well-known for having a very fast decoding algorithm. Designed in 1978, it has withstood several attack attempt but it suffers from an important drawback due to the enormous size of the public keys. In order to solve this problem, several modifications of the scheme have been proposed among which the use of rank metric codes instead of the Hamming metric. The first rank-metric scheme was proposed in by Gabidulin, Paramonov and Tretjakov which is now called the GPT cryptosystem. This scheme can be seen as an analogue of the McEliece scheme public key cryptosystem based on the class of Gabidulin codes. An important operation in the key generation of the GPT cryptosystem is the “hiding” phase where the secret generator matrix $`\Gm`$ undergoes a transformation to mask the inherent algebraic structure of the associated Gabidulin code. This transformation is a probabilistic algorithm that adds some randomness to its input. Originally, the authors in proposed to use a distortion transformation that takes $`\Gm`$ and outputs the public matrix $`\Gp = \Sm(\Gm + \Xm)`$ where $`\Xm`$ is a random matrix with a prescribed rank $`t_{\Xm}`$ and $`\Sm`$ is an invertible matrix. The presence of a distortion matrix has however an impact: the sender has to add an error vector whose rank weight is $`\tp = t - t_{\Xm}`$ where $`t`$ is the error correction capability of the secret underlying Gabidulin code. Hence, roughly speaking, the hiding phase publishes a degraded code in terms of error correction.
Gabidulin codes are often seen as equivalent of Reed-Solomon codes in the Hamming metric and like them, they are highly structured. That is the reason why their use in the GPT cryptosystem has been the subject to several attacks. Gibson was the first to prove the weakness of the system through a series of successful attacks . Following this failures, the first works which modified the GPT scheme to avoid Gibson’s attack were published in . The idea is to hide further the structure of Gabidulin code by considering isometries for the rank metric. Consequently, a right column scrambler $`\Pm`$ is introduced which is an invertible matrix with its entries in the base field $`\fq`$ while the ambient space of the Gabidlun code is $`\fqm^n`$. But Overbeck designed in a more general attack that dismantled all the existing modified GPT cryptosystems. His approach consists in applying an operator $`\Lambda_i`$ which applies $`i`$ times the Frobenius operation on the public generator matrix $`\Gp`$. Overbeck observed that the dimension increases by $`1`$ each time the Frobenius is applied. He then proved that by taking $`i = n - k - 1`$ the codimension becomes $`1`$ if $`k`$ is the rank of $`\Gp`$ (which also the dimension of the associated Gabidulin code). This phenomenon is a clearly distinguishing property of a Gabidulin code which cannot be encountered for instance with a random linear code where the dimension would increase by $`k`$ for each use of the Frobenius operator.
Overbeck’s attack uses crucially two important facts, namely the column scrambler matrix $`\Pm`$ is defined on the based field $`\fq`$ and the codimension of $`\Lambda _{n-k-1}\left(\Gp \right)`$ is equal to $`1`$. Several works then proposed to resist to this attack either by taking special distortion matrix so that the second property is not true as in , or by taking a column scrambler matrix defined over the extension field $`\fqm`$ as in .
In this paper, we study the security of the second approach. We show that even if the column scrambler is defined on the extension field as it is done in , it is still possible to recover a secret Gabidulin code using precisely Overbeck’s technique. Our analysis shows that by applying the operator $`\Lambda_i`$ with $`i < n - k - 1`$, we obtain a Gabidulin code whose error correction $`t^*`$ is indeed strictly less than the error correction of the secret original Gabidulin code but, $`t^*`$ is strictly greater than the number of added errors $`\tp`$. In other words, an attacker is still able to decrypt any ciphertext and consequently, all the scheme presented in are actually not resistant to Overbeck’s attack unlike what it was claimed by the authors. When the attack is implemented with the recommended parameters of , our experimental results show that the attack is very fast (less than one second). In particular, our results outperform those given in which were for a while the best attacks against the schemes of . Note that the attacks of are generic decoding algorithms whereas our approach is directed towards recovering the structure of a Gabidulin code.
Preliminary Notion
The finite field with $`q`$ elements is denoted by $`\F_q`$ where $`q`$ is a power of a prime number. For any subfield $`\K \subseteq \F`$ of a field $`\F`$ and for any positive integers $`k`$ and $`n`$ such that $`k \le n`$, the $`\K`$-vector space spanned by $`\bv_1,\dots{},\bv_k`$ where each $`\bv_i \in \F^n`$ is denoted by $`\sum_{i=1}^k \K \; \bv_i`$. The set of matrices with $`m`$ rows and $`n`$ columns and entries in $`\F`$ is denoted by $`\MS{m}{n}{\F}`$. The group of invertible matrices of size $`n`$ over $`\F`$ is denoted by $`\GL_n(\F)`$.
Let $`\Am`$ be a matrix from $`\MS{m}{n}{\F}`$ where $`m`$ and $`n`$ are positive integers. The rank weight of $`\Am`$ denoted by $`\norm{\Am}`$ is the rank of $`\Am`$. The rank distance between two matrices $`\Am`$ and $`\Bm`$ from $`\MS{m}{n}{\F}`$ is defined as $`\norm{\Am - \Bm}`$.
It is a well-known fact that the rank distance on $`\MS{m}{n}{\F}`$ has the properties of a metric. But in the context of the rank-metric cryptography, this rank distance is rather defined for vectors $`\xv \in \fqm^n`$. The idea is to consider the field $`\fqm`$ as an $`\fq`$-vector space and hence any vector $`\xv \in \fqm^n`$ as a matrix from $`\MS{m}{n}{\fq}`$ by decomposing each entry $`x_i \in \fqm`$ into an $`m`$-tuple of $`\fq^m`$ with respect to an arbitrary basis of $`\fqm`$. The rank weight of $`\xv`$ also denoted by $`\norm{\xv}`$ is then its rank1 viewed as a matrix of $`\MS{m}{n}{\fq}`$. Hence, it is possible to define a new metric on $`\fqm^n`$ that we recall explicitly in the following.
Let us consider the finite field extension $`\fqm/\fq`$ of degree $`m \ge 1`$. The rank weight of a vector $`\xv = \left(x_{1},x_{2},...,x_{n}\right)`$ in $`\fqm^n`$ denoted by $`\norm \xv`$ is the dimension of the $`\fq`$-vector space generated by $`\{x_1,\dots{},x_n\}`$
\begin{equation}
\norm \xv = \dim \sum_{i=1}^n \fq x_i.
\end{equation}
Similarly, the column rank over $`\fq`$ for any matrix $`\Mm`$ from $`\MS{k}{n}{\fqm}`$ is also denoted by $`\norm \Mm`$.
Note again that $`\norm \Mm`$ represents $`\dim \sum_{i}^n \fq \Mm_{i}`$ where $`\Mm_1,\dots{},\Mm_n`$ are the columns of $`\Mm`$, that is to say the maximum number of columns that are linearly independent over $`\fq`$ when each entry is written as an $`m`$-tuple of $`\fq^m`$ with respect to a basis of $`\fqm`$. Equivalently, $`\norm{\Mm}`$ is also the maximal number of rows that are linearly independent over $`\fq`$.
Let $`\Mm`$ be a matrix from $`\MS{k}{n}{\fqm}`$ and set $`s = \norm{\Mm}`$ with $`s < n`$. There exist then $`\Mm^*`$ in $`\MS{k}{s}{\fqm}`$ with $`\norm{\Mm^*} = s`$ and $`\Tm`$ in $`\GL_n(\fq)`$ such that:
\begin{equation}
\Mm \Tm= (\Mm^* \mid \ZZ)
\end{equation}
In particular for any $`\xv \in \fqm^{n}`$ such that $`\norm{\xv} = s`$ there exists $`\Tm`$ in $`\GL_n(\fq)`$ for which $`\xv \Tm=(\xv^* \mid \ZZ)`$ where $`\xv^* \in \fqm^{s}`$ and $`\norm{\xv^*}=s`$.
This permits to state the following corollary.
For any $`\Mm \in \MS{k}{n}{\fqm}`$ and for any $`\mv \in \fqm^k`$
\begin{equation}
\norm{\mv\Mm} \leq \norm{\Mm}
\end{equation}
For any $`x`$ in $`\fqm`$ and for any integer $`i`$, the quantity $`x^{q^{i}}`$ is denoted by $`x^{[i]}`$. This notation is extended to vectors $`\xv^{[i]} = (x_{1}^{[i]},\dots{},x_{n}^{[i]})`$ and matrices $`\Mm^{[i]}= \left ( m_{ij}^{[i]} \right)`$.
We also give two lemmas that will be useful in the sequel.
For any $`\Am \in \MS{\ell}{s}{\fqm}`$ and $`\Bm \in \MS{s}{n}{\fqm}`$, and for any $`\alpha`$ and $`\beta`$ in $`\fq`$:
\left( \alpha \Am + \beta \Bm \right)^{\left[i\right]} = \alpha \Am^{\left[i\right]} + \beta \Bm^{\left[i\right]}
~~~\text{ and }~~~
\left(\Am \Bm \right)^{\left[i\right]}=\Am^{\left[i\right]} \Bm^{\left[i\right]}.
In particular if $`\Sm`$ is in $`\GL_n(\fqm)`$ then $`\Sm^{\left[i\right]}`$ also belongs to $`\GL_n(\fqm)`$.
Let $`\Pm=% \left( \begin{matrix} \Am & \ZZ \\ \Cm & \Dm% \end{matrix} \right)%`$ where $`\Am`$ and $`\Dm`$ are square matrices. Then $`\Pm`$ is non singular if and only if $`\Am`$ and $`\Dm`$ are non singular and the inverse of $`\Pm`$ is:
\Pm^{-1}=%
\left(
\begin{matrix}
\Am^{-1} & \ZZ \\
-\Dm^{-1}\Cm \Am^{-1} & \Dm^{-1}%
\end{matrix}
\right)%
Let us recall that a (linear) code of length $`n`$ over a finite field $`\F`$ is a linear subspace of $`\F^n`$. Elements of a code are called codeword. A matrix whose rows form a basis of a code is called a generator matrix. The dual of a code $`\CC\subset \F^n`$ is the linear space denoted by $`\dual{\CC}`$ containing vectors $`\zv \in \F^n`$ such that:
\forall \cv \in \CC, \;\; \sum_{i=1}^n c_i z_i = 0.
An algorithm $`D`$ is said to decode $`t`$ errors in a code $`\CC \subset \F^n`$ if for any $`\cv \in \CC`$ and for any $`\ev \in \F^n`$ such that $`\norm \ev \le t`$ we have $`D(\cv + \ev) = \cv`$. Generally, we call such a vector $`\ev`$ an error vector. We introduce now an important family of codes known for having an efficient decoding algorithm.
Let $`\gv \in \fqm^{n}`$ such that $`\norm{\gv}=n`$. The $`(n,k)-`$Gabidulin code denoted by $`\gab{k}{\gv}`$ is the code with a generator matrix $`\Gm`$ where:
\begin{equation}
\label{gab:genmat}
\Gm=
\begin{pmatrix}
g_{1}^{[0]} & \cdots{} & g_{n}^{[0]} \\
\vdots{} & & \vdots{} \\
g_{1}^{[k-1]} & \cdots{} & g_{n}^{[k-1]}
\end{pmatrix}.
\end{equation}
Gabidulin codes are known to possess a fast decoding algorithm that can decode errors of weight $`t`$ provided that $`t \leq \lfloor \frac{1}{2}(n-k) \rfloor`$. Furthermore the dual of a Gabidulin code $`\gab{k}{\gv}`$ is also a Gabidulin code.
We end this section by an important well-known property about Gabidulin codes.
Let $`\gab{k}{\gv}`$ be a Gabidulin code of length n with generator matrix $`\Gm`$ and $`\Tm \in \GL_n(\fq)`$. Then $`\Gm\Tm`$ is a generator matrix of the Gabidulin code $`\gab{k}{\gv \Tm}`$
Proof. From Lemma [lem:frob_prop], we have $`\left(\gv \Tm \right)^{\left[ i \right]}=\gv^{{\left[ i \right]}}\Tm`$. 0◻ ◻
Rank Metric Encryption Schemes
The concept of rank metric cryptography appeared in where the authors propose a public key encryption scheme using codes in a rank metric framework. They adapted McEliece’s general idea developed for the Hamming metric to the rank metric context. The key tool in the design is to focus on linear codes having a fast rank-metric decoding algorithm like Gabidulin codes. In this section, we recall the general principle that underlies all the existing rank encryption metric schemes.
During the key generation phase, the integers $`k`$, $`\ell`$, $`n`$ and
$`m`$ are chosen such that $`k
However, Gibson proved that the GPT encryption scheme is vulnerable to a polynomial time key recovery attack. Consequently, Gabidulin and Ourivski proposed in a reparation by considering a more general hiding transformation combining a distortion matrix $`\Xm`$ and a right column scrambler $`\Pm`$. The hidden generator matrix is more precisely of the form:
\begin{equation}
\label{GPTX1X2}
\distor(\Gm) = \Sm \left(\Xm_{1} \mid \Gm + \Xm_{2}\right) \Pm
\end{equation}
where $`\Xm_{1} \in \MS{k}{\ell}{\fqm}`$,
$`\Xm_{2} \in \MS{k}{n}{\fqm}`$ such that $`\norm{\Xm_{2}} We now state our first result about Gabidulin and Ouriviski reparation
which proves that we can always consider $`\Xm_2 = 0`$. Let $`\Gp`$ be as
in [GPTX1X2] and assume that
$`\norm{\Xm_{2}} = t_2`$. There exist $`\Pm^* \in \GL_{n+\ell}(\fq)`$,
$`\Xm^* \in \MS{k}{(\ell + t_2)}{\fqm}`$ and a matrix $`\Gm^*`$ that
generates an $`(n - t_2)-`$Gabidulin code $`\gab{k}{\gv^*}`$ such that Furthermore, the error correction capability $`t^*`$ of
$`\gab{k}{\gv^*}`$ is equal to $`t - \frac{1}{2}t_2`$, and hence
$`t^* > \tp`$. Proof. Since $`\norm{\Xm_2} = t_2`$ then by
Proposition [prop:rank_reduction] there
exist $`\Tm_2`$ in $`\GL_{n}(\fq)`$ and $`\Xm'_2`$ in
$`\MS{k}{t_2}{\fqm}`$ such that
$`\Xm_2 \Tm_2 =\left( \Xm'_2 \mid \ZZ \right)`$. So by letting $`\Tm =
\begin{pmatrix}
\Im_\ell & \ZZ \\
\ZZ & \Tm_2
\end{pmatrix}`$ we then have: where $`\Gm' = \Gm \Tm_2`$ and $`\Qm = \Tm^{-1} \Pm`$. Note that
$`\Gm'`$ generates the $`(n,k)-`$Gabidulin code $`\gab{k}{\gv'}`$ with
$`\gv' = \gv \Tm_2 = (g'_1,\dots{},g'_n)`$. Let us decompose $`\Gm'`$ as
$`(\Gm'_1 \mid \Gm'_2)`$ where $`\Gm'_1 \in \MS{k}{t_2}{\fqm}`$ and
$`\Gm'_2 \in \MS{k}{(n - t_2)}{\fqm}`$ we then have: By setting $`\Xm = \left(\Xm_1 \mid \Gm'_1 + \Xm'_2 \right)`$ we get
[eq:transf] and $`\Gm'_2`$ generates the
$`(n-t_2,k)-`$Gabidulin $`\gab{k}{\gv'_2}`$ where
$`\gv'_2 = (g'_{t_2+1},\dots{},g'_n)`$. The error-correction capability
$`t^*`$ of $`\gab{k}{\gv'_2}`$ is given by
$`t^* = \frac{1}{2} ( n-t_2-k) = t - \frac{1}{2}t_2`$ which implies
$`t^* > t - t_2`$. 0◻ ◻ The first important consequence of
Proposition [prop:XtoX2=0] is the possibility for
a cryptanalyst who is able to derive $`(\Sm, \Gm^*, \Pm^*)`$ from
$`\Gp`$ so that [eq:transf] is satisfied to decipher any
ciphertext $`\cv=\mv \Gp + \ev`$ with $`\norm{\ev} \leq \tp`$. Thus any
successful structural attack on the description
[eq:transf] leads to a successful attack
on [GPTX1X2] and conversely since
[eq:transf] corresponds to the special
case where $`\Xm_2= \ZZ`$. Therefore the security of the scheme given is
equivalent to the one of a scheme where $`\Xm_2= \ZZ`$. We recall important algebraic properties about Gabidulin codes. It will
explain why many attacks occur when the underlying code is a Gabidulin
one. One key property is that Gabidulin codes can be easily
distinguished from random linear codes. This singular behavior has been
presicely exploited by Overbeck to mount attacks. For any integer $`i \ge 0`$ let
$`\Lambda _{i} : \MS{k}{n}{\fqm} \longrightarrow \MS{i k }{n}{\fqm}`$
be the $`\fq`$-linear operator that maps any $`\Mm`$ from
$`\MS{k}{n}{\fqm}`$ to $`\Lambda_i(\Mm)`$ where by definition: For any code $`\code{G}`$ generated by a matrix $`\Gm`$ we denote by
$`\Lambda_i(\code{G})`$ the code generated by $`\Lambda_i(\Gm)`$. Let $`\gv`$ be in
$`\fqm^n`$ with $`\norm{\gv} = n`$ with $`n \leq m`$. For any integers
$`k`$ and $`i`$ such that $`k \leq n`$ and $`i\leq n-k-1`$ we have: The importance of $`\Lambda _{i}`$ becomes clear when one compares the
dimension of the code spanned by $`\Lambda _{i}(\Gm)`$ for a randomly
drawn matrix $`\Gm`$ and the dimension obtained when $`\Gm`$ generates a
Gabidulin code. if $`\CA \subset \fqm^n`$ is a code generated by a random matrix from
$`\MS{k}{n}{\fqm}`$ then with a high probability: In the case of a Gabidulin code, we get a different situation as
explained by
Proposition [prop:dsg_gab]. Thus there is property
that is computable in polynomial time distinguishes a Gabidulin code
from a random one. This can be used in a cryptanalysis context. In fact,
Overbeck has proven that, for a public matrix $`\Gm_p`$ given by
equation [GPTX1X2] with $`\Xm_2 = \ZZ`$ (in
particular all the entries of $`\Pm`$ belong to $`\fq`$), it is possible
(under certain conditions) to find in polynomial time an alternative
decomposition of $`\Gm_p`$ of the from
$`\Sm^* \left( \Xm^* \mid \Gm^* \right) \Pm^*`$ using the operator
$`\Lambda_i`$. This decomposition allows to decrypt any ciphertext
computed with $`\Gm_p`$. The reader can refer to
Appendix 18 for details concerning
attack. The key reason explaining its success is given by the following
proposition. Let us consider $`\ell`$, $`k`$ and $`n`$ be positive integers with
$`\ell < n`$ and $`1 \leq k < n`$. Let $`\Gm`$ be in $`\MS{k}{n}{\fqm}`$
as a generator matrix of a Gabidulin code, and $`\Xm`$ be a randomly
drawn matrix from $`\MS{k}{\ell}{\fqm}`$. Denote $`\CA`$ as the code
defined by the generator matrix $`\left( \Xm \mid \Gm\right)`$. Then for
any integer $`i \ge 0`$ where $`d = \min \Big \{ (i+1)k, \ell \Big \}`$. Note that by construction $`\ell \le n`$ and in Overbeck’s attack, the
integer $`i`$ is equal to $`n-k - 1`$ so that we have both $`d = \ell`$
and, with high probability, the upper bound in
[ineq:dsg] is actually an equality, namely This implies that the dimension of
$`\dual{\Lambda _{i}\left(\CA \right)}`$ is equal to $`1`$. This fact is
then harnessed in to recover an equivalent Gabidulin code which enables
to decrypt any ciphertext. Assume that the public key is
$`\Gp = \Sm \left(\Xm \mid \Gm \right) \Pm`$ with
$`\Xm \in \MS{k}{\ell}{\fqm}`$, $`\Pm \in \GL_{n+\ell}(\fq)`$ and
$`\Gm`$ generates an $`(n,k)-`$Gabdidulin code. If
$`dim \Lambda _{n-k-1}\left(\CA \right)`$ is equal to $`1`$ then it is
possible to recover with $`O\left( (n+\ell)^3 \right)`$ field operations
alternative matrices $`\Xm^* \in \MS{k}{\ell}{\fqm}`$,
$`\Pm^* \in \GL_{n+\ell}(\fq)`$ and $`\Gm^*`$ which generate an
$`(n,k)-`$Gabdidulin code such that Overbeck’s attack uses crucially two important facts (see
Appendix 18 for more details): the
column scrambler matrix $`\Pm`$ is defined on the based field $`\fq`$,
and the codimension of $`\Lambda _{n-k-1}\left(\CA \right)`$ is $`1`$.
Several works propose to resist to Overbeck’s attack either by taking
special distortion matrix so that the second property is not true as in
, or by taking a column scrambler matrix defined over the extension
field $`\fqm`$ as in . In this paper, we solely concentrate on the
second approach. In new generic decoding algorithms are presented
whereas our approach is directed towards recovering the structure of a
Gabidulin code. We will prove that all the existing schemes can be
broken simply with the techniques developed in . In this section, we focus on the reparation given in . This paper is the
first to consider a column scrambler matrix defined over the extension
field. We describe only the key generation and decryption steps of the
scheme since the encryption operation is not modified. To the best of
our knowledge, no structural attack has been mounted against this
description. The author claimed that Overbeck’s attack is not
applicable. But in
Proposition [prop:crypt:rep], we prove that it
is still possible to find an alternative private key using precisely
Overbeck’s technique. Pick at random $`\gv`$ from $`\fqm^n`$ such that $`\norm{\gv} = n`$
and let $`\Gm`$ be a generator matrix of the Gabidulin code
$`\gab{k}{\gv}`$. Pick at random $`\Xm \in \MS{k}{\ell}{\fqm}`$, $`\Sm`$ in
$`\GL_k(\fqm)`$ and $`\Pm`$ in $`\GL_{n+\ell}(\fqm)`$ such that
there exist $`\Qm_{11}`$ in $`\MS{\ell}{\ell}{\fqm}`$, $`\Qm_{21}`$
in $`\MS{n}{\ell}{\fqm}`$, $`\Qm_{22}`$ in $`\MS{n}{n}{\fq}`$ and
$`\Qm_{12}`$ in $`\MS{\ell}{n}{\fqm}`$ with
$`\norm{\Qm_{12}}=s < t`$ so that The public key is $`(\Gp,\tp)`$ with $`\tp = t - s`$ and We have
$`\cv \Pm^{-1}=\mv \Sm \left(\Xm \mid \Gm \right) + \ev \Pm^{-1}`$.
Suppose that $`\ev= \left(\ev_1 \mid \ev_2 \right)`$ where
$`\ev_1 \in \fqm^\ell`$ and $`\ev_2 \in \fqm^n`$. We have: It is clear that $`\norm{\ev_1 \Qm_{12} + \ev_2 \Qm_{22}} \leq
\norm{\ev_1 \Qm_{12}} + \norm{\ev_2 \Qm_{22}} \leq s + t-s`$. So the
plaintext $`\mv`$ is recovered by applying the decoding algorithm only
to the last $`n`$ components of $`\cv\Pm^{-1}`$. We state our main result proving that Overbeck’s attack is still
successful by considering this time the dual of
$`\Lambda _{i}\left(\Gp \right)`$ with $`i = n - s - k - 1`$. There exist
$`\Xm^* \in \MS{k}{\ell +s}{\fqm}`$,
$`\Pm^* \in \GL_{n+ \ell}\left(\F_q \right)`$ and a generator matrix
$`\Gm^*`$ that defines an $`(n-s,k)-`$Gabidulin code $`\gab{k}{\gv^*}`$
such that Furthermore, the error correction capability $`t^*`$ of
$`\gab{k}{\gv^*}`$ is equal to $`t - \frac{1}{2}s`$, and hence
$`t^* > \tp`$. The proof of this proposition requires to prove the following lemma. There exist
$`\Pm_{11}`$ in $`\GL_{\ell+s}(\fqm)`$, $`\Pm_{21}`$ in
$`\MS{(n-s)}{(\ell+s)}{\fqm}`$ and $`\Pm_{22}`$ in $`\GL_{n-s}(\fq)`$
such that with $`\Lm`$ and $`\Rm`$ belonging to $`\GL_{n}(\fq)`$. Proof. By assumption $`\norm{\Qm_{12}}=s < t`$ so there exist $`\Rm`$
in $`\GL_{n}(\fq)`$ and $`\Qm_{12}^{\prime}`$ in $`\MS{\ell}{s}{\fqm}`$
such that $`\Qm_{12}\Rm = \left(\Qm_{12}^{\prime} \mid \ZZ \right)`$. We
set
$`\Qm_{22}\Rm = \left(\Qm_{22}^{\prime} \mid \Qm_{23}^{\prime} \right)`$
where $`\Qm^{\prime}_{22}`$ in $`\MS{n}{s}{\fq}`$ and
$`\Qm^{\prime}_{23}`$ in $`\MS{n}{n-s}{\fq}`$. Note that we necessarily
have $`\norm{\Qm_{23}^\prime} \le n-s`$ and therefore there exists
$`\Lm \in \GL_{n}(\fq)`$ such that $`\Lm
\Qm_{23}^{\prime}=\left( \begin{matrix}
\ZZ\\
\Qm_{23}^{\prime \prime}
\end{matrix}
\right)`$ with $`\Qm_{23}^{\prime \prime} \in \MS{n-s}{n-s}{\F_q}`$.
Thus one can rewrite Observe that there exist $`\Qm_{11}^{\prime \prime}`$ in
$`\MS{\ell+ s}{\ell+s}{\fqm}`$ and $`\Qm_{21}^{\prime \prime}`$ in
$`\MS{n-s}{\ell+s}{\fqm}`$ so that we can write Note that $`\Qm_{23}^{\prime \prime}`$ and $`\Qm_{11}^{\prime \prime}`$
are necessarily invertible and thanks to
Lemma [InvBlockMat] the proof can be
terminated. 0◻ ◻ The proof of Lemma
[lem:decOfP] is still true if it is
assumed that $`\norm{\Qm_{12}} < s`$, and note that by construction
$`s`$ is necessarily less than or equal to $`\ell`$. We are now able to give a proof of
Proposition [prop:crypt:rep]. Proposition [prop:crypt:rep]. We keep the same
notation as those of Lemma
[lem:decOfP]. Let us rewrite $`\Gm \Lm`$
as $`\left(\Gm_1^\prime \mid \Gm_2^\prime \right)`$ where
$`\Gm_1^\prime`$ in $`\MS{k}{s}{\fqm}`$ and $`\Gm_2^\prime`$ in
$`\MS{k}{n-s}{\fqm}`$ and set now
$`\Ym= \left(\Xm \mid \Gm_1^\prime \right)`$. Observe that
$`\Gm_2^\prime`$ generates an $`(n-s, k)-`$Gabidulin code. We then have where $`\Xm^* = \Ym \Pm_{11} + \Gm_2^\prime \Pm_{21}`$ and
$`\Gm^* = \Gm_2^\prime \Pm_{22}`$ is a generator matrix of an
$`(n-s, k)-`$Gabidulin code. Hence if we set
$`\Pm^*=\left( \begin{matrix}
\Im_\ell & ~\ZZ \\
\ZZ & ~\Rm
\end{matrix}
\right)`$ we then have rewritten $`\Gp`$ as expected in
[eq:1st]. Lastly remark that $`\tp = t - s`$
and $`t^*=\frac{1}{2} (n-s-k) =\frac{1}{2} (n-k)- \frac{1}{2}s > t-s`$.
0◻ ◻ In Gabidulin, Rashwan and Honary proposed an other variant where the
column scrambler has its entries defined on the extension field. We will
prove that their scheme is actually a special case of and because of
that, it suffers the same weakness. So, unlike what it is claimed by the
authors, Overbeck’s attack is still successful. Pick at random $`\gv \in \fqm^n`$ such that $`\norm{\gv} = n`$ and
let $`\Gm \in \MS{k}{n}{\fqm}`$ be a generator matrix of the
Gabidulin code $`\gab{k}{\gv}`$. Let $`\tp`$ be an integer $`< t`$
and set $`a \eqdef t - \tp`$. Pick at random $`\Sm`$ in $`\GL_k(\fqm)`$ and
$`\Pm \in \GL_{n}(\fqm)`$ such that where $`\Qm_{1} \in \MS{n}{a}{\fqm}`$ while
$`\Qm_{2} \in \MS{n}{n - a}{\fq}`$ with $`t=\frac{1}{2}(n-k)`$ and
$`\tp < t`$. The public key is $`(\Gp,\tp)`$ with First, we have $`\cv \Pm^{-1}= \mv \Sm \Gm + \ev \Pm^{-1}`$ and
$`\ev \Pm^{-1}=\left(\ev \Qm_{1}\mid \ev \Qm_{2}\right)`$. Observe that
$`\norm{\ev \Qm_{1}}\leq a`$ and
$`\norm{\ev \Qm_{2}} \leq \norm \ev \leq \tp`$, and since
$`a = t - \tp`$ we hence have We now prove that Overbeck’s attack is still successful by considering
for this scheme the dual of $`\Lambda _i\left(\Gp \right)`$ with
$`i = n - a - k - 1`$. We first introduce the matrices
$`\Qm_{11} \in \MS{a}{a}{\fqm}`$, $`\Qm_{21} \in \MS{n-a}{a}{\fqm}`$,
$`\Qm_{12} \in \MS{a}{n-a}{\fq}`$ and
$`\Qm_{22} \in \MS{n-a}{n-a}{\fq}`$ such that Note that $`\norm{\Qm_{12}} \leq a < t`$. Furthermore, by looking at the
proof of Lemma [lem:decOfP], we can see that this lemma
and Proposition [prop:crypt:rep] are still true even
if $`\norm{\Qm_{12}} \leq s`$. Hence, the scheme given in is nothing
else but a special case of where $`\Xm = \ZZ`$ and $`\Qm_{12}`$ has all
its entries in the base field $`\fq`$. We have therefore the following
corollary. There exist
$`\Pm^* \in \GL_{n}(\fq)`$ and $`\Xm \in \MS{k}{a}{\fqm}`$ such that where $`\Gm^*`$ is a generator matrix of an $`(n-a,k)-`$Gabidulin code
whose error correction capability $`t^*`$ is equal to
$`\lfloor \frac{1}{2} ( t + \tp) \rfloor`$, and hence $`t^* > \tp`$. Proof. Apply
Proposition [prop:crypt:rep] with $`\ell = 0`$
and $`s = a`$. Note that the error correction capability $`t^*`$ of the
code $`\Gm^*`$ is equal to $`\frac{1}{2} ( n - a - k)`$ that is to say 0◻ ◻ We summarised in
Table 1 our experimental results obtained
with Magma V2.21-6. We give the time to find an alternative column
scrambler matrix for each parameter proposed by the authors in and . In
particular, our results outperform those given in . Parameters from where $`n = m`$ and at least 80-bit security. In the authors proposed to reinforce the security by taking a more
general column scrambler matrix of the form $`\Tm \Pm`$ where $`\Tm`$ is
an invertible matrix with its entries in $`\fq`$ and $`\Pm`$ is defined
over the extension field as it is done in . We shall consider
Gabidulin’s general reparation since are particular cases but we
emphasize that this new protection was only defined in . Assuming that
$`\Pm`$ is then as in
[First desc of P in FqN],
the public key is then of the form The decryption of a ciphertext $`\cv`$ starts by calculating
$`\cv \Pm^{-1} \Tm^{-1} =\mv \Sm \left(\Xm \mid \Gm \right) + \ev \Pm^{-1} \Tm^{-1}`$
where $`\ev`$ is of rank weight $`\tp`$ and $`s = \norm{\Qm_{12}}`$. The
retrieving of the original plaintext $`\mv`$ is possible provided that
$`\tp = t -\ell - s`$ because
$`\cv \Pm^{-1}\Tm^{-1}=\mv \Sm \left(\Xm \mid \Gm \right) + \ev \Pm^{-1}\Tm^{-1}`$.
Suppose that $`\ev= \left(\ev_1 \mid \ev_2 \right)`$ where
$`\ev_1 \in \fqm^\ell`$ and $`\ev_2 \in \fqm^n`$, then we also have It is clear that $`\norm{\ev_1 \Qm_{12} + \ev_2 \Qm_{22}} \leq
\norm{\ev_1 \Qm_{12}} + \norm{\ev_2 \Qm_{22}} \leq s + \tp`$ and hence
it implies that Therefore the plaintext $`\mv`$ is recovered by applying the decoding
algorithm only to the last $`n`$ components of $`\cv\Pm^{-1}\Tm^{-1}`$.
But in this case, the rank weight of the last $`n`$ components of
$`\ev \Pm^{-1} \Tm^{-1}`$ is not necessarily less than or equal to
$`\tp+s`$ but rather to $`\tp+s+\ell`$. Consequently, the decryption
will always succeed if it assumed that $`\tp= t - s - \ell`$ otherwise
the decoding may fail. Hence, we see why this new reparation was just
proposed for the case where $`\ell = 0`$ i.e. without any distorsion
matrix since otherwise its deteriorates the performances of the original
scheme. We now study more precisely the security this protection might bring in
for the general scheme of . First, rewrite $`\Tm`$ as where $`\Tm_{11} \in \MS{\ell}{\ell}{\fq}`$,
$`\Tm_{21} \in \MS{n}{\ell}{\fq}`$, $`\Tm_{12} \in \MS{\ell}{n}{\fq}`$
and $`\Tm_{22} \in \MS{n}{n}{\fq}`$. On the other hand, by
Lemma [lem:decOfP] the matrix $`\Pm`$ can be
expressed as [eq:generalPm]. We can find then
$`\Xm_{1}`$ in $`\MS{k}{(\ell+s)}{\fqm}`$ and $`\Xm_{2}`$ in
$`\MS{k}{(n - s)}{\fqm}`$ such that where $`\Gm_1^*`$ generates an $`(n-s,k)-`$Gabidulin code and
$`\norm{\Xm_2} = \norm{\Xm} \leq \ell`$. From
Proposition [prop:XtoX2=0] and by taking
$`t_2 = \ell`$, there exist $`\Pm^* \in \GL_{n+\ell}(\fq)`$,
$`\Xm^* \in \MS{k}{(2\ell+s)}{\fqm}`$ and $`\Gm^*`$ that generates an
$`(n - s - \ell)-`$Gabidulin code such that We have therefore proven the following proposition. Assume that
$`\Gp=\Sm \left( \Xm \mid \Gm \right) \Tm \Pm`$ where
$`\Tm \in \GL_{n+\ell}(\fq)`$ and $`\Pm`$ has the form
[First desc of P in FqN].
There exist then $`\Pm^*`$ in $`\GL_{n+\ell}(\fq)`$, $`\Xm^*`$ in
$`\MS{k}{(2\ell + s)}{\fqm}`$ and a matrix $`\Gm^*`$ that generates an
$`(n - s - \ell,k)-`$Gabidulin code $`\gab{k}{\gv^*}`$ such that Furthermore, the correction capability $`t^*`$ of $`\gab{k}{\gv^*}`$ is
greater than $`t - \frac{1}{2}(\ell +s)`$. In particular $`t^* > \tp`$. This result shows that actually this new proposed protection does not
improve the security even when applied with the scheme for which a
distortion matrix $`\Xm`$ is used. An example where this protection was
used and turns out to be useless is the scheme given in . The apparition of Overbeck’s attack prompted some authors to invent
reparations to hide more the structure of the Gabidulin codes. One trend
advocated the use of a right column scrambler with entries in the
extension field as it is done in . Our analysis shows that these
reparations aiming at resisting Overbeck’s structural attack do fail
precisely against it. By applying appropriately Overbeck’s technique, we
were able to construct a Gabidulin code that has the same dimension as
the original one but with a lower length. Hence, we obtain a degraded
Gabidulin code in terms of error correction capabilities but we prove
that the degradation does not forbid the error correction of any
ciphertext. Furthermore, when the attack is implemented, the practical
results we obtained outperform those given in which were up to our paper
the best attacks against the schemes of . We also considered in
Section 16 the case where an isometric
transformation is applied in conjunction with a right column scrambler
which has its entries in the extension field. We proved that this
protection is useless both in terms of performance and security. The other kind of reparation is followed by the series of works in which
propose to resist to Overbeck’s attack by taking a distortion matrix
$`\Xm`$ so that the codimension of $`\Lambda _{n-k-1}\left(\CA \right)`$
is equal to $`a`$ where $`a`$ is sufficiently large to prevent an
exhaustive search. But these reparations were cryptanalyzed in . Furthermore, since the attack in only considers column scrambler
matrices on the base field, one may try to avoid it by combining the
reparations proposed in with those of . Nevertheless, our paper shows
that the security of can be reduced to the one with a column scrambler
with entries in the base field. Consequently, using our results and then
applying the general attack of may break this “patched” scheme. Let assume that $`\Gp=\Sm\left( \Xm \mid \Gm\right) \Pm`$ is the public
generator matrixthat generates $`\Cp`$ with
$`\Pm \in \GL_{n+\ell}(\fq)`$, $`\Xm \in \MS{k}{\ell}{\fqm}`$ and
$`\Gm`$ generates a Gabidulin code $`\gab{k}{\gv}`$ where
$`\norm{\gv} = n`$. Observe that $`\Lambda _{i}(\Gp)`$ can be written as Since $`\Lambda _{i}\left(\Gm\right)`$ generates
$`\gab{k+i}{\gv}= \gab{n-1}{\gv}`$, there exists
$`\Sm^\prime \in \GL_{k(i+1)i}(\fqm)`$ such that where $`\Xm^* \in \MS{(n-1)}{\ell}{\fqm}`$,
$`\Xm^{**} \in \MS{(k(i+1)-n+1)}{\ell}{\fqm}`$ and
$`\Gm_{n-1} \in \MS{(n-1)}{n}{\fqm}`$ generates $`\gab{n-1}{\gv}`$.
Using [reduction1], one can deduce that by
taking $`i = n - k - 1`$ In the particular case where $`\rank (\Xm^{**})= \ell`$ then
$`\dim{\Lambda _{i}(\Cp)}=n+\ell-1`$ and thus
$`\dim{\Lambda _{i}(\Cp)^\perp} = 1`$. Furthermore, if $`\hv`$ is a non
zero vector from $`\dual{\gab{n-1}{\gv}}`$ and we set
$`\hv^*=\left(\ZZ \mid \hv \right)\left( \Pm^{-1} \right)^T`$ then under
the assumption that $`\rank (\Xm^{**})= \ell`$ we have Let $`\vv \in \Lambda_{n-k-1}(\Cp)^{\perp}`$ with $`\vv \ne \ZZ`$. Any
matrix $`\Tm \in \GL_{n+ \ell}(\fq)`$ that satisfies
$`\vv\Tm =\left(\ZZ \mid \hv^{\prime }\right)`$ with
$`\hv^\prime \in \fqm^n`$ is an alternative column scrambler matrix,
that is to say, there exist $`\Zm`$ in $`\MS{k}{\ell}{\fqm}`$ and
$`\Gm^*`$ that generates a Gabidulin code $`\gab{k}{\gv^*}`$ such that Proof. From [eq:dualOver] there exists
$`\alpha \in \fqm`$ such that
$`\vv= \alpha \hv^* = (\ZZ \mid \alpha \hv)\left( \Pm^{-1} \right)^T`$
where $`\hv`$ is a non zero vector of $`\dual{\gab{n-1}{\gv}}`$. Let
$`\Tm \in \GL_{n+\ell}(\fq)`$ such that
$`\vv\Tm^{T}=(\ZZ \mid \hv^{\prime })`$ and consider the matrices
$`\Am \in \MS{\ell}{\ell}{\fq}`$ and $`\Dm \in \MS{n}{n}{\fq}`$ so that We have then the following equalities It comes out from [reduction2] that $`\hv \Bm^T=\ZZ`$ and
hence $`\Bm = \ZZ`$ since $`\norm \hv = n`$. So we can write
$`\Tm \Pm^{-1} =
\left(
\begin{matrix}
\Am & \ZZ \\
\Cm & \Dm
\end{matrix}
\right)`$ and using
Lemma [InvBlockMat], $`\Pm \Tm^{-1} =
\left(
\begin{matrix}
\Am^\prime & \ZZ \\
\Cm^\prime & \Dm^\prime
\end{matrix}
\right)`$. Consequently, where $`\Gm^* = \Gm \Dm^\prime`$ is a generator matrix of an
$`\left(n,k \right)-`$Gabidulin code. So $`\Tm`$ is an alternative
column scrambler matrix for the system. ◻ This rank is of course independent of the choice of the basis of
$`\fqm`$ since the rank of a matrix is invariant when multiplied by
an invertible matrix. ↩︎\begin{equation}
\label{eq:transf}
\Gp = \Sm \left (\Xm^* \mid \Gm^* \right) \Pm^*.
\end{equation}
\begin{eqnarray*}
\Gp = \Sm \left(\Xm_{1} \mid \Gm + \Xm_{2}\right) \Pm
&= & \Sm \left(\Xm_{1} \mid \Gm \Tm_2 + \Xm_{2} \Tm_2 \right) \Tm^{-1} \Pm \\
&= & \Sm \left(\Xm_{1} \mid \Gm' + \Xm_{2} \Tm_2 \right) \Qm
\end{eqnarray*}
\Gm' + \Xm_{2} \Tm_2
= \left( \Gm'_1 + \Xm'_{2} \mid \Gm'_2 \right )
Distinguishing Properties of Gabidulin Codes
\begin{equation}
\Lambda_i(\Mm) \eqdef
\begin{pmatrix}
\Mm^{[0]} \\
\vdots{} \\
\Mm^{[i]}
\end{pmatrix}.
\end{equation}
\begin{equation}
\Lambda _{i}\big(\gab{k}{\gv}\big) = \gab{k+i}{\gv}.
\end{equation}
\begin{equation}
\dim \Lambda _{i}(\CA) =
\min\big \{ n,(i+1)k\big\}
\end{equation}
\begin{equation}
\label{ineq:dsg}
k+i ~ \leq ~ \dim \Lambda _{i}\left(\CA \right) ~ \leq ~ k + i + d
\end{equation}
\dim \Lambda _{n-k-1}\left(\CA \right) = k + (n - k - 1) + d = n + \ell - 1.
\Gp = \Sm \left(\Xm^* \mid \Gm^* \right) \Pm^*
Gabidulin’s General Reparation
Key generation.
\begin{equation}
\label{First desc of P in FqN}
\Pm^{-1}=\left( \begin{matrix}
\Qm_{11} & \Qm_{12}\\
\Qm_{21} & \Qm_{22}
\end{matrix} \right).
\end{equation}
\begin{equation}
\label{GPTP1P2EF1}
\Gp=\Sm \left( \Xm \mid \Gm \right) \Pm.
\end{equation}
Decryption.
\begin{equation}
\ev \Pm^{-1}=
\left(
\ev_1 \Qm_{11} + \ev_2 \Qm_{21} \mid \ev_1 \Qm_{12} + \ev_2 \Qm_{22}\right)
\end{equation}
\begin{equation}
\label{eq:1st}
\Gp= \Sm \left(\Xm^* \mid \Gm^* \right)\Pm^*.
\end{equation}
\begin{equation}
\label{eq:generalPm}
\Pm =
\left( \begin{matrix}
\Im_\ell & ~\ZZ \\
\ZZ & ~\Lm
\end{matrix}
\right)
\left( \begin{matrix}
\Pm_{11} & ~\ZZ\\
\Pm_{21} & ~\Pm_{22}
\end{matrix} \right)
\left( \begin{matrix}
\Im_\ell & ~\ZZ \\
\ZZ & ~\Rm
\end{matrix}
\right)
\end{equation}
\begin{eqnarray}
\left( \begin{matrix}
\Im_\ell & ~\ZZ \\
\ZZ & ~\Lm
\end{matrix}
\right)
%
\Pm^{-1}
%
\left( \begin{matrix}
\Im_\ell & ~\ZZ \\
\ZZ & ~\Rm
\end{matrix}
\right)
&=&
\left( \begin{matrix}
\Im_\ell & ~\ZZ \\
\ZZ & ~\Lm
\end{matrix}
\right)
\left( \begin{matrix}
\Qm_{11} & \Qm_{12}\\
\Qm_{21} & \Qm_{22}
\end{matrix} \right)
\left( \begin{matrix}
\Im_\ell & ~\ZZ \\
\ZZ & ~\Rm
\end{matrix}
\right)
\\
&=&
\left( \begin{matrix}
\Qm_{11} & ~\Qm_{12}^\prime & ~\ZZ \\
\Lm \Qm_{21} & ~\Lm \Qm_{22}^\prime & ~\Lm \Qm_{23}^\prime
\end{matrix} \right)
\end{eqnarray}
\left( \begin{matrix}
\Im_\ell & ~\ZZ \\
\ZZ & ~\Lm
\end{matrix}
\right)
%
\Pm^{-1}
%
\left( \begin{matrix}
\Im_\ell & ~\ZZ \\
\ZZ & ~\Rm
\end{matrix}
\right)
=
\left( \begin{matrix}
\Qm_{11}^{\prime \prime} & \ZZ\\
\Qm_{21}^{\prime \prime} & \Qm_{23}^{\prime \prime}
\end{matrix} \right).
\left(\Xm \mid \Gm \right)
\left( \begin{matrix}
\Im_\ell & ~\ZZ \\
\ZZ & ~\Lm
\end{matrix}
\right)
\left( \begin{matrix}
\Pm_{11} & ~\ZZ\\
\Pm_{21} & ~\Pm_{22}
\end{matrix} \right)
=
\left(\Ym \mid \Gm_2^\prime \right)
\left( \begin{matrix}
\Pm_{11} & ~\ZZ\\
\Pm_{21} & ~\Pm_{22}
\end{matrix} \right)
=
\left(\Xm^* \mid \Gm^* \right)
Gabidulin, Rashwan and Honary Variant
Key generation.
\begin{equation}
\Pm^{-1}=\left( \Qm_{1} \mid \Qm_{2}\right)
\end{equation}
\begin{equation}
\Gp=\Sm \Gm \Pm.
\end{equation}
Decryption.
\norm{\ev \Pm^{-1}}
\leq
\norm{\ev \Qm_{1}} + \norm{\ev \Qm_{2}}
\leq t.
\begin{equation}
\Pm^{-1}=\left( \begin{matrix}
\Qm_{11} & \Qm_{12}\\
\Qm_{21} & \Qm_{22}
\end{matrix} \right).
\end{equation}
\begin{equation}
\Gp=\Sm(\Xm \mid \Gm^*) \Pm^*
\end{equation}
t^* = t - \frac{1}{2} ( t - \tp) = \frac{1}{2} (t + \tp) > \tp.
$`m`$
$`k`$
$`t`$
$`\tp`$
Time (second)
$`20`$
$`10`$
$`5`$
$`4`$
$`\leq 1`$
$`28`$
$`14`$
$`7`$
$`3`$
$`\leq 1`$
$`28`$
$`14`$
$`7`$
$`4`$
$`\leq 1`$
$`28`$
$`14`$
$`7`$
$`5`$
$`\leq 1`$
$`28`$
$`14`$
$`7`$
$`6`$
$`\leq 1`$
$`20`$
$`10`$
$`5`$
$`4`$
$`\leq 1`$
Discussion On a More General Column Scrambler
\begin{equation}
\Gp=\Sm \left( \Xm \mid \Gm \right) \Tm \Pm.
\end{equation}
\begin{equation}
\ev \Pm^{-1} \Tm^{-1}=
\left(
\ev_1 \Qm_{11} + \ev_2 \Qm_{21} \mid \ev_1 \Qm_{12} + \ev_2 \Qm_{22}\right)\Tm^{-1}.
\end{equation}
\norm{\ev \Pm^{-1} \Tm^{-1}} = \norm{\ev \Pm^{-1}} \leq \norm{ \ev_1 \Qm_{11} + \ev_2 \Qm_{21} } + \norm{\ev_1 \Qm_{12} + \ev_2 \Qm_{22}} \leq \ell + s + \tp.
\begin{equation}
\Tm =\left( \begin{matrix}
\Tm_{11} & \Tm_{12}\\
\Tm_{21} & \Tm_{22}
\end{matrix} \right)
\end{equation}
\begin{eqnarray*}
\left( \Xm \mid \Gm \right) \Tm\Pm
&=& \left ( \Xm_1 \mid \Xm_2 + \Gm_1^* \right)
\end{eqnarray*}
\begin{equation}
\left( \Xm \mid \Gm \right) \Tm \Pm = \left (\Xm^* \mid \Gm^* \right) \Pm^*.
\end{equation}
\Gp
=
\Sm (\Xm^* \mid \Gm^*)\Pm^*.
Conclusion
Overbeck’s Attack
\begin{eqnarray}
\Lambda _{i}\left(\Gp \right)
& = &
\Sm_{\rm ext}%
\Big ( \begin{matrix}
\Lambda _{i}\left(\Xm\right) \mid \Lambda _{i}\left(\Gm\right)%
\end{matrix}%
\Big )
\Pm
~~\text{ where } ~
\Sm_{\rm ext}\eqdef
\begin{pmatrix}
\Sm^{[0]} & & \ZZ\\
& \ddots{} & \\
\ZZ & & \Sm^{[i]}
\end{pmatrix}.
\end{eqnarray}
\begin{equation}
\label{reduction1}
\Sm^\prime \Lambda _{i}\left(\Gp \right) =
\left(
\begin{matrix}
\Xm^* & \Gm_{n-1} \\
\Xm^{**} & \ZZ
\end{matrix}
\right)
\Pm
\end{equation}
\dim{\Lambda _{n - k - 1}(\Cp)} = n-1+ \rank (\Xm^{**}).
\begin{equation}
\label{eq:dualOver}
\Lambda_{n - k - 1}(\Cp)^{\perp}= \fqm \hv^*.
\end{equation}
\Gp=\Sm\left( \Zm \mid \Gm^* \right) \Tm.
\Tm \Pm^{-1} =
\left(
\begin{matrix}
\Am & \Bm \\
\Cm & \Dm
\end{matrix}
\right).
\begin{equation}
\label{reduction2}
\tilde{\hv} \Tm^T = \left(\ZZ \mid \alpha \hv\right)\left(\Pm^{-1}\right)^T \Tm^T =\left(\ZZ \mid \alpha \hv\right)\left(\Tm \Pm^{-1}\right)^T = (\ZZ \mid \hv^{\prime})
\end{equation}
\Gm_{pub}\Tm^{-1}=\Sm\left(\Xm \mid \Gm \right)\left(
\begin{matrix}
\Am^\prime & \ZZ \\
\Cm^\prime & \Dm^\prime
\end{matrix}
\right)
=\Sm\left(\Zm \mid \Gm^* \right)