密碼學(xué)實驗單表查詢程序_第1頁
密碼學(xué)實驗單表查詢程序_第2頁
密碼學(xué)實驗單表查詢程序_第3頁
密碼學(xué)實驗單表查詢程序_第4頁
密碼學(xué)實驗單表查詢程序_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、單表查詢:#include #include char M100;char C100;void jiami();void jiemi();void main()int choice;printf(加密請輸入數(shù)字1,解密請輸入數(shù)字2,退出請輸入其他鍵:n); scanf(%d,&choice); if(choice=1)jiami();if(choice=2)jiemi();void jiami() int K,i; fflush(stdin); printf(請輸入明文:n,M); gets(M); printf(請輸入K值:); scanf(%d,&K); for(i=0;Mi!=0;i+)

2、 if(Mi=a&Mi=A&Mi=a&Ci=A&Ci=Z) Mi=(Ci-A-K)%26+A; else Mi= ;Mi=0;printf(明文是:n%sn,M);移位寄存器#includestdio.h#includestdlib.h#define N 3 int i=3; int n=10; double RN; Input(); GF(); int main()Input();GF();return 0;Input()printf(Please input R:n,R);for(i=1;i=0; l-=8)n2l(in,tin0);n2l(in,tin1);tin0=tout0;tin1

3、=tout1;tin0=tin0;tin1=tin1;idea_encrypt(tin,ks);tout0=tin0; l2n(tout0,out);tout1=tin1; l2n(tout1,out);if (l != -8)n2ln(in,tin0,tin1,l+8);tin0=tout0;tin1=tout1;tin0=tin0;tin1=tin1;idea_encrypt(tin,ks);tout0=tin0; l2n(tout0,out);tout1=tin1; l2n(tout1,out);l2n(tout0,iv);l2n(tout1,iv);elsen2l(iv,xor0);n

4、2l(iv,xor1);iv-=8;for (l-=8; l=0; l-=8)n2l(in,tin0); tin0=tin0;n2l(in,tin1); tin1=tin1;idea_encrypt(tin,ks);tout0=tin0xor0;tout1=tin1xor1;l2n(tout0,out);l2n(tout1,out);xor0=tin0;xor1=tin1;if (l != -8)n2l(in,tin0); tin0=tin0;n2l(in,tin1); tin1=tin1;idea_encrypt(tin,ks);tout0=tin0xor0;tout1=tin1xor1;l

5、2nn(tout0,tout1,out,l+8);xor0=tin0;xor1=tin1;l2n(xor0,iv);l2n(xor1,iv);tin0=tin1=tout0=tout1=xor0=xor1=0;tin0=tin1=0;void idea_encrypt(d,key)unsigned long *d;IDEA_KEY_SCHEDULE *key;register IDEA_INT *p;register unsigned long x1,x2,x3,x4,t0,t1,ul;x2=d0;x1=(x216);x4=d1;x3=(x416);p= &(key-data00);E_IDE

6、A(0);E_IDEA(1);E_IDEA(2);E_IDEA(3);E_IDEA(4);E_IDEA(5);E_IDEA(6);E_IDEA(7);x1&=0xffff;idea_mul(x1,x1,*p,ul); p+;t0= x3+ *(p+);t1= x2+ *(p+);x4&=0xffff;idea_mul(x4,x4,*p,ul);d0=(t0&0xffff)|(x1&0xffff)16);d1=(x4&0xffff)|(t1&0xffff)data00);n2s(key,kt0); n2s(key,kt1); n2s(key,kt2); n2s(key,kt3);n2s(key,

7、kt4); n2s(key,kt5); n2s(key,kt6); n2s(key,kt7);kf=kt;kt+=8;for (i=0; i6; i+)r2= kf1;r1= kf2;*(kt+)= (r27)&0xffff;r0= kf3;*(kt+)= (r17)&0xffff;r1= kf4;*(kt+)= (r07)&0xffff;r0= kf5;*(kt+)= (r17)&0xffff;r1= kf6;*(kt+)= (r07)&0xffff;r0= kf7;*(kt+)= (r17)&0xffff;r1= kf0;if (i = 5) break;*(kt+)= (r07)&0xf

8、fff;*(kt+)= (r17)&0xffff;kf+=8;void idea_set_decrypt_key(ek, dk)IDEA_KEY_SCHEDULE *ek;IDEA_KEY_SCHEDULE *dk;int r;register IDEA_INT *fp,*tp,t;tp= &(dk-data00);fp= &(ek-data80);for (r=0; rdata00);t=tp1;tp1=tp2;tp2=t;t=tp49;tp49=tp50;tp50=t;/* taken directly from the paper Ill have a look at it later

9、*/static IDEA_INT inverse(xin)unsigned int xin;long n1,n2,q,r,b1,b2,t;if (xin = 0)b2=0;elsen1=0x10001;n2=xin;b2=1;b1=0;dor=(n1%n2);q=(n1-r)/n2;if (r = 0) if (b2 0) b2=0x10001+b2; elsen1=n2;n2=r;t=b2;b2=b1-q*b2;b1=t; while (r != 0);return(IDEA_INT)b2);#include /RSA算法int candp(int a,int b,int c)int r=

10、1;b=b+1;while(b!=1)r=r*a;r=r%c;b-;printf(%dn,r);return r;int fun(int x,int y) int t;while(y)t=x; x=y;y=t%y;if(x=1)return 0; elsereturn 1; void main()int p,q,e,d,m,n,t,c,r;printf(請輸入兩個素數(shù)p,q:);scanf(%d%d,&p,&q);n=p*q;printf(計算得n為%3dn,n);t=(p-1)*(q-1); printf(計算得t為 %3dn,t);printf(請輸入公鑰e:);scanf(%d,&e);if(et|fun(e,t) printf(e不合要求,請重新輸入:);scanf(%d,&e);d=1;while(e*d)%t)!=1) d+; printf(可得出d為%dn,d);printf(加密請輸入1n); printf(解密請輸入2n);scanf(%d,&r);

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論