- memcpy(tmp,right,DES_DATA_BLOCK_LEN/(2*8));
- for(j=0;j<DES_DATA_BLOCK_LEN/(2*8);j++)
- right[j]=permuted_data[j]^left[j];
- /* switch left and right data - not for last round */
- if(i!=15) memcpy(left,tmp,DES_DATA_BLOCK_LEN/(2*8));
+ if(i!=15) {
+ memcpy(tmp,right,DES_DATA_BLOCK_LEN/(2*8));
+ for(j=0;j<DES_DATA_BLOCK_LEN/(2*8);j++)
+ right[j]=permuted_data[j]^left[j];
+ /* switch left and right data - not for last round */
+ memcpy(left,tmp,DES_DATA_BLOCK_LEN/(2*8));
+ }
+ else
+ for(j=0;j<DES_DATA_BLOCK_LEN/(2*8);j++) left[j]^=permuted_data[j];