Bonjour

bon, j'ai commencé a faire les codes FCB et CBC , j'ai suivi des conseils mais je sais pas ou je me suis trompé
il y a toujours des problèmes dans mes programmes

voila pour le code CBC

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
 
int main(void)
{
int i,j,Ncl,Nme,l,k[50];
int m[100],c[50],v[100];
 
printf("donner la taille du message a crypter=");
scanf("%i",&Nme);
 
printf("\n");
 
printf("donner la taille de la cle a crypter=");
scanf("%i",&Ncl);
 
printf("donner le message a crypte \n");
for (i=0;i<Nme;i++){
  scanf("%i",&m[i]); }
 
printf("\n");
 
   printf("donner la cle \n");
for (i=0;i<Ncl;i++){
  scanf("%i",&k[i]); }
 
  printf("donner landa c0=");
  for (i=0;i<Ncl;i++){
    scanf("%i",&v[i]);  
   }
 
for (i=0;i<Nme;i=i+Ncl){
    for(j=0;j<Ncl;j++){
     if(j==0){ for(l=0;l<Ncl;l++){m[i+l]=m[i+l]xor(v[l]);}}                 
    c[i+j]=m[i+k[j]-1];
    v[j]=c[i+j];}}
 
printf("le message est \n");
for (i=0;i<Nme;i++){
 
printf("%i",c[i]); }
 
getch();
}

et voila le code fcb

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
 
int main(void)
{
int r,i,j,Ncl,Nme,o[50],w,k[50],m[100],c[100],v[100];
 
printf("donner la taille de message a crypter=");
scanf("%i",&Nme);
 
printf("\n");
 
printf("donner la taille de la clé=");
scanf("%i",&Ncl);
 
printf("donner le message a crypter \n");
for (i=0;i<Nme;i++){
  scanf("%i",&m[i]); }
 
printf("\n");
 
printf("donner la cle \n");
for (i=0;i<Ncl;i++){
scanf("%i",&k[i]); }
 
printf("donner la taille de r =");
scanf("%i",&r);
 
printf("\n");
 
printf("donner landa c0=\n");
for (i=0;i<Ncl;i++){
scanf("%i",&v[i]);}
 
   for (i=0;i<Nme;i=i+Ncl){
     if (i!=0){
 
for(j=0;j<Ncl;j++){
o[i+j]=v[i+k[j]-1];}
 
for (w=Ncl-r-2;w<Ncl;w++){
c[i+j]=o[w]xor(m[i+j]);}
}
}
 
printf("le message est \n");
for (i=0;i<Nme;i++){
printf("%i",c[i]); }
 
getch();
}
aidez moi svp et merci d'avance