• Aucun résultat trouvé

Les codes Low Rank Parity Check (LRPC)

N/A
N/A
Protected

Academic year: 2021

Partager "Les codes Low Rank Parity Check (LRPC)"

Copied!
7
0
0

Texte intégral

(1)

HAL Id: hal-01571233

https://hal.archives-ouvertes.fr/hal-01571233

Preprint submitted on 8 Aug 2017

HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Public Domain

Abdul Karim Yazbek, Jean-Pierre Cances, Vahid Meghdadi

To cite this version:

Abdul Karim Yazbek, Jean-Pierre Cances, Vahid Meghdadi. Les codes Low Rank Parity Check (LRPC). 2017. �hal-01571233�

(2)

Les codes Low Rank Parity Check

Yazbek Abdul Karim, Jean-Pierre Cances, Vahid Meghdadi,

Univ. Limoges, CNRS, XLIM, UMR 7252, F-87000 Limoges, Fr, e-mail : abdel-karim.yazbeck@ensil.unilim.fr

Résumé

Dans cet article, nous introduisons une nouvelle famille de codes à métriques de rang : Les codes LRPC.

Nous développons les équations de sa construction algébrique et nous proposons un algorithme de décodage probabiliste efficace. Cette famille de codes peut être considérée comme l’équivalent des codes Low Density Parity Check (LDPC) classiques pour la métrique de rang.

1. LOWRANKPARITYCHECKCODES(LRPC)

L’idée de ces codes est de généraliser l’approche des codes LDPC classiques pour la distance deHamming à la métrique de rang. Il y a une analogie entre matrices de faible densité et de matrices à faible rang.

Dans ce chapitre, le travail se base seulement sur l’article [1] de Philippe Gaborit.

Définition 1. Un code LRPC est un code de rangd, de longueurnet de dimensionk dansFqm, ce code a commeH(hij)une matrice de parité de taille(nk)×ntels que le sous espace vectoriel deFqm généré par ses coefficientshij est de dimension au plusd. Nous appelons cette dimension le poids deH. En notant F le sous-espace vectoriel de Fqm généré par les coefficients hij de H, on note {F1, F2, . . . , Fd} une de ses bases.

2. ÉCRITURE DES ÉQUATIONS DU SYNDROME DANS LE CORPSFq POUR LES CODESLRPC

La structure particulière des codes LRPC permet d’exprimer formellement les équations du syndrome dans Fqmen équations dans la baseFq, il permet d’obtenir un algorithme de décodage très efficace, que nous allons voir dans la prochaine section. Nous décrivons dans ce qui suit la façon d’obtenir une telle transformation, en particulier, nous introduisons une matriceAHr, qui sera utiliser pour la procédure de décodage.

Supposons que l’erreure(e1, ..., en)de poidsrse situe dans un espace d’erreurEde dimensionrgénéré par une base{E1, E2, . . . , Er}, puis tout les ei(1in)peuvent etre ecrits sous la formeei=Pr

j=1eijEj. La matriceH= (hij)est réalisé de telle sorte que hij appartiennent à un espace F de dimensiondgénéré par{F1, F2, . . . , Fd}, alors pour tout1ink,1j n,hij =Pd

l=1hijlFl, avechijl Fq. Supposons en outre que la dimension de l’espace< F1E1, F1E2, .., F1Er, F2E1, ..., FdEr>est exactement rd, il est alors possible d’exprimer les équations de syndromeH.et=sdansFqm en équations dans la base

(3)

Fq, en exprimant formellement les ei dans la base {E1, E2, . . . , Er} et les coordonnées du syndrome dans le produit des bases< F1E1, F1E2, .., F1Er, F2E1, ..., FdEr>.

Plus formellement, il existe une matriceAHr

de taille (nk)rd×nr dans Fq tels que les équations du syndromeH.et=s dans Fqm deviennent un système d’équations AHr

.e0t=s0 dans Fq, où s0 correspond à un vecteur(nk)rd dansFq correspondant aux coordonnées du syndrome s,(s1, ..., snk), où chaque si est écrit dans la base < F1E1, F1E2, .., F1Er, F2E1, ..., FdEr >du produit de deux espaces < E.F >, et oùe0 est un vecteurnrsurFq correspondant aux coordonnées d’erreur (e1, ..., en),où chaqueei est écrit dans la base{E1, E2, . . . , Er}. Si l’on procède de cette façon la matriceAHr

de taille nr×(nk)rdne dépend que des coordonnéeshij écrit dans la base {F1, F2, . . . , Fd}, et doncAHrne dépend pas de l’erreur e, mais de façon unique de son dimension r.Pour des différents erreurs e, on a juste à écrires comme s0 dans le produit de deux espaces< E.F > puis résoudre le systèmeAHr.e0t=s0.

En effet,

H.e=

h1,1 h1,2 · · · h1,n

h2,1 h2,2 · · · h2,n

... ... . .. ... hn−k,1 hn−k,2 · · · hn−k,n

×

e1

e2

... en

=

s1

s2

