Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unsigned long long encryptDESplain(unsigned long long plain, unsigned long long *subKeys){
- unsigned long long nova_plain = ip(plain);// primeira permuta (retira bits paridade)
- unsigned long long dir = nova_plain & 0xFFFFFFFF;//comparamos 32 bits
- unsigned long long esq = (nova_plain >>32) & 0xFFFFFFFF;//comparamos os 32 bits da esquerda
- unsigned long long plain_final = 0;
- int j = 0;
- for (j;j<16;j++){
- dir = nova_plain & 0xFFFFFFFF;
- esq = (nova_plain >> 32) & 0xFFFFFFFF;
- esq=esq ^ function_p(function_s(function_e(dir)^subKeys[j]));
- nova_plain = (dir << 32) | esq;
- }
- esq = (nova_plain << 32) & 0xFFFFFFFF00000000;
- dir = (nova_plain >> 32) & 0xFFFFFFFF;
- plain_final= dir | esq;
- return IP1(plain_final);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement