You are on page 1of 18

Ecole Normale Suprieur de

lenseignement Technique
MASTER GE
-RABAT-
Ecole Normale Suprieure de lEnseignement Technique

Rapport du Mini Projet


Anne Universitaire : 2013/2014

Implmentation de lalgorithme DES sous


FPGA
(Data Encryption Standard)

Ralis par:
Mr. Ouachtouk Ilias
Mr. Chalawane Haitam

Demand par :
Mr. NACIR chafik : Professeur lENSET-Rabat

ENSET-Rabat, B.P/ 6207 av. Arme Royale; Madinat Al Irfane Rabat Maroc
Tl : (212) 05 37 71 14 07/08 Fax : (212) 05 37 71 14 06
Site : http://enset.um5s.ac.ma
ENSET-RABAT Implmentation de lalgorithme DES sous FPGA [2013/2014]

Table des matires

Introduction
Listes des figures ............................................................................................ - 2 -
1- Dfinition de la cryptographie ................................................................... - 4 -
2- Utilisations de la cryptographie................................................................. - 4 -
2-1 Les cartes bancaires .......................................................................... - 4 -
2-2 Les navigateurs Web ........................................................................ - 5 -
3- Algorithmes de Cryptographie DES (Data Encryption Standard) ............ - 5 -
3-1 Principe du DES ............................................................................... - 5 -
3-2 L'algorithme du DES ........................................................................ - 6 -
4- Implmentation de lalgorithme DES, avec loutil XILINX ISE ........... - 13 -
4-1 Introduction au logiciel Xilinx ISE ............................................... - 13 -
4-2 Lancement du logiciel ISE ............................................................. - 13 -
4-3 Cration dun projet ........................................................................ - 13 -
5- Programmation VHDL ............................................................................ - 15 -
Conclusion
Annexes

Listes des figures

Figure 1: Cryptage et dcryptage ....................................................................................... - 3 -


Figure 2 : Cryptage et cartes bancaires .............................................................................. - 4 -
Figure 3: Les navigateurs web ............................................................................................ - 5 -
Figure 4: Principe de DES.................................................................................................... - 6 -
Figure 5 : schma rsumant les diffrentes parties de l'algorithme ............................. - 12 -
Figure 6: Fentre des proprits ...................................................................................... - 14 -
Figure 7: cran principal du navigateur de projet de Xilinx ISE. ................................... - 14 -
Figure 8: RTL schematic .................................................................................................... - 15 -
Figure 9: Aperue du circuit DES...................................................................................... - 15 -

Implmentation de lalgorithme DES sous FPGA OUACHTOUK & CHALAWANE


-2-
ENSET-RABAT Implmentation de lalgorithme DES sous FPGA [2013/2014]

La cryptographie, ou art de chiffrer, coder les messages, est devenue aujourd'hui


une science part entire. Au croisement des mathmatiques, de l'informatique, et
parfois mme de la physique, elle permet ce dont les civilisations ont besoin depuis
qu'elles existent : le maintien du secret. Pour viter une guerre, protger un peuple, il est
parfois ncessaire de cacher des choses...

La cryptographie tant un sujet trs vaste, ce document se focalisera essentielleent sur


les mthodes de chiffrement dites modernes, c'est--dire celles tant apparues et
utilises aprs la Seconde Guerre mondiale. On passera en revue la saga du DES et de
l'AES, en passant par le fameux RSA, le protocole le plus utilis de nos jours. Ayant
longtemps t l'apanage des militaires et des socits possdant de gros moyens
financiers, la cryptographie s'est au fil du temps ouverte au grand public, et est donc un
sujet digne d'intrt. Toutes les mthodes de cryptographie seront prsentes dans leur
ordre chronologique d'apparition.

Notez cependant que ce document ne s'intitule pas cryptologie ! L'amalgame est souvent
fait entre cryptographie et cryptologie, mais la diffrence existe bel et bien. La
cryptologie est la "science du secret", et regroupe deux branches : d'une part,
la cryptographie, qui permet de coder les messages, et d'autre part, la cryptanalyse,
qui permet de les dcoder.

Figure 1: Cryptage et dcryptage

Implmentation de lalgorithme DES sous FPGA OUACHTOUK & CHALAWANE


-3-
ENSET-RABAT Implmentation de lalgorithme DES sous FPGA [2013/2014]

1- Dfinition de la cryptographie
La cryptograpie est la science qui utilise les mathmatiques pour le cryptage
et le dcryptage de donnes.

