Курсовая работа: Программная реализация алгоритма шифрования DES. Режим ECB

}

//Обменивает биты в соответсвии с таблицами перестановки

//data_src- входной массив данных. Если NULLтогда данные берутся из data_des

//data_des- входной/выходной массив данных.

//transposition_table - таблицаперестановки

//num - кол-воэлементов/ 8 вdata_des иэлементоввtransposition_table

void transposition (unsigned char *data_des, unsigned char *data_src,

int *transposition_table, int num)

{

bool delete_mem=false;

if (data_src==NULL)

{

data_src = new unsigned char[num / 8];

memcpy(data_src, data_des, num / 8);

delete_mem=true;

}

for (int i=0; i<num; ++i)

set_bit(data_des, i, get_bit(data_src, transposition_table[i] - 1));

if (delete_mem) delete [] data_src;

}

//Возвращает значение S-подстановки

int get_S_substitution (int inp, int *S_table)

{

int string=0;//Строкавтаблице

int column=0;//Столбецвтаблице

string = get_bit((unsigned char*)(&inp), 2) |

get_bit((unsigned char *)(&inp), 5) << 1 ;

column = get_bit((unsigned char*)(&inp), 3) |

get_bit((unsigned char *)(&inp), 4) << 1 |

К-во Просмотров: 646
Бесплатно скачать Курсовая работа: Программная реализация алгоритма шифрования DES. Режим ECB