Cryptage une image par l'operation xor

mkhadi Messages postés 58 Date d'inscription lundi 1 novembre 2010 Statut Membre Dernière intervention 4 décembre 2018 - 10 juin 2012 à 01:18
 Utilisateur anonyme - 19 avril 2013 à 19:53
slt a tous le monde .
je veut crypter une image après la conversion les pixel a binaire par l’opération xor
j'ai cette clé et je veut crypter l'image ligne par ligne par ce clé je fait ce code mes je trouve des problème malgré les valeur en binaire mais le résultat en décimale
le cle : int []cle= {18,18,19,11,27,20,2,27,29,6,17,38,14,6,33,29,0,18,29,14,16,30,17,14,28,18,1,29,32,5,15,39,
18,18,19,11,27,20,2,27,29,6,17,38,14,6,33,29,0,18,29,14,16,30,17,14,28,18,1,29,32,5,15,39,
18,18,19,11,27,20,2,27,29,6,17,38,14,6,33,29,0,18,29,14,16,30,17,14,28};
voici mon programe
int []img_ch=new int[img_c.length];
for(int i=0;i<130;i++)
{
for(int j=0;j<87;j++)

img_ch[j] =img_c[j]^cl[j];

};


aide moi svp

11 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
11 juin 2012 à 09:12
Salut,

Je ne suis pas certain que l'opérateur ^ existe en java. Utilises Math.pow.

J'ai une autre question : avec ta méthode, pour chiffrer un message de n bit, tu utilises une clé de n bit. Ce qui signifie que pour envoyer un message de n bit, tu dois d'abord récupérer de manière sûre une clé de n bit, dans ce cas, pourquoi ne pas directement échanger le message ?
mkhadi Messages postés 58 Date d'inscription lundi 1 novembre 2010 Statut Membre Dernière intervention 4 décembre 2018
12 juin 2012 à 01:53
j'essayer avec ce code est ce que juste et tu peut indiquer comment ytilise Mat.pow
String XOR(String A, String B){

String R="";
String [] img_bin=new String[tabpix.length] ;
String[]cleb=new String[cle.length];
int i=0;
img_bin[i]=A;
cleb[i]=B;
int[] img_c =new int[tabpix.length];
int[] cl =new int[cle.length];
int[] img_ch =new int[tabpix.length];
for( i=0;i<130;i++)
{
for( int j=0;j<87;j++)
{
for ( int k = 0; k < A.length(); k++) {

img_c[k]= Integer.parseInt(A.substring(k,k+1));
cl[k]= Integer.parseInt(B.substring(k,k+1));
//int v=a^b;

//img_c[i]=a;
//cl[i]=b;
// img_ch[i]=v;
img_ch[i*87+j] =img_c[i*87+j]^cl[i*87+j];
R=R+img_ch[i];
// System.out.println("ssssssssssss "+a);
}

}

}
return(R);
}
corriger mon fonction svp
Utilisateur anonyme
12 juin 2012 à 14:22
img_ch[i*87+j] =img_c[i*87+j]^cl[i*87+j]; 

donne
img_ch[i*87+j] = Math.pow(img_c[i*87+j],cl[i*87+j]); 


Si tu veux, Math.pow(A, B) équivaut à A^B.

Un petit saut sur double) l'APIne fait pas de mal sinon.


--
Pylouq
(Lire le Réglement n'a jamais tué personne, au pire ça a instruit des gens.)
mkhadi Messages postés 58 Date d'inscription lundi 1 novembre 2010 Statut Membre Dernière intervention 4 décembre 2018
12 juin 2012 à 22:51
merci bcp j'essayer pour ça .
j'appliquer cette fonction :

String XOR(String A, String B){

   String R="";

       for (int i = 0; i < A.length(); i++) {

        int a= Integer.parseInt(A.substring(i,i+1));
         int b= Integer.parseInt(B.substring(i,i+1));
         int v=a^b;
         R=R+v;
       // System.out.println("ssssssssssss "+a);
       }

   return(R);



   }
//*******************************Xor entre deux tableau ********
String[]XORT(String[]A,String []B){
    String[]C= new String[A.length];
        for (int i = 0; i < C.length; i++) {
           C[i]=XOR(A[i], B[i]);
            
        }
    
    return(C);
    }


Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
21 juin 2012 à 14:18
Alors, où en es-tu ? Ton problème est-il résolu ? A voir ton code, j'en doute.

--
Pylouq
(Lire le Réglement n'a jamais tué personne, au pire ça a instruit des gens.)
mkhadi Messages postés 58 Date d'inscription lundi 1 novembre 2010 Statut Membre Dernière intervention 4 décembre 2018
21 juin 2012 à 14:59
salut
avant je trouve la solution de mon problème je proposé mon problème et après je trouve les soulution je propos mon solution pour importer par autre gent merci a votre attention .
Utilisateur anonyme
26 juin 2012 à 12:00
Si ton problème est résolu, clique sur "Réponse terminée" pour le post qui résout ce problème.


--
Pylouq
(Lire le Réglement n'a jamais tué personne, au pire ça a instruit des gens.)
mkhadi Messages postés 58 Date d'inscription lundi 1 novembre 2010 Statut Membre Dernière intervention 4 décembre 2018
26 juin 2012 à 23:44
salut comment clique sur "Réponse terminée"
Utilisateur anonyme
28 juin 2012 à 15:42
"Réponse acceptée" je voulais dire, je ne me suis pas relu ^^'


--
Pylouq
(Lire le Réglement n'a jamais tué personne, au pire ça a instruit des gens.)
walid50825000
27 mars 2013 à 12:48
Lors du décodage du message
La longueur du bloc n'est pas approprié
Qu'est-ce qui ne va pas ?
S'il vous plaît noter que je veux pour crypter et décrypter l'image (converti en une tableau octets)
J'espère que votre aide s'il vous plaît.
Utilisateur anonyme
19 avril 2013 à 19:53
Bonjour,


Va plutôt faire un autre sujet au lieu de squatter ceux des autres. Et pense à lire le Règlement aussi stp.

A bientôt

--
Pylouq
Heureux sont ceux qui lisent le Réglement, ils ne finiront peut-être pas au bûcher.
Rejoignez-nous