  This paper presents two modifications for Loidreau's code-based cryptosystem.
Loidreau's cryptosystem is a rank metric code-based cryptosystem constructed by
using Gabidulin codes in the McEliece setting. Recently a polynomial-time key
recovery attack was proposed to break Loidreau's cryptosystem in some cases. To
prevent this attack, we propose the use of subcodes to disguise the secret
codes in Modification \Rmnum{1}. In Modification \Rmnum{2}, we choose a random
matrix of low column rank over $\mathbb{F}_q$ to mix with the secret matrix.
According to our analysis, these two modifications can both resist the existing
structural attacks. Additionally, we adopt the systematic generator matrix of
the public code to make a reduction in the public-key size. In additon to
stronger resistance against structural attacks and more compact representation
of public keys, our modifications also have larger information transmission
rates.
