Cryptographie

Fermé
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

  1. Modérateur
    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.