Elle vous permet ainsi de stocker des informations confidentielles ou de les transmettre
sur des rseaux non scuriss (tels que l'Internet), afin qu'aucune personne autre que le
destinataire ne puisse les lire.

Alors que la cryptographie consiste scuriser les donnes, la cryptanalyse est l'tude
des informations cryptes, afin d'en dcouvrir le secret. La cryptana-lyse classique
implique une combinaison intressante de raisonnement analy-tique, d'application
d'outils mathmatiques, de recherche de modle, de patience, de dtermination et de
chance. Ces cryptanalystes sont galement appels des pirates.

La cryptologie englobe la cryptographie et la cryptanalyse.

2- Utilisations de la cryptographie
2-1 Les cartes bancaires
Les banques font partie des premiers utilisateurs de systmes cryptographies. Les cartes
bancaires possdent trois niveaux de scurit :

Le code confidentiel : c'est la suite de chiffres mmoriser et saisir l'abri des


regards indiscrets.
La signature RSA : permet de vrifier l'identit de la carte sans avoir besoin de
secrets; en d'autres termes, cette vrification peut se faire sans connexion un
centre distant.
L'authentification DES : apporte une preuve de lgitimit de la carte, et se fait par
connexion un centre distant.

Figure 2 : Cryptage et cartes bancaires

Implmentation de lalgorithme DES sous FPGA OUACHTOUK & CHALAWANE


-4-
ENSET-RABAT Implmentation de lalgorithme DES sous FPGA [2013/2014]

2-2 Les navigateurs Web

Les navigateurs, ou broswers, tels que Mozilla Firefox ou Internet Explorer, utilisent le
protocole de scurit SSL (Secure Sockets Layers), qui repose sur un procd de
cryptographie par cl publique : le RSA.

Figure 3: Les navigateurs web

3- Algorithmes de Cryptographie DES (Data Encryption Standard)


3-1 Principe du DES

Le Data Encryption Standard (DES) est un algorithme de cryptographie qui a t


slectionn comme un standard pour la Federal Information Processing Standard (FIPS)
pour les tats-Unis en 1976, mais qui a connu un succs international par la suite.
Il s'agit d'un systme de chiffrement symtrique par blocs de 64 bits, dont 8
bits (un octet) servent de test de parit (pour vrifier l'intgrit de la cl). Chaque bit de
parit de la cl (1 tous les 8 bits) sert tester un des octets de la cl par parit impaire,
c'est--dire que chacun des bits de parit est ajust de faon avoir un nombre impair
de '1' dans l'octet qui il appartient. La cl possde donc une longueur utile de 56
bits, ce qui signifie que seuls 56 bits servent rellement dans l'algorithme.
L'algorithme consiste effectuer des combinaisons, des substitutions et des
permutations entre le texte chiffrer et la cl, en faisant en sorte que les oprations
puissent se faire dans les deux sens (pour le dchiffrement). La combinaison entre
substitutions et permutations est appele code produit.
La cl est code sur 64 bits et forme de 16 blocs de 4 bits, gnralement nots k1 k16.
Etant donn que seuls 56 bits servent effectivement chiffrer, il peut exister 256 (soit
7.2*1016) cls diffrentes !

Implmentation de lalgorithme DES sous FPGA OUACHTOUK & CHALAWANE


-5-
ENSET-RABAT Implmentation de lalgorithme DES sous FPGA [2013/2014]

3-2 L'algorithme du DES


Les grandes lignes de l'algorithme sont les suivantes :

Fractionnement du texte en blocs de 64 bits (8 octets) ;

Permutation initiale des blocs ;


Dcoupage des blocs en deux parties: gauche et droite, nommes G et D ;
Etapes de permutation et de substitution rptes 16 fois (appelesrondes) ;

Recollement des parties gauche et droite puis permutation initiale inverse.

Mcanisme :

Figure 4: Principe de DES

Implmentation de lalgorithme DES sous FPGA OUACHTOUK & CHALAWANE


-6-
ENSET-RABAT Implmentation de lalgorithme DES sous FPGA [2013/2014]

A. Fractionnement du texte en blocs de 64 bits (8 octets)

Dans un premier temps le message en clair est dcoup en blocs de 64 bits.

B. Transposition initiale

Chaque bit dun bloc subit une permutation selon


larrangement du tableau ci-contre cest--dire que le
58me bit du bloc se retrouve en 1re position, le
50me en seconde position, etc

C. Scindement en bloc de 32 bits

Le bloc de 64 bits est scind en deux blocs de 32 bits nots G et D. On notera G0 et D0


ltat initial de ces deux blocs.

On remarque que G0 contient tous les bits pairs du message initial et D0 tous les bits
impairs.

Implmentation de lalgorithme DES sous FPGA OUACHTOUK & CHALAWANE


-7-
ENSET-RABAT Implmentation de lalgorithme DES sous FPGA [2013/2014]

D. Rondes

Les blocs Gi et Di sont soumis un ensemble de transformations appeles rondes.

Une ronde est elle-mme compose de plusieurs tapes :

Fonction dexpansion :

Les 32 bits du bloc D0 sont tendus 48 bits grce une


table dexpansion dans laquelle 32 bits sont mlangs et 16
dentre eux sont dupliqus.
Ainsi, le 32me bit devient le premier, le premier devient le
second Les bits 1,4,5,8,9,12,13,16,17,22,21,24,25,28,29 et
32 sont dupliqus et dissmins pour former un bloc de 48
bits que lon nommera D0 .

OU exclusif (XOR) avec la clef :

DES procde ensuite un OU exclusif entre D0 et la premire clef k1 gnre partir de


la clef K (que doivent se partager metteur et destinataire) par lalgorithme de
cadencement des clefs que nous dcrirons plus bas. Nous appellerons D0 le rsultat de
cette opration.

Botes de substitution :

D0 est dcoupe ensuite en 8 blocs de 6 bits, not D0i. Chacun de ces blocs passe par
des botes de substitution(S-boxes), notes gnralement Si. Les premier et dernier bits
de chaque D0i dterminent la ligne de la fonction de substitution, les autres bits
dterminent la colonne. Grce cela la fonction de substitution choisit une valeur
code sur 4 bits (de 0 15). Voici la premire bote de substitution :

Implmentation de lalgorithme DES sous FPGA OUACHTOUK & CHALAWANE


-8-
ENSET-RABAT Implmentation de lalgorithme DES sous FPGA [2013/2014]

Soit D0i gal 010101, les premiers et derniers bits donnent 01, cest--dire 1 en
binaire. Les bits autres bits donnent 1010, soit 10 en binaire. Le rsultat de la fonction
de substitution est donc la valeur situe la ligne n1, dans la colonne n10. Il sagit de la
valeur 6, soit 0110 en binaire.

Chacun des 8 blocs de 6 bits est pass dans la bote de substitution correspondante.
Voici les autres S-Boxes :

Implmentation de lalgorithme DES sous FPGA OUACHTOUK & CHALAWANE


-9-
ENSET-RABAT Implmentation de lalgorithme DES sous FPGA [2013/2014]

On obtient donc en sortie 8 blocs de 4 bits. Ces bits sont regroups pour former un bloc
de 32 bits.

Permutation :

Le bloc de 32 bits subit une permutation


dont voici la table :

OU exclusif :

Le bloc de 32 bits ainsi obtenu est soumis un OU exclusif avec le G0 de dpart pour
donner D1 et le D0 initial donne G1.

Lensemble de ces tapes est itre seize fois.


E. Transposition initiale inverse

Au bout des seize itrations, les deux blocs G16 et


D16 sont recolls pour reformer un seul bloc de
64 bits puis subit-la transposition initiale inverse
selon larrangement du tableau ci contre.

On obtient alors le bloc initial chiffr.

Implmentation de lalgorithme DES sous FPGA OUACHTOUK & CHALAWANE


- 10
-
ENSET-RABAT Implmentation de lalgorithme DES sous FPGA [2013/2014]

F. Reconstruction du message chiffr

Tous les blocs sont colls bout bout pour obtenir le message chiffr.
G. Algorithme de cadencement des clefs

Nous allons dcrire lalgorithme qui permet de gnrer partir dune clef de 64 bits, 8
clefs diversifies de 48 bits chacune servant dans lalgorithme du DES.

De prime abord les clefs de parit sont limines pour obtenir une clef de 56 bits.

Ce bloc subit une permutation puis est dcoupe en deux pour obtenir 2 blocs de 28 bits
dcrits par les matrices ci-dessous :

Ces deux blocs subissent une rotation gauche, cest--dire que les bits en seconde
position prennent la premire position, ceux en troisime position la seconde, celle en
premire position la dernire

Les 2 blocs sont regroups


pour faire un bloc de 56 bits
qui passe par une
permutation fournissant un
bloc de 48 bits reprsentant la
clef ki. :

Des itrations de lalgorithme permettent de donner les 16 clefs utilises dans


lalgorithme du DES.

Implmentation de lalgorithme DES sous FPGA OUACHTOUK & CHALAWANE


- 11
-
ENSET-RABAT Implmentation de lalgorithme DES sous FPGA [2013/2014]

Figure 5 : schma rsumant les diffrentes parties de l'algorithme

Implmentation de lalgorithme DES sous FPGA OUACHTOUK & CHALAWANE


- 12
-
ENSET-RABAT Implmentation de lalgorithme DES sous FPGA [2013/2014]

4- Implmentation de lalgorithme DES, avec loutil XILINX ISE


4-1 Introduction au logiciel Xilinx ISE

Le logiciel Xilinx ISE 9.2i est un logiciel de description, de simulation, et de


programmation de circuits et systmes numriques sur des composants
programmables. Le logiciel ISE possde une version gratuite et tlchargeable du site de
Xilinx (www.xilinx.com). La suite ISE permet :

La description de circuits numriques sous forme de schmas logiques, de


machines tats

Finis ou en langages de description matriel (VHDL, Verilog, ABEL),

La compilation, la simulation comportementale,

La synthse, le placement routage et limplmentation,

La simulation temporelle et lanalyse de timing,

La programmation sur les circuits programmables de Xilinx (CPLD et FPGA).

4-2 Lancement du logiciel ISE

Pour lancer le navigateur, il faut double-cliquer sur licne , ou cliquer sur le


menu

Dmarrer > Programmes > Xilinx ISE 14.7 > Project Navigator.

4-3 Cration dun projet

Un projet permet de regrouper plusieurs fichiers-sources pour un laboratoire


ou un module en particulier.

Aprs avoir lanc le programme, cliquez sur le bouton New Project qui se situe
gauche (ou faites File > New Project).

Implmentation de lalgorithme DES sous FPGA OUACHTOUK & CHALAWANE


- 13
-
ENSET-RABAT Implmentation de lalgorithme DES sous FPGA [2013/2014]

Choisissez un nom reprsentatif pour votre projet. Il faut aussi spcifier un


rpertoire o le projet sera sauvegard. Il est important que le chemin de ce rpertoire
ne contienne pas d'espaces, parce que certains outils invoqus peuvent ne pas les
accepter. Dans tous les cas, essayer de toujours respecter cette pratique.

Figure 6: Fentre des proprits

Figure 7: cran principal du navigateur de projet de Xilinx ISE.

Implmentation de lalgorithme DES sous FPGA OUACHTOUK & CHALAWANE


- 14
-
ENSET-RABAT Implmentation de lalgorithme DES sous FPGA [2013/2014]

5- Programmation VHDL
Source VHDL (voir, lannexe ou le programme sous Xilinx ISE)

Schma RTL

Figure 8: RTL schematic

Figure 9: Aperue du circuit DES

Test et Simulation :
Source VHDL (voir le programme sous Xilinx ISE)

Implmentation de lalgorithme DES sous FPGA OUACHTOUK & CHALAWANE


- 15
-
ENSET-RABAT Implmentation de lalgorithme DES sous FPGA [2013/2014]

On prend : message 123abc345def6780

Cl 11112222abcdef00

Rsultat de simulation :

Message crypt : 41542666aecdaf51

On change la Cl ab12cd34ef560ab0

Rsultat de simulation :

Message crypt : 54047737bac9fe14

Implmentation de lalgorithme DES sous FPGA OUACHTOUK & CHALAWANE


- 16
-
ENSET-RABAT Implmentation de lalgorithme DES sous FPGA [2013/2014]

Le DES lun des crypto-systmes les plus connus clefs prives, nest tout autant que
RSA pas invulnrables toutes les attaques quil peut subir rgulirement. En effet de
nombreuses attaques sont dj arrives par le pass venir bout des algorithmes qui
composent le DES, malgr le fait quil tait considr comme l un des moyens de
chiffrement les plus srs. Mais les attaques incessantes quil subissait, ont eu raison de
DES et ont montr au grand jour ses faiblesses.

Aujourd'hui, le D.E.S. est fortement menac par les puissances de calcul des
ordinateurs. Il n'est en effet pas impossible de balayer la plupart des cls pour casser le
code. Un nouveau systme, le A.E.S. (Advanced Encryption Standard) est prvu pour le
remplacer, do lintrt daugment la scurit de DES par le TDES [Triple DES (aussi
appel 3DES)] quest un algorithme de chiffrement symtrique par bloc, enchanant 3
applications successives de l'algorithme DES sur le mme bloc de donnes de 64 bits,
avec 2 ou 3 cls DES diffrentes.

Implmentation de lalgorithme DES sous FPGA OUACHTOUK & CHALAWANE


- 17
-
ENSET-RABAT Implmentation de lalgorithme DES sous FPGA [2013/2014]

Implmentation de lalgorithme DES sous FPGA OUACHTOUK & CHALAWANE


- 18
-

You might also like