... sn−k

Alors,

h1,1e1 + h1,2e2 + . . . + h1,nen = s1

h2,1e1 + h2,2e2 + . . . + h2,nen = s1

... ...

hn−k,1e1 + hn−k,2e2 + . . . + hn−k,nen = s1

Or,

hij.ej =

hij1

hij2

... hijd

. ej1 ej2 · · · ejr

=

hij1ej1 hij1ej2 · · · hij1ejr

hij2ej1 hij2ej2 · · · hij2ejr

... ... . .. ... hijdej1 hijdej2 · · · hijdejr

Et,

si =

si11 si12 · · · si1r

si21 si22 · · · si2r

... ... . .. ... sid1 sid2 · · · sidr

(4)

Si on remplace dans chaque équation on obtient,

Pn

j=1h1j1ej1 Pn

j=1h1j1ej2 · · · Pn

j=1h1j1ejr

... ... . .. ...

Pn

j=1h1jdej1 Pn

j=1h1jdej2 · · · Pn

j=1h1jdejr

... ... . .. ...

... ... . .. ...

Pn

j=1h(n−k)j1ej1 Pn

j=1h(n−k)j1ej2 · · · Pn

j=1h(n−k)j1ejr

... ... . .. ...

Pn

j=1h(n−k)jdej1 Pn

j=1h(n−k)jdej2 · · · Pn

j=1h(n−k)jdejr

=

s111 s112 · · · s11r

... ... . .. ...

s1d1 s1d2 · · · s1dr

... ... . .. ... ... ... . .. ... s(n−k)11 s(n−k)12 · · · s(n−k)1r

... ... . .. ... s(n−k)d1 s(n−k)d2 · · · s(n−k)dr

En transformant l’équation matricielle à un système on trouve,

Pn

j=1h1j1ej1 = s111 ...

Pn

j=1h1j1ejr = s11r

... Pn

j=1h1jdej1 = s1d1

... Pn

j=1h1jdejr = s1dr

... ... Pn

j=1h(n−k)j1ej1 = s(n−k)11 ...

Pn

j=1h(n−k)j1ejr = s(n−k)1r ...

Pn

j=1h(n−k)jdej1 = s(n−k)d1 ...

Pn

j=1h(n−k)jdejr = s(n−k)dr

Ce qui donne,

(5)

h111e11 + 0 + · · · + 0 + · · · · + h1n1en1 + 0 + · · · + 0 = s111

0 + h111e12 + · · · + 0 + · · · · + 0 + h1n1en2 + · · · + 0 = s112

.. .

.. .

0 + 0 + · · · + h111e1r + 0 + · · · · + 0 + · · · + h1n1enr = s11r

.. .

.. . ..

.

.. .

h11de11 + 0 + · · · + 0 + · · · · + h1nden1 + 0 + · · · + 0 = s1d1

0 + h11de12 + · · · + 0 + · · · · + 0 + h1nden2 + · · · + 0 = s1d2

.. .

.. .

0 + 0 + · · · + h11de1r + 0 + · · · · + 0 + · · · + h1ndenr = s1d2

.. .

.. . ..

.

.. . ..

.

.. .

Par conséquent,

ArH =

h111 0 · · · 0 · · · · · · h1n1 0 · · · 0

0 h111 · · · 0 · · · · · · 0 h1n1 · · · 0

...

0 0 · · · h111 · · · · · · 0 0 · · · h1n1

... ...

h11d 0 · · · 0 · · · · · · h1nd 0 · · · 0

0 h11d · · · 0 · · · · · · 0 h1nd · · · 0

...

0 0 · · · h11d · · · · · · 0 0 · · · h1nd

... ... ...

h(n−k)11 0 · · · 0 · · · · · · h(n−k)n1 0 · · · 0

0 h(n−k)11 · · · 0 · · · · · · 0 h(n−k)n1 · · · 0 ...

0 0 · · · h(n−k)11 · · · · · · 0 0 · · · h(n−k)n1

... ...

h(n−k)1d 0 · · · 0 · · · · · · h(n−k)nd 0 · · · 0

0 h(n−k)1d · · · 0 · · · · · · 0 h(n−k)nd · · · 0 ...

0 0 · · · h(n−k)1d · · · · · · 0 0 · · · h(n−k)nd

La construction précédente peut être considérée comme déroulement formelle de la matriceH dans la base de produit de deux espaces< E.F >:

< F1E1, F1E2, .., F1Er, F2E1, ..., FdEr>.

Définition 2. Avec la notation précédente nous considérons une matrice(nk)rd×nr ArH= (aij). Dans un premier tempsaij = 0et après on écritau+(v−1)r+(i−1)rd,u+(j−1)r=hij pour1ur,1in−k, 1jnet1vd

(6)

Notation. On note par AH lanr×nrsous-matrice inversible deArH, on noteDH=A−1H une matrice de décodage deH.

La matriceDH permet de récupérer directement les valeurs de eij

3. L’ALGORITHME DE DÉCODAGE DE CODELRPC

