/*****************************************************************************/
/*									     */
/*  LEFT-SHIFT 1024 BITS						     */
/*  03/28/10 (dkc)							     */
/*									     */
/*****************************************************************************/
void lshift1024(unsigned int A[32], unsigned int B[32], 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];
B[8]=A[8];
B[9]=A[9];
B[10]=A[10];
B[11]=A[11];
B[12]=A[12];
B[13]=A[13];
B[14]=A[14];
B[15]=A[15];
B[16]=A[16];
B[17]=A[17];
B[18]=A[18];
B[19]=A[19];
B[20]=A[20];
B[21]=A[21];
B[22]=A[22];
B[23]=A[23];
B[24]=A[24];
B[25]=A[25];
B[26]=A[26];
B[27]=A[27];
B[28]=A[28];
B[29]=A[29];
B[30]=A[30];
B[31]=A[31];

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]=B[8];
   B[8]=B[9];
   B[9]=B[10];
   B[10]=B[11];
   B[11]=B[12];
   B[12]=B[13];
   B[13]=B[14];
   B[14]=B[15];
   B[15]=B[16];
   B[16]=B[17];
   B[17]=B[18];
   B[18]=B[19];
   B[19]=B[20];
   B[20]=B[21];
   B[21]=B[22];
   B[22]=B[23];
   B[23]=B[24];
   B[24]=B[25];
   B[25]=B[26];
   B[26]=B[27];
   B[27]=B[28];
   B[28]=B[29];
   B[29]=B[30];
   B[30]=B[31];
   B[31]=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)|(B[8]>>(32-shift));
B[8]=(B[8]<<shift)|(B[9]>>(32-shift));
B[9]=(B[9]<<shift)|(B[10]>>(32-shift));
B[10]=(B[10]<<shift)|(B[11]>>(32-shift));
B[11]=(B[11]<<shift)|(B[12]>>(32-shift));
B[12]=(B[12]<<shift)|(B[13]>>(32-shift));
B[13]=(B[13]<<shift)|(B[14]>>(32-shift));
B[14]=(B[14]<<shift)|(B[15]>>(32-shift));
B[15]=(B[15]<<shift)|(B[16]>>(32-shift));
B[16]=(B[16]<<shift)|(B[17]>>(32-shift));
B[17]=(B[17]<<shift)|(B[18]>>(32-shift));
B[18]=(B[18]<<shift)|(B[19]>>(32-shift));
B[19]=(B[19]<<shift)|(B[20]>>(32-shift));
B[20]=(B[20]<<shift)|(B[21]>>(32-shift));
B[21]=(B[21]<<shift)|(B[22]>>(32-shift));
B[22]=(B[22]<<shift)|(B[23]>>(32-shift));
B[23]=(B[23]<<shift)|(B[24]>>(32-shift));
B[24]=(B[24]<<shift)|(B[25]>>(32-shift));
B[25]=(B[25]<<shift)|(B[26]>>(32-shift));
B[26]=(B[26]<<shift)|(B[27]>>(32-shift));
B[27]=(B[27]<<shift)|(B[28]>>(32-shift));
B[28]=(B[28]<<shift)|(B[29]>>(32-shift));
B[29]=(B[29]<<shift)|(B[30]>>(32-shift));
B[30]=(B[30]<<shift)|(B[31]>>(32-shift));
B[31]=B[31]<<shift;
return;
}