Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void decrypt (unsigned char key[6], unsigned char crypted[16], unsigned char decr[16]) {
- for (int i = 0; i < 16; i++) {
- decr[i] = crypted[i];
- }
- for (int k = 0; k < 6; k++) {
- unsigned char x = key[k];
- for (int r = 0; r < 100; r++) {
- int first = decr[15];
- int i;
- for (i = 15; i > 0; i--) {
- decr[i] = (((decr[i]) >> 3) ^ (decr[i-1] << 5));
- }
- decr[0] = ((decr[0] >> 3) ^ (first << 5 )) ;
- for (int i = 0; i < 16; i++) {
- unsigned int j;
- for (j = 0; j < sizeof(sbox); j++) {
- if (decr[i] == sbox[j])
- break;
- }
- for (int j = 0; j < 16; j++)
- x = x * 5 + 1;
- decr[i] = j;
- decr[i] ^= x;
- x = (x - 1) / 5;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement