Как я могу проверить четность ключа DES?

Я работаю над алгоритмом DES (стандарт шифрования данных) в своем классе криптографии, в рамках которого я должен написать код C, который включает функцию проверки четности ключа DES.

Как я могу это сделать?


person Parth Doshi    schedule 22.08.2011    source источник


Ответы (1)


Я бы просто выполнил поиск в 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, но его должно быть достаточно легко перевести.

person Oliver Charlesworth    schedule 22.08.2011
comment
большое спасибо !! Код мне очень понятен... просто я не понял логики, когда пытался... в следующий раз подумаю больше, прежде чем публиковать такие вопросы!! - person Parth Doshi; 22.08.2011