WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Génération des clés pour cryptosystèmes symétriques basée sur les bits pseudo-aléatoires

( Télécharger le fichier original )
par Fremy MAKANGA
Université de Kinshasa - Licence en Mathématiques et Informatique 2011
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

CHAPITRE IV : IMPLEMENTATION ET INTERPRETATION DES RESULTATS

Dans ce chapitre nous présentons l'implémentation de l'algorithme de Blum-Blum-Shub et l'interprétation des résultats obtenus.

Voici l'algorithme de Blum-Blum-Shub :

Générer et

Faire

Choisir

Calculer le germe :

La séquence est

Sortie est :

Nous avons implémenté l'algorithme de Blum-Blum-Shub en c++ à partir du compilateur DEV-C++.

Voici les codes du programme :

#include <iostream>

#include<conio.h>

using namespace std;

int main()

{

int i,B;

unsigned long long int X,n,p,q,s;

cout<<endl<<"Entrer la valeur de p:";// p un entier congru à 3 modulo 4

cin>>p;

cout<<endl<<"Entrer la valeur de q:";//q un entier congru à 3 modulo 4

cin>>q;

n=p*q;//ceci calcule l'entier de blum

cout<<endl<<" L'entier de Blum est:"<<n;

cout<<endl<<"Entrer la valeur pour calculer le germe:";//Le germe,un entier premier avec n

cin>>s;

X=(s*s);

X=X%n;//calcule du germe

for(int i=1;i<=10000;i++)

{

X=(X*X)%n;//

B=X%2;//calcule les bits de la séquence

cout<<B;

}

getch ();

}

Nous savons que l'entier de Blum est défini par , où et sont tous deux congrus à 3 modulo 4. En d'autres termes et . Nous prenons et petits, avec et .

Alors et , alors ,prenons , puisque ,la séquence comportera 10.000 bits.

La séquence était produite en 1,20 secondes dans un ordinateur dont les caractéristiques sont :

Ø Dual Core , Processeur AMD Sempron (tm) 2.10 GHz

Ø 3.00 Go de RAM

Voici la sequence :

011100001010110011000110100111000001011000001000000101010101110101101111110111110100011110100100100011000100100010010010000001111100010111010101111110100001010101101011101100001111111001101100100000110111000000101010011101010101111100100010111110111111101010111111001110100101111010000001101110001101100010111101000100110000010000101001110110110101000011010011100000001111110110100110110101010100100110100111011010100101001001111011001111010001000101000111110100011000110110000110010110001000000101101010111001110101010001100100110111100110110111011101101000100110011000011100101001000101011010010011011101000001100001111111010000001010101001000110100010111101000100111001010101011010001100011101011111010000011000110101111011001010001110111100101101101111101110110100101000011001111010000011110100001000111100000010011111111100010111011111100010001001001110010111010101001111000101010011001010000111010000000011011010110101011000111100011111100100110110000010101100101111000111000111111110100001110100000101110100011110001001011100100001111001101100101100001101011100010111011000001011100000101010111000100111001010100110101111011111001111001101000000000101111111101000000001001110011010010011011110110110011111100001001010000111000111000110100111001010100011111100011010100111110001110010011000101001110101111111100011110001111001010001011011000001110001111110000010011011001000011101000001110001101101010010010000011101111111101100101100110000000011100011110100101101010010010000100010110010010101010101011000110100100111111111010001010101000011001010111100111111000011000001110011010011111011000111100000101101011010011000010000000111011100011100110011011011010001100101001011010001011101110111101100100010100000001100111011111000100011000100110000110001110010000000011000101100000100110100101010101011010011001011010111111100011001011011011110000110101111101011111000000000101000000100011100100000111110010100111010110101101011011000010001001111011100100010001010010000000010010010000001001111011010101101011111000001111110000010100011101011011110011011000111011011111100011011001000101001001010110011010011110101111101011111010110111101011011110011100011001100101010011010010111100101100111010001000100000011100100110010001111000010010010100110001001100000110010100011010001101000010111000100100001000010001000001010111010110001100010001101100000001010011100101000011011000001011001001011011111000100101010010011111101101110010110100010110101111101100111010010101111110110111011111100110100010011111010010011010010000011110000001110000011100000010011010000101000101110001001001101100000000001001110110100110001000101100011000110010000100100010001001000101100110001010010100111011100010001110100111100011101100001011110100001110100001100000110010011110001100000010000000111000001001000111010001011101010110000010011010000100010101001001100111011100010011011010000100001001110111111000100011100111010011000000110000101001111111101111100001010111000100000101111000111101010011000110111010010100110101010110110001010011001101000001101001100111101101110001101011111101011100100000101101101010010111001110011001111110011110000110111000100111010100001111111101110011000110110000101110111101000001110100100010101101110101011101100101001111100110100100011100110111001010011010110010100111100010010011010111000111101010110011100010101111101011111111111101101010100011010000000110101101101001100000010111001101100010100100001001110001000101000001100110010010011011000000011011000100001100110111110111111111000100101100000011001111110110110110110011010111001000010100100110000111100101011100111011001100110000110000111000101100111000100010111011101001110110101011001111010101111001000101000110111000011000111110111100011000010010101101100001111100100111001100110101000001011010000000010110101000111011110111011001101001011010110111111000000001110000011110001110011010101100101001000001111100011111101010000010101101001010100100101110011001000111101111100011100010011100001011001101001101100100111110111001011111001001011011111010111000100011000110000100000000100000110001110011010111001111101101000001101111000100101111000111010001110000001111101110100011100101101010010010000000110010101110011001011101010011000010101000100001111101001110111010010010000011011100000001110000001110110010101000101010101001001001011001111001111001011110000001100010010110001100111101110011000111001000010011000111111010100110101101101001101111000001100100010110110110001010010010101101100101100000000101001000001111110001110001101100000100101110000101001001010111110000110110101000111111011110010000101011111010110100110101011011110100101110110001100100100000000010011001100000110011111011010000001111011101001100111001010000100001000000000011101101001011110011100000010000011001001010111111010011100000010010111101110001111110011010011010000001000111100000100010001101111011100110011000010011001010011001000011001010101110110010001100001011000010011100101101111111110011010000101010000111001100000111110101011011011001000101011011001010100110101110110100001111111

001111101111001001111111001110110011110101001010010100111010010100111110011001100000001000010010101000111000111111100000110100111001010110101101110111110110111110111001010101011101011010101101010011000000010011000101100110011010111110110011011000111111011000110000111111100110100111010110011100111100001001111010000100101000111010111000101100110000100000111010001000010100000000000111000110101011100011110000111100111010001001100001110100001011111010010100011011111000110011010110001110101000011100000101011110011001100010000011110010101011001111011100110011001001100000110000101110101001110110010111101011100011011001001010010111010111100110000011101100010010010010111111011011101111111110101111110100000010110110100111111001111001001111000110111111100101011111111111010001000100011100101011100000001101111101100001001001010001101110010101001110100111001110110101001111110011101111101110111010110001000101001010101100001111101101100000001110010000000000000001011100001010011101110110001100101101111011101110111101101001110100010010111110101101110011001011000000001011011101100100101011010111111111100001101000100010110110000000011010000110010011000111010011010000111110001000100110111010110000111011001101010111001010001110001111000100100001110110011101111101010000000010000001110000100010001111001000101110111111010110011010101100000101101111111010010100000011010100100101000001010110100111100000100010010000111001011001111010110111010110101011011010111011000101011011000000101111110011001101111010100110010101001000101101101001101000000000110101011111001101110101101000101111010100010000001110100100111110111010110110101010111101000111101010101100100110011010000011111000011011100100111001111111001101000110111010100110011110100100001010111100111100001101010010000001010011010010110011000010100000001111000101100111010000000000001000011111000100001111001111001010011110001001000010101000000001011101010110111100110001100010011110111001111100000111100100100010100010001111100100001100011100111011011101011001010010101101001001011100111000110011000011010011101101110111000011000000010000110001100110100111010001011111100000011001000110111110001110010010101111011111010111110101010111111100111001100100000010010011000011111000000010011100000101111010111111110000001010010110011110111110110101101001000111011011000110010011110110101110011010011100111000000011110000001010001101001001010000001111110000010111100110000011100111011001111101010011111110011110101110010010001001111110011000100001010010101101111110010010111100011011100001001110011000110001001010111011100100110110110001110001001000000100101111110101111000011000001111100100001110111001111010111110010101100101011110101111010000011011000001000111101011000101100100001011000001100011110010101010111000101001000111010000100011000010001101110001010111001111101011010101010000000000101100100010110011000100100000000101011001111001100100000010101000001010010101100000111111000001001010000000000010111100100001010110101100101100101101100001011101001011101110001110110000000010101101101101110000010101011100001000100001100110010101011100101111011111001101110111001011101111000001101011110110001101100010110001111110111010101110011101011111101101101111000001000111011000011011010011110101110100100001101100110001110000011101000011010010111001001101100110110011011010101100000110001111010110001110111011110011100110000111000110000011010011110100101100101111010001101111100111111111100110111111110001010001111101110010101100110101001111101001111010110011110001001010100101101110100111010001100001110111001011010010100111101110001011010000110101010000001010010011001010111010111111110110010101011000101000000101101010100001010010111101000110111000010000001010010110101010000101001101011100010010011100111000011110010001110101100001101001111111100011011000010111011001101010110010101011110010011101101001000101110100001000100010001011101001100101010001110011000011001101010101010110011010111000110001101011011100000111100111001100010111001011101011001100111011000011000001111001100000110000011101001010000010110010110000000101111000101100010111000010111110100000100001010100010111001110001001010011101010100100011011010110110001000100111111111110011000111001100011010011100111111010011011001101011101111010011011010011001100010000001111100110110111111000100001010110011100111011111110101110000101000111011010101011000001100010010110000111011100010110101010100101111110001111101110100011010111011010001110010011011111101010011011011100111101011100000001010100110111010110001011101110101011000100101110111100011010000110000111110110010111111000011111010101111100001110111011110010011100010100101101101011001101001110001101111110110001100001010100100011000111110110010011100110101111011100110011010010011111011110100101101010100011010000100100011011001110011101000011010000100111010101111000000100010011100100110001101100111010111010011001100101011110111010010101101011111101001010110000101100000100101111011000000

La séquence binaire aléatoire produite peut être utilisée pour clés au chiffrement par flot ou au chiffrement de verman enfin de répondre aux conditions du théorème de Claude Shannon sur la sécurité parfaite : une nouvelle clé est tirée à chaque chiffrement, la clé est aussi longue que le texte clair, toutes les clés sont équiprobables.

Si nous avons un message de bits à chiffrer, on considère les premiers bits de la séquence aléatoire générée qui constituent un mot et on fait l'opération « ou exclusif bit à bit » entre le message et la partie de la séquence aléatoire considérée comme clé. C'est-à-dire

Il est à noter que l'expéditeur et le destinateur ont le même générateur. A la réception, le destinateur extrait de la même façon les premiers bits de la séquence aléatoire et calcule ensuite . Les deux interlocuteurs jettent la partie utilisée et peuvent effectuer une nouvelle transaction en procédant de même avec le reste de la clé.

Voici le schéma illustrant l'utilisation de la séquence binaire générée avec un message quelconque binaire

Fig.4. Schéma illustrant l'utilisation de la séquence binaire produite

Clé

Partie utilisée K

Nouvelle clé

Message clair

Message chiffré

1

0

0

0

1

0

0

1

0

0

1

0

1

0

1

1

0

0

.

.

.

.

1

1

1

0

0

0

0

1

0

.

1

1

1

1

0

0

0

1

0

1

1

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"I don't believe we shall ever have a good money again before we take the thing out of the hand of governments. We can't take it violently, out of the hands of governments, all we can do is by some sly roundabout way introduce something that they can't stop ..."   Friedrich Hayek (1899-1992) en 1984