2013年12月29日

C: 16bytes Shift one bit, 16bytes XOR

Shift one bit:
void leftshift_onebit(unsigned char *input,unsigned char *result){
 unsigned char overflow=0x00;  
 for(i=15;i>=0;i--){
  result[i]=input[i]<<1;
  result[i]|=overflow;
  if(((input[i]&0x80)>0x00)){
   overflow=0x01;
  }else{
   overflow=0x00;
  }
 }
}

16bytes xor:
void xor_128( unsigned char* a, unsigned char* b, unsigned char* out ) {
 int i;
 for( i = 0; i < 16; ++i )
  out[i] = a[i] ^ b[i];
}

Victor 筆記 2013/12/29

沒有留言:

張貼留言