Sunteți pe pagina 1din 8

‫الجمهورية الجزائرية الديمقراطية الشعبية‬

République Algérienne Démocratique et Populaire


‫وزارة التعليم العالي و البحث العلمي‬
Ministère de l’Enseignement Supérieur et de la Recherche Scientifique
Université de Béchar ‫جامعة بشار‬
Faculté de Technologie ‫كلية التكنولوجيا‬

Département de Génie Electrique ‫قسم الهندسة الكهربائية‬

3ème année Licence système L.M.D

Cryptage Bleufish

Spécialité : Télécommunication

Module : Sécurité de l'information

Présenté par : -Limam Safa Chargé par : Y.Khier

- Gures Safaa

Année Universitaire : 2019/2020


Sommaire
1-Introduction…………………………………………………………………………………………………………..3

1.1 L'algorithme Blowfish ……………………………………………………………………………….…......3

2. Enquête documentaire ………………………………………………………………………………..……….4

2.1 Types de cryptographie …………………………………………………………………………….………..4

2.1.1 Cryptographie à clé symétrique …………………………………………………….…………………4

2.1.2 Cryptographie à clé asymétrique………………………………………………………………………5

2.1.3 Norme de cryption des données (DES)………………………………………….………….………5


2.1.4 Norme de chiffrement avancé (AES)…………………………………………………………………5
3. Système proposé ……………………………………………………………………………………………..…..5

3.1 Etape de l'algorithme …………………………………………………………………………………………6

4-Conclusion………………………………………………………….………………………………………………….7
1. Introduction :

Les algorithmes de cryptage sont divisés en deux catégories, les cryptages à clé symétrique
et les cryptages à clé publique. Les algorithmes symétriques, tels que Blowfish, utilisent
exactement la même clé pour le chiffrement et le déchiffrement. Cela peut être transmis
comme un mot de passe qui doit être gardé secret pour tout le monde autre que
l'expéditeur et le destinataire du message. Les algorithmes de chiffrement à clé publique
utilisent deux clés, une pour le chiffrement et une autre pour le déchiffrement. La clé utilisée
pour le chiffrement, la «clé publique» n'a pas besoin d'être keptsecret. L'expéditeur du
message utilise cette clé publique pour crypter son message, et le destinataire utilise sa clé
de décryptage secrète, ou «clé privée», pour le lire. En un sens, la clé publique «verrouille»
le message, et la clé privée le «déverrouille»: une fois chiffrée avec la clé publique, personne
à l'exception du détenteur de la clé privée ne peut déchiffrer le message. RSA est un
algorithme de chiffrement à clé publique populaire.

1.1 L'algorithme Blowfish:

Blowfish est un algorithme de cryptage symétrique, ce qui signifie qu'il utilise la même clé
secrète pour crypter et décrypter les messages. Blowfish est également un chiffrement par
bloc, ce qui signifie qu'il divise un message en blocs de longueur fixe pendant le chiffrement
et le déchiffrement. La longueur de bloc pour Blowfish est de 64 bits; les messages dont la
taille n'est pas un multiple de huit octets doivent être remplis.

Figure 1.1.1 : algorithme Blowfish

Blowfish se compose de deux parties: l'expansion des clés et le cryptage des données. Au
cours de l'étape d'extension de clé, la clé entrée est convertie en plusieurs sous-tableaux de
clés totalisant 4168 octets. Il y a le tableau P, qui comprend dix-huit boîtiers 32 bits, et les
boîtiers S, qui sont quatre tableaux 32 bits avec 256 entrées chacun. Après l'initialisation de
la chaîne, les 32 premiers bits de la clé sont XORed avec P1 (la première boîte de 32 bits
dans le Parray). Les 32 seconds bits de la clé sont XORed avec P2, et ainsi de suite, jusqu'à ce
que tous les 448 bits de clé, ou moins, aient été XORedCycle à travers les bits de clé en
retournant au début de la clé, jusqu'à ce que tout le Parray ait été XORed Cryptez la chaîne
entièrement à zéro à l'aide de l'algorithme Blowfish, en utilisant le Parray modifié ci-dessus,
pour obtenir un bloc de 64 bits. Remplacez P1 par les 32 premiers bits de sortie, et P2 par les
32 seconds bits de sortie (du bloc de 64 bits). Utilisez la sortie 64 bits comme entrée dans le
chiffrement Blowfish, pour obtenir un nouveau bloc 64 bits. Remplacez les valeurs suivantes
dans le Parray par le bloc. Répétez pour toutes les valeurs dans le Parray et toutes les cases S
dans l'ordre.

