/*****************************************************************************/
/* */
/* RIGHT-SHIFT 128 BITS */
/* 10/16/09 (dkc) */
/* */
/*****************************************************************************/
void shift128(unsigned int A[4], unsigned int B[4], unsigned int shift) {
unsigned int temp;
B[0]=A[0];
B[1]=A[1];
B[2]=A[2];
B[3]=A[3];
while (shift>31) {
B[3]=B[2];
B[2]=B[1];
B[1]=B[0];
B[0]=0;
shift=shift-32;
}
if (shift==0)
return;
B[3]=B[3]>>shift;
temp=B[2]<<(32-shift);
B[3]=B[3]|temp;
B[2]=B[2]>>shift;
temp=B[1]<<(32-shift);
B[2]=B[2]|temp;
B[1]=B[1]>>shift;
temp=B[0]<<(32-shift);
B[1]=B[1]|temp;
B[0]=B[0]>>shift;
return;
}