Cryptographie

Fermé
Utilisateur anonyme -  
irongege Messages postés 41001 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour

J'ai un projet de cryptographie DES et j'ai ramassée ce bout de code sur internet et je comprends pas ce qu'elle fait et j'aimerai l'utiliser dans mon code et j'ai peur que le prof me demande de lui expliquer.


private static byte[] extractBits(byte[] input, int pos, int n) {
int numOfBytes = (n - 1) / 8 + 1;
byte[] out = new byte[numOfBytes];
for (int i = 0; i < n; i++) {
int val = extractBit(input, pos + i);
setBit(out, i, val);
}
return out;

}


private static byte[] encrypt64Bloc(byte[] bloc,byte[][] subkeys, boolean isDecrypt) {
byte[] tmp = new byte[bloc.length];
byte[] R = new byte[bloc.length / 2];
byte[] L = new byte[bloc.length / 2];

tmp = permutFunc(bloc, IP);

L = extractBits(tmp, 0, IP.length/2);
R = extractBits(tmp, IP.length/2, IP.length/2);

for (int i = 0; i < 16; i++) {
byte[] tmpR = R;
if(isDecrypt)
R = f_func(R, subkeys[15-i]);
else
R = f_func(R,subkeys[i]);
R = xor_func(L, R);
L = tmpR;
}

tmp = concatBits(R, IP.length/2, L, IP.length/2);

tmp = permutFunc(tmp, invIP);
return tmp;
}

1 réponse

irongege Messages postés 41001 Date d'inscription   Statut Modérateur Dernière intervention   5 079
 
Bonjour

Selon le théorème de CCM, toute demande d'aide au devoir finit implacablement plongée dans les profondeurs des messages hors sujets.
Sur ce, je vous invite à prendre connaissance de cette information concernant vos demandes de devoirs.
0