Figure 1.1.2: XORing de bits une fois que la clé a été parcourue une fois

Cryptez la chaîne entièrement à zéro en utilisant l'algorithme Blowfish, en utilisant le Parray


modifié ci-dessus, pour obtenir un bloc de 64 bits. Remplacez P1 par les 32 premiers bits de
sortie, et P2 par les 32 seconds bits de sortie (du bloc de 64 bits). Utilisez la sortie 64 bits
comme entrée dans le chiffrement Blowfish, pour obtenir un nouveau bloc 64 bits.
Remplacez les valeurs suivantes dans le Parray par le bloc. Répétez pour toutes les valeurs
dans le Parray et toutes les cases S dans l'ordre.

2. Enquête documentaire:

2.1 Types de cryptographie:

Les algorithmes de chiffrement sont classés en deux grandes catégories: la cryptographie à


clé symétrique et la cryptographie à clé asymétrique.

2.1.1 Cryptographie à clé symétrique:

Dans la cryptographie symétrique, la clé utilisée pour le cryptage est similaire à la clé utilisée
pour le décryptage. La distribution des clés doit donc être effectuée avant la transmission
des informations. La clé joue un rôle très important dans cette cryptographie puisque la
sécurité dépend directement de la nature de la longueur de la clé etc. Il existe divers
algorithmes de clé symétrique tels que DES & AES.
2.1.2 Cryptographie à clé asymétrique:

Dans la cryptographie asymétrique, deux clés différentes sont utilisées pour le cryptage et le
décryptage, elles sont publiques et privées. La clé publique est accessible à tous les
utilisateurs du réseau; ceux qui veulent crypter le texte en clair doivent connaître la clé
publique du destinataire. Seule la personne autorisée peut déchiffrer le texte chiffré via sa
propre clé privée. La clé privée est gardée secrète des autres. L'algorithme de chiffrement
symétrique est plus rapide que les algorithmes à clé asymétrique. La mémoire requise de
l'algorithme symétrique est inférieure à asymétrique.

2.1.3 Norme de cryption des données (DES):


DES (Data Encryption Standard) est la première norme de cryptage recommandée par le
NIST (National Institute of Standards and Technology). Il a été développé par un IBM en 1974
et adopté comme norme nationale en 1997.

DES est un chiffrement par blocs de 64 bits sous une clé de 56 bits. L'algorithme traite avec
une permutation de seize tours de chiffrement par blocs et une permutation finale.
L'application DES est très populaire dans les domaines commerciaux, militaires et autres. La
norme DES est publics et les critères de conception utilisés sont classés.

2.1.4 Norme de chiffrement avancé (AES):

AES a été inventé par des scientifiques nommés Joan et Vincent Rijmen en 2000. AES utilise
le chiffrement par blocs de Rijndael, la clé de Rijndael et la longueur de bloc peut être de
128, 192 ou 256 bits, si la longueur de la clé et la longueur du bloc sont 128 bits. Rijndael
effectue 9 cycles de traitement. Si le bloc / clé est de 192 bits, il effectuera 11 tours de
traitement et pour 256 bits, Rijndael effectue 13 tours de traitement.

Chaque cycle de traitement comprend les quatre étapes suivantes:

1. Substitute bytes - Il utilise une S-box pour effectuer une substitution octet par octet du
bloc,
2. Décaler les lignes - C'est une simple permutation,
3. Colonne de mélange - Il s'agit d'une méthode de substitution dans laquelle les données de
chaque colonne de l'étape de ligne de décalage sont multipliées par la matrice de
l'algorithme et

