/*****************************************************************************/ /* */ /* 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; }