| 518 | | #define K_ENCRYPT(regC, regD, ik) \ |
| 519 | | { \ |
| 520 | | register int z; \ |
| 521 | | register Word *rl, *k = ik; \ |
| 522 | | for(rl = rol[z = 0]; z < 16; rl = rol[++z], k += 2) { \ |
| 523 | | ROTATE_LEFT(regC, rl); \ |
| 524 | | ROTATE_LEFT(regD, rl); \ |
| 525 | | PC2(regC, regD, k); \ |
| 526 | | } \ |
| 527 | | } |
| 528 | | |
| 529 | | #define K_DECRYPT(regC, regD, ik) \ |
| 530 | | { \ |
| 531 | | register int z; \ |
| 532 | | register Word *rr, *k = ik; \ |
| 533 | | for(rr = ror[z = 0]; z < 16; rr = ror[++z], k += 2) { \ |
| 534 | | ROTATE_RIGHT(regC, rr); \ |
| 535 | | ROTATE_RIGHT(regD, rr); \ |
| 536 | | PC2(regC, regD, k); \ |
| 537 | | } \ |
| | 518 | static void K_ENCRYPT(Word regC, Word regD, Word *ik) |
| | 519 | { |
| | 520 | register int z; |
| | 521 | register Word *rl, *k = ik; |
| | 522 | for(rl = rol[z = 0]; z < 16; rl = rol[++z], k += 2) { |
| | 523 | ROTATE_LEFT(regC, rl); |
| | 524 | ROTATE_LEFT(regD, rl); |
| | 525 | PC2(regC, regD, k); |
| | 526 | } |
| | 527 | } |
| | 528 | |
| | 529 | static void K_DECRYPT(Word regC, Word regD, Word *ik) |
| | 530 | { |
| | 531 | register int z; |
| | 532 | register Word *rr, *k = ik; |
| | 533 | for(rr = ror[z = 0]; z < 16; rr = ror[++z], k += 2) { |
| | 534 | ROTATE_RIGHT(regC, rr); |
| | 535 | ROTATE_RIGHT(regD, rr); |
| | 536 | PC2(regC, regD, k); |
| | 537 | } |