4. Ajouter une clé ronde - C'est la clé pour que le tour de traitement soit XOR avec les
données.

3. Système proposé:

Ce système utilise essentiellement l'algorithme de cryptage Blowfish pour crypter le fichier


de données. Cet algorithme est un chiffrement par blocs de 64 bits avec une clé de longueur
variable. Cet algorithme a été utilisé car il nécessite moins de mémoire. Il n'utilise que des
opérations simples, il est donc facile à mettre en œuvre. C'est un chiffrement par blocs de 64
bits et c'est un algorithme rapide pour chiffrer les données. Il nécessite un microprocesseur
32 bits à un débit d'un octet tous les 26 cycles d'horloge.

Il s'agit d'un chiffrement de bloc de clé de longueur variable jusqu'à 448 bits. Blowfish
contient 16 cartouches.

Chaque tour comprend une opération XOR et une fonction. Chaque cycle comprend
l'expansion des clés et le cryptage des données. L'expansion de clé généralement utilisée
pour générer le contenu initial d'un tableau et le chiffrement des données utilise un réseau
Feistal à 16 tours.

Le texte brut et la clé sont les entrées de cet algorithme. Le texte brut 64 bits est pris et se
divise en deux données 32 bits et à chaque tour, la clé donnée est développée et stockée
dans un tableau de 18 p et donne une clé 32 bits en entrée et XOR avec les données du tour
précédent.

La fonctionnalité consiste à diviser une entrée 32 bits en quatre octets et à les utiliser
comme indices dans un Sarray. Les résultats de la recherche sont ensuite ajoutés et XOR ed
ensemble pour produire la sortie. Au 16ème tour, il n'y a pas de fonction. La sortie de cet
algorithme doit être un texte chiffré à 64 bits.

3.1 Etape de l'algorithme :

Il a pour fonction d'itérer 16 fois le réseau. Chaque cycle comprend une permutation
dépendante de la clé et une substitution dépendante de la clé et des données. Toutes les
opérations sont des XOR et des ajouts sur des mots de 32 bits. Les seules opérations
supplémentaires sont quatre tables de recherche de données de tableau indexées pour
chaque tour.
Figure 3.1.1: DFG de la boucle

Algorithme:

Divisez x en deux moitiés 32 bits: xL , xR

For i = 1to 32:

xL = XL XOR Pi

xR = F(XL) XOR xR

Swap XL and xR

Swap XL and xR (Annuler le dernier échange.)

xR = xR XOR P17

xL = xL XOR P18

Recombinez xL et xR

Pour le cryptage, le même processus est appliqué, sauf que les sous-clés Pi doivent être
fournies dans l'ordre inverse. La nature du réseau Feiestel garantit que chaque moitié est
permutée pour le tour suivant (sauf, ici, pour les deux dernières sous-clés P17 et P18).

4. Conclusion:

L'algorithme proposé du Blowfish peut atteindre un cryptage de données efficace jusqu'à 4


bits par horloge. Dans cette conception, nous évitons la contrainte limitée d'E / S en
modifiant les E / S de 64 bits à 16 bits. L'architecture proposée devrait satisfaire le besoin de
chiffrement de données à haut débit et peut être appliquée à divers dispositifs
respectivement.

Dans cet article, nous avons discuté de l'algorithme Blowfish, il s'agit d'un chiffrement par
bloc de clé de longueur variable. Il convient aux applications où la clé ne change pas souvent,
comme une liaison de communication. C'est plus rapide que DES.

Blowfish est un algorithme de cryptage par bloc de 16 passes qui n'est jamais cassé.

BLOWFISH est fréquemment utilisé car:

 Il a été testé à plusieurs reprises et jugé sûr.


 Il est rapide car il tire parti des instructions intégrées sur les microprocesseurs
actuels pour les opérations de base de mélange de bits.
 Il a été placé dans le domaine public.

S-ar putea să vă placă și