freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

rsa加密算法設(shè)計(jì)-文庫吧資料

2025-07-05 18:26本頁面
  

【正文】 。 //PC=0,i=1 break。 //滿足條件,是互質(zhì)的 i=IntCmp(PC,ZEROVALUE)。 //PA=PB*PK+PC i=IntCmp(PC,ONEVALUE)。 IntCpy(PA,Rvalue)。 while(1) { IntRandom(SK,SKLENGTH)。 //清零初始化 SetZero(temp)。 SetZero(PC)。 SetZero(PA)。 byteint PA,PB,PC,buf1,temp,buf2。 pass_2) { return 0。 } if(k==1) //判定條件1,G=A^(n1)/2=1 { } if(k==2) //判定條件2,G=A^(n1)/2=p1 { } } if (ok)//if(ok amp。 k!=2) //不符合判定規(guī)則 { ok=0。 //(A^flag) mod Prm k if(k!=1 amp。i++) {LoadInt(A,Model[i])。 for(i=0。 //B=(B1)/2的商,buf2=(B1)/2的余數(shù) TransBi(B,flag)。 //將B拷貝到prm中 C=N result primeSubstract(B,ONEVALUE,buf1)。 //初始化srand IntRandom(B,MLENGTH)。 while(1) //一直循環(huán)直到找到一個(gè)素?cái)?shù)為止 { int pass=0。 SetZero(buf1)。 SetZero(B)。 byteint A,B,D,buf1,buf2。}/*功能:產(chǎn)生一個(gè)質(zhì)數(shù)入口參數(shù):大數(shù)Prm返回值:產(chǎn)生成功,返回0*/int CRsaA::Prime(byteint Prm){ int i,k,ok。 if(IntCmp(result,ONEVALUE)==0) return 1。 IntCpy(D,result)。 } i。 //buf%c余數(shù)temp,商pif(flag[i]!=0) //如果該位不是0則將其和前一步低一位的結(jié)果進(jìn)行乘法運(yùn)算{ //否則,將其作為該位的模,在高一位的運(yùn)算中,只要進(jìn)行一次Multiply(temp,result,buf)。 while(flag[i]!=1) //判斷是否已經(jīng)到達(dá)指數(shù)盡頭 { Multiply(temp,temp,buf)。 else //最低位為0,則冪為1 IntCpy(result,ONEVALUE)。 //將D清零 IntCpy(temp,A)。 SetZero(temp)。 SetZero(buf)。 register i。 byteint result。 } flag[i]=1。 IntCpy(buf,result)。 //將B拷貝到buf中 while(IntCmp(buf,ZEROVALUE)==1) //如果buf內(nèi)容為0 { SetMode(buf,TWOVALUE,temp,result)。 //將flag數(shù)組清零 i=399。 SetZero(temp)。 SetZero(buf)。 byteint temp。 } }/*功能:該函數(shù)用來將十進(jìn)制的大整數(shù)轉(zhuǎn)換成二進(jìn)制的數(shù)入口參數(shù):需轉(zhuǎn)換的大數(shù)B,二進(jìn)制結(jié)果flag[400]返回值:無*/void CRsaA::TransBi(byteint B,signed char flag[400]){ byteint buf。 k。j) { Model[i][j]=rand()%10。i++) //TESTNUM為需要產(chǎn)生的個(gè)數(shù) { for(j=MLENGTH1。 //進(jìn)行隨機(jī)函數(shù)的初始化 for(i=0。 memset(Model,0,TESTNUM*MLENGTH)。 }}/*功能:該函數(shù)用來從集合[1,b1]中產(chǎn)生若干個(gè)用于檢測(cè)的數(shù),存放在Model[]中入口參數(shù):無返回值:無*/void CRsaA::Mdata(){ register i,j。 j=MLENGTH1。 SetZero(A)。while(i=DATALENGTHnum+1)//產(chǎn)生從次低位到次高位的所有位上的數(shù) RandomA[i]=rand()%10。最后一位是偶數(shù)從新產(chǎn)生最后一位while(!(RandomA[DATALENGTHnum]))/判斷條件保證RandomA最高位不是0RandomA[DATALENGTHnum]=rand()%10。 SetZero(RandomA)。 //將各位減的結(jié)果存入SC中 SC[i]=X。 buf[j]=buf[j]1。 else //否則一直找到夠減的位 { j=i1。i) { if(buf[i]SB[i]) //如果最低位不夠減 { buf[i]=buf[i]+10。 //SC清零初始化 for(i=DATALENGTH1。 IntCpy(buf,SA)。 register i,j。 //計(jì)算進(jìn)位 C[i1]=C[i1]+Y。 Z=X10*Y。i) { X=A[i]+B[i]。 //將C清零 for(i=DATALENGTH1。 //計(jì)算B的長(zhǎng)度 valid=(mn)?m+1:n+1。 m=IntValid(A)。//,w。 } return。 C[w1]=C[w1]+(C[w]/10)+Y。 w=i+j(DATALENGTH1)。 Y=X/10。j=Bvalid。i=Avalid。 //計(jì)算Bvalid SetZero(C)。amp。 AvalidDATALENGTH) Avalid++。 //Avalid=validating bits of B while (A[Avalid]==0 amp。 int Avalid=0。}/*功能:大數(shù)A與大數(shù)B相乘,結(jié)果放入C中 ABC入口參數(shù):被乘數(shù)A和乘數(shù)B,結(jié)果C返回值:無*/void CRsaA::Multiply(byteint A,byteint B,byteint C){ register i,j,w。)。//因此下面的循環(huán)就是從數(shù)組中 while(iDATALENGTH) str += (A[i++]+39。 //求出有用的大數(shù)長(zhǎng)度 n=0。 A[i]==0) //跳過大數(shù)開始的空白0i++。 while(iDATALENGTH amp。/*功能:將一個(gè)大數(shù)A轉(zhuǎn)換為相應(yīng)的字符串形式入口參數(shù):大數(shù)A返回值:相對(duì)應(yīng)的字符串*/CString CRsaA::PrtInt(byteint A){ register i=0。 //對(duì)EIGHTVALUE進(jìn)
點(diǎn)擊復(fù)制文檔內(nèi)容
語文相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1