Курсовая работа: Несанкционированный доступ к терминалам серверов с операционными системами семейства UNIX
if (salt & mask) {
if (dst < 24) src = dst + 24; else src = dst - 24;
} else src = dst;
DES_bs_all.E[dst] = &DES_bs_all.B[DES_E[src]];
DES_bs_all.E[dst + 48] = &DES_bs_all.B[DES_E[src] + 32];
mask <<= 1;
}
}
void DES_bs_clear_keys()
{
memset(DES_bs_all.K, 0, sizeof(DES_bs_all.K));
}
void DES_bs_set_key(char *key, int index)
{
register char *ptr;
register int ofs, bit;
register ARCH_WORD value;
ofs = 56;
for (ptr = key; *ptr && ofs; ptr++) {
bit = (ofs -= 7);
value = *ptr & 0x7F;
do {
DES_bs_all.K[bit++] |= (value & 1) << index;
} while (value >>= 1);
}
}
void DES_bs_crypt(int count)
{
register int bit;