Я работаю над алгоритмом DES (стандарт шифрования данных) в своем классе криптографии, в рамках которого я должен написать код C, который включает функцию проверки четности ключа DES.
Как я могу это сделать?
Я работаю над алгоритмом DES (стандарт шифрования данных) в своем классе криптографии, в рамках которого я должен написать код C, который включает функцию проверки четности ключа DES.
Как я могу это сделать?
Я бы просто выполнил поиск в Google и выберите один из первых результатов.
Взято по ссылке выше:
bool AdjustDESKeyParity(UCHAR* pucKey, int nKeyLen)
{
int cPar;
for(int i = 0; i < nKeyLen; i++)
{
cPar = 0;
for(int j = 0; j < DES::BLOCKSIZE; j++)
{
if(pucKey[i] & (0×01 << j))
cPar = !cPar;
}
if(!cPar)
pucKey[i] ^= 0×01;
}
return true;
}
Это не чистый C, но его должно быть достаточно легко перевести.