A. L’idée générale

L’idée générale de l’algorithme est d’utiliser le fait que le poids de matrice de parité est petit et que l’espace généré par les cordonnés de syndrome< s1, ..., snk >permet de récupérer tout l’espace produitP =< F.E >

entre le support de l’erreur et la base de H. En connaissant l’espaceP etF permet de récupérerE, après il sera facile de retrouver l’erreureen résolvant un système linéaire. Cette méthode est similaire à la procédure de décodage des codesBCH.

B. L’algorithme générale de décodage

Considérons un [n, k] LRPC code C de petit poidsd sur Fqm, avec matrice génératrice G et(nk)×n matrice H tel que leshij sont engendrés par{F1, F2, . . . , Fd} et queH est choisis telle que DH existe.

Supposons qu’on a reçuy=xG+epourxdansFkqm etedans Fnqm de rang r tel que{E1, E2, . . . , Er} est une base de< e1, ..., en>.

Nous considérons l’algorithme générale de décodage suivant, cette algorithme a une probabilité d’échec que nous allons présenter dans la prochaine section, on va donner quelque paramètre pour lequel l’algorithme marche.

Algorithme 1:l’algorithme générale de décodage pour

1. Comptage d’espace syndrome

On commence par calculer le syndrome, après on calcule l’espace syndrome <

s1, ..., sn−k>.

2. Trouver le support E de l’erreur

On définitSi=Fi−1S et on calcule le support d’erreurE=S1S2...Sd. 3. Trouver l’erreur e

On écritei(1in)dans la base {E1, E2, . . . , Er} telei=Pr

j=1eijEj. e0= (e11, e12, ..., enr).

On écritsi dans la base P=< E.F >.

On essaye de récupérere0 à partir du systèmeArH.e0 =s0. 4. Trouver le message x

Trouverxdepuis le systemx.G=ye.

C. L’exactitude de l’algorithme

Nous allons prouver l’exactitude de l’algorithme dans le cas idéal quanddim(< E.F >) =rd,dim(S) =rd etdim(S1S2...Sd) =r, nous allons voir dans la prochaine section que c’est le cas générale.

(7)

Étape 1 :La première étape de l’algorithme est évidente.

Étape 2 : Nous allons prouver que E S1S2...Sd. Puisque S est le produit des deux espaces E et F, on a Fi.Ej S, pour 1 j r, donc Ej Si et E Si, d’où E S1S2...Sd. Par hypothèsedim(S1S2...Sd) =dim(E)ce qui implique l’égalité deE etS1S2...Sd.

Étape 3 :Après avoir trouverE, on écrit ei dans la base de E, dans cas on a nr inconnus et(nk)m équations donc il faut quersoit plus petit que (n−k)mn .

D. La probabilité d’échec

Nous considérons les trois différents probabilité d’échec, le cas oùdim(< E.F >) =rdest vérifié avec une probabilité supérieure àrqqrdm, le cas où E=S1S2...Sd est vérifié avec une probabilité supérieure à rqrd(d+1)/2qm et le cas oùdim(S) =rdest vérifié avec une probabilité inférieure à q(n−k)−rd−1.

E. La complexité de décodage

L’étape 2) et l’étape 3) sont les plus coûteux dans l’algorithme 1. Pour l’étape 2) la complexité de l’intersection des espaces vectoriels est4r2d2mopérations dans le corps de base. Dans l’étape 3) la complexité estn2r2 pour trouvereij en utilisant la matriceDH.

Remarquons queDH peut être calculer et stocker dans la mémoire du codeur.

Si on résume les différents sections on obtient le théorème suivant

Théorème 1. SoitH une matrice duale de taille (nk)×nd’un code LRPC de petit rangd2surFqm, l’algorithme 1 décode une erreur aléatoiree de poidsr tel querdnk, avec une probabilité de succès égale à1q−(n−k−rd)et une complexité r2(4d2m+n2).

RÉFÉRENCES

[1] P. Gaborit, O. Ruatta, G. Murat et G. Zémor.Low Rank Parity Check Codes and their application in cryptography. WCC 2013, 167-179

Références

Documents relatifs

De fait, dans l’embryon de souris, Msx1 est exprimé dans une sous-population de myoblastes, mais ne l’est pas dans les cellules différenciées qui en déri- vent [4].. De plus,

La chaleur latente massique de changement d’état 3 , notée L changement d’état , est l’énergie reçue ou cédée par une unité de masse du corps pur lors d’un

Abstract—This paper proposes a new family of recursive systematic convolutional codes, defined in the non-binary domain over different Galois fields GF(q) and intended to be used

Abstract —In this paper, we investigate the performance of low-density parity-check (LDPC) product codes in a multi- source relay network where multiple sources transmit data to a

By using a classical rank code, the decoding algorithm uses the information of m received packets so as to recover the source packetsA. For a particular source, if r is bigger than

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des

In this paper, we consider the problem of multi-source networks and we propose a novel error correction mechanism using modified low rank parity check (M-LRPC) decoding algorithm