Comment puis-je vérifier la parité d’une clé DES?

Je travaille sur l’algorithme DES (Data Encryption Standard) de ma classe de cryptographie, dans le cadre duquel je dois écrire un code C comprenant une fonction permettant de vérifier la parité d’une clé DES.

Comment puis-je faire ceci?

Je voudrais juste faire une recherche sur Google , et choisir l’ un des premiers résultats qui apparaissent

Tiré du lien ci-dessus:

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; } 

Ce n'est pas du pur C, mais cela devrait être assez facile à traduire.