/*****************************************************************************/
/*									     */
/*  LEFT-SHIFT 256 BITS 						     */
/*  10/16/09 (dkc)							     */
/*									     */
/*****************************************************************************/
void lshift256(unsigned int A[8], unsigned int B[8], unsigned int shift) {

B[0]=A[0];
B[1]=A[1];
B[2]=A[2];
B[3]=A[3];
B[4]=A[4];
B[5]=A[5];
B[6]=A[6];
B[7]=A[7];
while (shift>31) {
   B[0]=B[1];
   B[1]=B[2];
   B[2]=B[3];
   B[3]=B[4];
   B[4]=B[5];
   B[5]=B[6];
   B[6]=B[7];
   B[7]=0;
   shift=shift-32;
   }
if (shift==0)
   return;

B[0]=(B[0]<<shift)|(B[1]>>(32-shift));
B[1]=(B[1]<<shift)|(B[2]>>(32-shift));
B[2]=(B[2]<<shift)|(B[3]>>(32-shift));
B[3]=(B[3]<<shift)|(B[4]>>(32-shift));
B[4]=(B[4]<<shift)|(B[5]>>(32-shift));
B[5]=(B[5]<<shift)|(B[6]>>(32-shift));
B[6]=(B[6]<<shift)|(B[7]>>(32-shift));
B[7]=B[7]<<shift;
return;
}