I need help please , I need to see the result of f []
XOR k1
...of all element of f[]
... but i have problem and i don't know how i fixed it ... for exmple : 65 ^ k1 = 237
;
66^k1=238
float x[16] ;
byte b[256] ;
int z ;
float a ;
int tt ;
int r = 4 ;
int i ;
int j ;
int L ;
int f[16][16];
int bprime[16][16];
char fprime[] = {86,237} ;
int k1 = 23;
int k2 = 84 ;
int k3=233;
int k4=172;
void setup() {
Serial.begin(9600);
x[1]= 0.789632145698 ; //Serial.println(MAT);
}
void loop() {
for ( int i = 2; i <=16 ; i++) {
x[i] = r * (x[i-1]*(1 - x[i-1]));
}
// partie de binairisation
for ( int u = 1; u <= 10 ; u++) {
a=x[u];
i=u-1 ;
for (int k = 0 ; k <= 15; k++){
if (a>=1/pow(2,k)){
a=a-(1/pow(2,k));
b[16*i+k]=1 ;
}
else {
a=a;
b[16*i+k]= 0;
//Serial.println(a) ;
}
// Serial.println(b[16*i+k]);
tt=16*u+1;
b[1,tt]=1;
}
}
for ( int i = 0; i <= 15 ; i++){
for (int j = 0; j <= 15 ; j++){
L = i*16+j;
bprime[i][j]= 2*b[L]+b[L+1];
// Serial.println(bprime[i,j]);
}
}
// cryptage
for (int i = 0 ; i <= 15 ; i++){
for ( int j = 0 ; j <= 15 ; j++){
for (int z=0 ; z<= sizeof(fprime) ; z++){
fprime[sizeof(fprime)]=f[z];
switch (bprime[i][j]) {
case 1:
f[i][j]=f[z]^k1;
break;
case 2:
f[i][j]=f[z]^k3 ;
break;
case 3:
f[i][j]=f[z]^k2;
break;
default:
f[i][j]=f[z]^k4;
break;
}
} Serial.println(fprime[i][j]);
}
} }