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

 > 

La stéganographie par les images pour la sécurisation du transfert des messages

( Télécharger le fichier original )
par Richard ISHARA
Institut Superieur Pedagogique - Graduat 2008
  

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

III.3 CONVERSION DES NOMBRES DECIMAUX EN BINAIRES

Dans le calcul de la conversion d'un nombre décimal en binaire par une suite de division euclidienne par deux, il est connu que le premier reste sera le nombre binaire du poids le plus faible, car il se placera le plus à droite possible du correspondant binaire.

Le tableau des binaires qui sera retourné par la méthode ici-bas quant à lui sera lue de droite à gauche car il est rempli peu à peu par les premiers restes de la divisions euclidienne par 2.

La méthode suivante nous a aidé à convertir un nombre entré en argument de décimal un tableau de huit bits :

static int[] converDecimalBinaire(int nombre){

int[] Tconversion=new int[8];

int a=nombre;

for(int i=0;i<8;i++){

int h=a%2;

Tconversion[i]=h;

a/=2;

if(a==0)Tconversion[i]=0;

if(h==1)Tconversion[i]=1;

}

return Tconversion;

}

Le tableau retourné par cette méthode est toujours constitué par huit bits d'autant plus que le chiffre maximal 255 correspondant à ÿ est représenté au moins et suffisamment par huit bits. Quant aux chiffres qui ne totalisent pas 8 bits en leurs correspondants binaires, celui-ci sera complété par des 0 à son côté droit.

Cette méthode sera appelée tant pour convertir le message en binaire que les octets lus du message et insérés dans des tableaux.

Cette méthode sera encore appelée lorsqu'il faudra copier les bits du message de l'image. Des que les bits du message seront insérés dans ceux de trois tableaux, il restera alors de transformer chaque suite des bits en des nombres décimaux en vue d'être écrits dans l'Image de destination. La suite de montrera comment il faudra-t-il remettre les listes des binaires en des nombres entiers.

III.4 CONVERSION DES TABLEAUX BINAIRES (UN BIT) EN DES NOMBRES

ENTIERS

Le terme bit (b avec une minuscule dans les notations) signifie « binary digit », c'est-à-dire 0 ou 1 en numérotation binaire. Il s'agit de la plus petite unité d'information manipulable par une machine numérique. Il est possible de représenter physiquement cette information binaire.4(*)8

Quand on convertie un nombre de la base 2 en base 10, il est connu qu'il faut y aller en multipliant le chiffre significatifs par deux, exposant le nombre des chiffres significatifs se trouvant directement à droite. Tout en sachant que 2 exposant zéro donne un. Voici la méthode qui nous a servi de correspondre un tableau de huit chiffres binaires en un chiffre décimal :

static int coBinaireDdec(int[] tab){

int k=0;

int decimal=0;

CacherTexte od=new CacherTexte();

for(int j=0;j<8;j++){

k=tab[j]*od.deuxExposantN(2,j);

decimal+=k;

}

return decimal;

}

Remarquez qu'à la cinquième ligne, l'instruction : k=tab[j]*deuxExposantN(2,j)

Comporte l'identifiant `deuxExposantN' qui ne figure pas entre les mots clés du langage java. Celui-ci est un nom d'une autre méthode que nous avions conçu, méthode qui calcule pour toute tournure de la boucle : 2 exposant le nombre des chiffres significatifs se trouvant à droite du multiplicateur en cours.

C'est pourquoi cette méthode reçoit dans la liste de ses arguments 2 et j, le compteur des nombres se trouvant après le chiffre multiplicateur, significatif en cours. Voici le corps de la méthode deuxExposantN :

static int deuxExposantN(int coeff,int exposant){

int m,n;

m=1;

n=0;

do{

if(exposant==0)m=1;

else

m=m*coeff;

n+=1;

}while(n<exposant);

return m;

}

Cette méthode recevra en argument deux nombres: un coefficient qui est généralement 2 et un exposant qui doit être entre 7 et 0 tout en sachant que 20=1. Toutes les méthodes que nous venons de montrer n'ont pas explicité comment les bits du message seront insérés dans ceux de l'image. L'intertitre suivant expliquera comment nous pouvons à partir d'une méthode qui sera appelée pour chaque pixel, cacher les bits du message dans ceux des octets de l'image.

* 8 http://www.commentCamarche.net, valide le 16 novembre 2008.88856323

22

6323288888

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








"L'ignorant affirme, le savant doute, le sage réfléchit"   Aristote