The Panama Cryptographic Function

By Joan Daemen and Craig Clapp

Dr. Dobb's Journal December 1998

(a) 
for(i=0 ; i<8 ; i++) { q[i] = a[i=1]; }
(b) 
for(i=0 ; i<8 ; i++) { q[i] = input[i]; }
(c)
for(j=1 ; j<25 ; j++) 
   { for(i=0 ; i<8 ; i++) B[j][i] = b[j-1][i]; } 
for(i=0 ; i<8 ; i++) { B[0][i] = b[31][i] ^ q[i]; } 
for(j=26 ; j<32 ; j++) 
   { for(i=0 ; i<8 ; i++) B[j][i] = b[j-1][i]; } 
for(i=0 ; i<8 ; i++) { B[25][i] = b[24][i] ^ b[31][(i+2 )%8 ]; }

Example 1: Pseudocode illustrating buffer update operation. (a) Push mode; (b) Pull mode; (c) common part.

Back to Article


Copyright © 1998, Dr. Dobb's Journal