рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Исходный код

Исходный код - раздел Программирование, Алгоритм формирования ключей в процессе функционирования DES Исходный Код. Include <stdio.h> #include<math.h> #include<stri...

Исходный код. include <stdio.h> #include<math.h> #include<string.h> #include<stdlib.h> int main (int argc, char *argv[]) { int i, b, y, r, j, v, p, m, l, f, u, k, a, s, q, D[100] [100], Y[100] [100], U[100] [100], X[1000] [1000], E[100] [100], G[100] [100], W[100] [100], P[100] [1 $ double z; int key[16]={1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1 }; char A[1000]; char B[200]; char N[200]; char T[200]; char C[1000]; char Z[43]; char R[43]; char L[43]; char *str2; char *str; char *str1; char *str3; char *str4; char *str5; char d[100]; printf (« Vvedite key »); str=(char *) (malloc(1000)); for (i=0; i<1000; i++) { scanf («%c»,&str[i]); if (str[i]==(char) 10) { m=i; break; } if (str[i]==(char) 32) { str[i]=157;} } if (m!=8) { printf (« Key neveren »); } for (i=0; i<m; i++) { A[i]=str[i];} for (i=0; i<m; i++) { B[i]=(int) A[i]; printf («%d », B[i]); } for (i=0; i<m; i++) { f=B[i]; for (j=0; j<8; j++) { if (f<1) { X[j] [i]=0; goto Metka;} s=f/2; /*printf («%d», s);*/ z=fmod (f, 2); if (z!=0) X[j] [i]=1; else X[j] [i]=0; f=s; Metka:printf («%d», X[j] [i]);} printf (« »); } printf (« »); k=0; for (i=0; i<m; i++) { k=i*8; for (j=0; j<8; j++) { N [j+k]=X [8-j-1] [i]; } } for (i=0; i<64; i++) { printf («%d», N[i]);} printf (« »); 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 (« »); for (i=0; i<28; i++) { printf («%d», Z[i]);} printf (« »); for (i=0; i<28; i++) { printf («%d», R[i]);} printf (« »); printf (« »); for (j=0; j<16; j++) { v=key[j]; for (i=0; i<28; i++) { if (v==2) { Y[26] [j]=Z[0]; Y[27] [j]=Z[1]; U[26] [j]=R[0]; U[27] [j]=R[1]; } if (v==1) { Y[27] [j]=Z[1]; U[27] [j]=R[1]; } if (i<(28-v)) { Y[i] [j]=Z [i+v]; U[i] [j]=R [i+v];} Z[i]=Y[i] [j]; R[i]=U[i] [j]; /*printf («%d», U[i] [j]);*/ } /*printf (« »);*/ } for (j=0; j<16; j++) { for (i=0; i<56; i++) { if (i<28) { W[i] [j]=Y[i] [j];} if (i>27) { W[i] [j]=U [i-28] [j];} printf («%d», W[i] [j]); } printf (« »); } for (j=0; j<16; j++) { P[0] [j]=W[14] [j]; P[1] [j]=W[17] [j]; P[2] [j]=W[11] [j]; P[3] [j]=W[24] [j]; P[4] [j]=W[1] [j]; P[5] [j]=W[5] [j]; P[6] [j]=W[3] [j]; P[7] [j]=W[28] [j]; P[8] [j]=W[15] [j]; P[9] [j]=W[6] [j]; P[10] [j]=W[21] [j]; P[11] [j]=W[10] [j]; P[12] [j]=W[23] [j]; P[13] [j]=W[19] [j]; P[14] [j]=W[12] [j]; P[15] [j]=W[4] [j]; P[16] [j]=W[26] [j]; P[17] [j]=W[8] [j]; P[18] [j]=W[16] [j]; P[19] [j]=W[7] [j]; P[20] [j]=W[27] [j]; P[21] [j]=W[20] [j]; P[22] [j]=W[13] [j]; P[23] [j]=W[2] [j]; P[24] [j]=W[41] [j]; P[25] [j]=W[52] [j]; P[26] [j]=W[31] [j]; P[27] [j]=W[37] [j]; P[28] [j]=W[47] [j]; P[29] [j]=W[55] [j]; P[30] [j]=W[30] [j]; P[31] [j]=W[40] [j]; P[32] [j]=W[51] [j]; P[33] [j]=W[45] [j]; P[34] [j]=W[33] [j]; P[35] [j]=W[48] [j]; P[36] [j]=W[44] [j]; P[37] [j]=W[49] [j]; P[38] [j]=W[39] [j]; P[39] [j]=W[56] [j]; P[40] [j]=W[34] [j]; P[41] [j]=W[53] [j]; P[42] [j]=W[46] [j]; P[43] [j]=W[42] [j]; P[44] [j]=W[50] [j]; P[45] [j]=W[36] [j]; P[46] [j]=W[29] [j]; P[47] [j]=W[32] [j]; } for (j=0; j<16; j++) { for (i=0; i<48; i++) { printf («%d», P[i] [j]); } printf (« »); } }

– Конец работы –

Эта тема принадлежит разделу:

Алгоритм формирования ключей в процессе функционирования DES

Входные данные: Ключ состоит из 8 символов или 8 байт. Соответственно ключ имеет размер 64 байта. Но размер ключа используется только для записи (для организации данных).… Например, последовательность C(3) получается, посредством сдвига влево на две позиции последовательности C(2), а…

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Исходный код

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Работа алгоритма
Работа алгоритма. шаг. Перестановки битов ключа с использованием таблицы перестановок. Для примера введем: olga1234 Заданный ключ в двоичном представлении: В начале над ключом шифра выполняется опе

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги