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
| void InitPermut (char msg1[8], char R[32], char L[32]) {
int i, j, y ;
static char a1, tab[64], output1[64], msg_tps[8];
for (x = 0; x < = 7 ; x ++)
msg_tps[x] = msg1[x];
y = 0;
for ( i = 0 ; i < = ; i + +) {
for ( j = 0 ; j < = 7 ; j ++) {
a1 = msg1[i] & 2 puiss (7-j) ; /* et binaire , avec 2 à la puissance (7-j) */
tab[j + y * 8] = a1 >> (7-j);
msg1[i] = msg_tps[i]; }
y = y + 1 ;}
for (i = 63; i >= 0 ; i--)
output1[IPDES[i]] = tab[i];
for (i = 63; i >= 0; i--) /* decoupage en L et R */
if (i >= 32)
R[i-32] = output1[i];
else
L[i] = output1[i]; }
} |