古典密碼之維吉尼亞密碼

2021-09-29 06:37:28 字數 1960 閱讀 7098

#include

#include

intmain()

;int i,h,x,count=

0,m,m1,t;

int l,l2,lk,lk2,l3,l4;

int p=

0,j=

0,n=

0,p2=

0,n1=

0,j1=

0,c=

0,count1=

0,count2=0;

int r;

printf

("******************************\n");

printf

("維吉尼亞密碼加密解密\n");

printf

("******************************\n");

while(1

)if(count1>0)

printf

("輸入超過範圍請重新輸入!\n");

fflush

(stdin);

}

l=l3-1;

for(i=

0;i)else}if

(count>0)

else

fflush

(stdin);

}for

(i=0

;i)else

if(a1[j]

>=

'a'&&a1[j]

<=

'z')

j++;}

printf

("請輸入金鑰(字母):\n");

while(1

)else}if

(p>0)

else

fflush

(stdin);

}for

(m=0

;m)else

if(a2[n]

>=

'a'&&a2[n]

<=

'z')

n++;}

for(i=

0;i)printf

("\n");

fflush

(stdin);

}else

if(h==

1&&x==2)

if(count2>0)

printf

("輸入超過範圍請重新輸入!\n");

fflush

(stdin);

}

l2=l4-1;

for(i=

0;i)else}if

(c>0)

else

fflush

(stdin);

}for

(i=0

;i)else

if(a4[j1]

>=

'a'&&a4[j1]

<=

'z')

j1++;}

printf

("請輸入金鑰(字母):\n");

while(1

)else}if

(p2>0)

else

fflush

(stdin);

}for

(m1=

0;m1)else

if(a3[n1]

>=

'a'&&a3[n1]

<=

'z')

n1++;}

for(i=

0;i)printf

("\n");

fflush

(stdin);

}else

if(h==

1&&x==3)

return0;

else

printf

("沒有這個選項,請重新輸入!\n");

fflush

(stdin);

}}

古典密碼 維吉尼亞密碼實驗

維吉尼亞密碼是古典密碼中非常具有代表的例子。本實驗要求用高階語言編寫和除錯乙個簡單的維吉尼亞密碼實現及解密程式,通過本實驗可以加深理解維吉尼亞密碼原理。維吉尼亞密碼由凱撒密碼擴充套件而來,引入了金鑰的概念。即根據金鑰來決定用哪一行的密表來進行替換,以此來對抗字頻統計。維吉尼亞密碼的程式設計實現 1 ...

古典密碼 python實現維吉尼亞密碼

def secret 加密過程 str input 請輸入明文 str list list str k list x for x in input 請輸入金鑰流 split 輸入金鑰流,以空格為間隔 print k list for i in range len str list 判斷輸入金鑰為數字...

維吉尼亞密碼

維吉尼亞密碼是在凱撒密碼基礎上產生的一種加密方法,它將凱撒密碼的全部25種位移排序為一張表,與原字母序列共同組成26行及26列的字母表。另外,維吉尼亞密碼必須有乙個金鑰,這個金鑰由字母組成,最少乙個,最多可與明文本母數量相等。維吉尼亞密碼加密方法示例如下 明文 i ve got it.金鑰 ok 密...