100 Chapitre 6. Co<strong>de</strong>s à eacements MDS basés sur les FNTnous donne donc ! 2m 1 mod q. ! étant d'ordre n, nous avons donc n 2m, cequi contredit l'hypothèse initiale.Pour la FFT, les indices pairs et impairs <strong>de</strong> a sont séparés en <strong>de</strong>ux vecteurs a p eta i . L'algorithme <strong>de</strong> la FFT réduit ainsi le calcul <strong>de</strong> la DFT <strong>de</strong> taille n en <strong>de</strong>ux DFT <strong>de</strong>taille n 2 , dont l'élément d'ordre est !2 et une multiplication par un vecteur <strong>de</strong> taille n<strong>de</strong> la manière suivante :⎛ ⎞1( DF T! 2(A = DF T ! (n) ¢ n 2a =) ¡ a )p!DF T ! 2( n 2 ) ¡ a + ⎜ ⎟p ⎝ .! n 1⎠ ¡ ( DF T! 2( n 2 ) ¡ a iDF T ! 2( n 2 ) ¡ a i)(6.3)Le principe <strong>de</strong> l'algorithme <strong>de</strong> la FFT est d'appliquer <strong>de</strong> mécanisme <strong>de</strong> manièrerécursive. Ce qui permet d'introduire la <strong>pro</strong>position suivante :Proposition 6.5. L'algorithme <strong>de</strong> la transformée <strong>de</strong> Fourier rapi<strong>de</strong> (FFT) est <strong>de</strong> complexitéO(n log n).Démonstration. Soit T (n) la complexité <strong>de</strong> l'algorithme <strong>de</strong> taille n. D'après l'équation6.3, cette complexité peut être ramenée en la complexité <strong>de</strong> l'opération T ( n ) et la2complexité linéaire du <strong>pro</strong>duit et <strong>de</strong> la somme f (n). Nous avons donc :En développant nous obtenons :T (n) = 2T ( n 2 ) + f (n)T (n) = f (n) + 2(f ( n 2 ) + 2T (n 4 )) = ::: = f (n) + 2f (n 2 ) + 4f (n 4 ) + 8f (n 8 ) + :::f (n) étant <strong>de</strong> complexité linéaire alors 9a 2 Rnf (n) = an. En conséquence nousavons :T (n) = an + an + ::: +} {{an =}an log 2 n = O(n log 2 n):log 2 n itérationsIllustrons cet algorithme dans le corps ni premier F 17 . Dans ce corps, l'élément4 est d'ordre 4. Soit a = (3; 7; 5; 14) le vecteur déni sur ce corps. L'algorithme <strong>de</strong> laFFT nous donne le résultat suivant :⎛⎞ ⎛ ⎞ ⎛ ( ⎞ ⎛ ⎞ ⎛ ( ⎞ ⎛ ⎞1 1 1 1 33 17 12⎜1 4 16 13⎟⎝1 16 1 16⎠ ¡ ⎜ 7DF T !2 ¡⎟⎝ 5 ⎠ = ⎜5)⎝( ⎟3 ⎠DF T1 13 16 4 14!2 ¡5) + ⎜ 4DF T !2 ¡⎟ ⎜14)⎝16⎠⎝( ⎟7 ⎠DF T13!2 ¡14) = ⎜ 4⎟⎝ 4 ⎠9
6.2. Construction <strong>de</strong>s co<strong>de</strong>s RS-FNT 101où DF T !2 = ( 1 11 16).Les résultats précé<strong>de</strong>nts peuvent s'appliquer mutatis mutandis dans le cadre <strong>de</strong> latransformée <strong>de</strong> Fourier inverse.Proposition 6.6. Pour tout k n, les k premières lignes <strong>de</strong> la matrice <strong>de</strong> la transformée<strong>de</strong> Fourier discrète (DFT) forment une matrice génératrice d'un co<strong>de</strong> <strong>de</strong> Reed-Solomon. La DFT, qui peut être obtenue via la FFT, est donc un co<strong>de</strong> MDS.Démonstration. L'équation 6.2 a mis en lumière l'écriture matricielle <strong>de</strong> la transformée<strong>de</strong> Fourier. Ainsi, il est possible <strong>de</strong> remarquer que la matrice <strong>de</strong> la DFT est une matriceparticulière <strong>de</strong> Van<strong>de</strong>rmon<strong>de</strong> avec le vecteur (1; !; ! 2 ; :::! n 1 ). ! étant d'ordre n, lamatrice est <strong>de</strong> rang plein ce qui termine la démonstration.Une autre façon <strong>de</strong> considérer la transformée <strong>de</strong> Fourier discrète vient <strong>de</strong> la représentationpolynômiale.Proposition 6.7. Soit K un corps ni <strong>de</strong> taille q. Soient ! un élément d'ordre n,n < q, a = (a 0 ; a 1 ; :::; a n 1 ) et A = (A 0 ; A 1 ; :::; A n 1 ) <strong>de</strong>ux vecteurs <strong>de</strong> K n . Latransformée <strong>de</strong> Fourier discrète A <strong>de</strong> a est équivalente à l'évaluation du polynômea(x) = ∑ n 1i=0 a ix i aux points (1; !; ! 2 ; :::; ! n 1 ) en <strong>pro</strong>gression géométrique.Démonstration. En reprenant l'écriture originale <strong>de</strong> la DFT, nous avons pour j 2(0; 1; :::; n 1) :∑n 1a(! j ) = a i ! j i ∑n 1= a i ! ij = A j :i=0i=06.2.2 La FNT sur F 65537Si l'ensemble <strong>de</strong>s <strong>pro</strong>priétés sur la FFT sont valables sur Fq dès lors que q estpremier, en pratique, il est intéressant <strong>de</strong> travailler sur <strong>de</strong>s corps permettant uneadaptation pratique aisée. Les terminaux fonctionnant généralement avec <strong>de</strong>s unités<strong>de</strong> 8, 16, 32 voire 64 bits, c'est-à-dire <strong>de</strong> 2 r bits, l'idéal est donc d'utiliser <strong>de</strong>s corpsdont les éléments peuvent être représentés par <strong>de</strong>s vecteurs <strong>de</strong> bits ayant ces longueurs.D'autre part, pour réaliser une implémentation ecace <strong>de</strong> la FFT, celle-ci doit être<strong>de</strong> taille 2 m , ce qui implique l'existence d'un élément d'ordre 2 m dans le corps ni.Malheureusement, tous les éléments <strong>de</strong>s corps <strong>de</strong> taille 2 2r sont d'ordre impair.Une solution par rapport à ce <strong>pro</strong>blème consiste à utiliser <strong>de</strong>s corps ni dont lecardinal est un nombre <strong>de</strong> Fermat <strong>de</strong> type F p = 2 2p + 1. Ces corps contiennent <strong>de</strong>séléments ayant comme ordre toutes les puissances <strong>de</strong> 2 comprises entre 0 et 2 2p .Il a été <strong>pro</strong>uvé que les nombres <strong>de</strong> Fermat F 0 = 3, F 1 = 5, F 2 = 17, F 3 = 257et F 4 = 65537 sont premiers, F 4 étant à ce jour le plus grand nombre <strong>de</strong> Fermat