-int data_perm(u8 *plain,u8 *pd) {
- int i;
- memset(pd,0,DES_DATA_BLOCK_LEN/8);
- for(i=0;i<DES_DATA_BLOCK_LEN;i++)
- pd[i/8]|=((((plain[data_perm_table[i]-1)/8]>>((8-data_perm_table[i]%8)&7))&1)<<(7-i%8));
- return 1;
-}
-
-int data_expansion_perm(u8 *right,u8 expanded) {
- int i;
- memset(expanded,0,DES_SUBKEY_LEN/8);
- for(i=0;i<DES_SUBKEY_LEN;i++)
- expanded[i/8]|=((((right[data_expansion_table[i]-1)/8]>>((8-data_expansion_table[i]%8)&7))&1)<<(7-i%8));
- return 1;
-}
-