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