Лабораторная работа: Алгоритм формирования ключей в процессе функционирования DES
printf («%d», N[i]);}
printf («\n»);
C[0]=N[57]; C[1]=N[49]; C[2]=N[41]; C[3]=N[33]; C[4]=N[25]; C[5]=N[17]; C[6]=N[9]; C[7]=N[1];
C[8]=N[58]; C[9]=N[50]; C[10]=N[42]; C[11]=N[34]; C[12]=N[26]; C[13]=N[18]; C[14]=N[10];
C[15]=N[2]; C[16]=N[59]; C[17]=N[51]; C[18]=N[43]; C[19]=N[35]; C[20]=N[27]; C[21]=N[19];
C[22]=N[11]; C[23]=N[3]; C[24]=N[60]; C[25]=N[52]; C[26]=N[44]; C[27]=N[36]; C[28]=N[63];
C[29]=N[55]; C[30]=N[47]; C[31]=N[39]; C[32]=N[31]; C[33]=N[23]; C[34]=N[15]; C[35]=N[7];
C[36]=N[62]; C[37]=N[54]; C[38]=N[46]; C[39]=N[38]; C[40]=N[30]; C[41]=N[22]; C[42]=N[14];
C[43]=N[6]; C[44]=N[61]; C[45]=N[53]; C[46]=N[45]; C[47]=N[37]; C[48]=N[29]; C[49]=N[21];
C[50]=N[13]; C[51]=N[5]; C[52]=N[28]; C[53]=N[20]; C[54]=N[12]; C[55]=N[4];
for (i=0; i<56; i++) {
printf («%d», C[i]);
}
for (i=0; i<56; i++) {
if (i<28) {
Z[i]=C[i];}
if (i>27) {
R [i-28]=C[i];}
}
printf («\n»);
for (i=0; i<28; i++) {
printf («%d», Z[i]);}
printf («\n»);
for (i=0; i<28; i++) {
printf («%d», R[i]);}
printf («\n»);
printf («\n»);
for (j=0; j<16; j++) {
v=key[j];