Курсовая работа: Программная реализация алгоритма шифрования DES. Режим ECB
}
//Циклический сдвиг влево массива dataиз num_elemэлементов на num_shift
//позиций
void shift_left (unsigned char *data, int num_elem, int num_shift)
{
int save_bit;
for (int k=0; k < num_shift; ++k)
{
save_bit = get_bit(data, 0);
for (int i=0; i < num_elem - 1; ++i)
{
data[i] <<= 1;
set_bit(&data[i], 7, get_bit(&data[i+1], 0));
}
data[num_elem-1] <<=1;
set_bit (&data[num_elem-1], 7, save_bit);
}
}
//Циклический сдвиг вправо массива dataиз num_elemэлементов на num_shift
//позиций
void shift_right (unsigned char *data, int num_elem, int num_shift)
{
int save_bit;
for (int k=0; k < num_shift; ++k)
{
save_bit = get_bit(&data[num_elem-1], 7);
for (int i=num_elem - 1; i >= 1 ; --i)
{
data[i] >>= 1;