導航:首頁 > 文檔加密 > 三種古典加密方法

三種古典加密方法

發布時間:2022-09-27 13:42:03

Ⅰ 古典密碼兩種加密方式

古典加密演算法:置換密碼
置換密碼演算法的原理是不改變明文字元,只將字元在明文中的排列順序改變,從而實現明文信息的加密。置換密碼有時又稱為換位密碼。
矩陣換位法是實現置換密碼的一種常用方法。它將明文中的字母按照給的順序安排在一個矩陣中,然後用根據密鑰提供的順序重新組合矩陣中字母,從而形成密文。例如,明文為attack
begins
at
five,密鑰為cipher,將明文按照每行6列的形式排在矩陣中,形成如下形式:
a
t
t
a
c
k
b
e
g
i
n
s
a
t
f
i
v
e
根據密鑰cipher中各字母在字母表中出現的先後順序,給定一個置換:
1
2
3
4
5
6
f
=
1
4
5
3
2
6
根據上面的置換,將原有矩陣中的字母按照第1列,第4列,第5列,第3列,第2列,第6列的順序排列,則有下面形式:
a
a
c
t
t
k
b
i
n
g
e
s
a
i
v
f
t
e
從而得到密文:aacttkbingesaivfte

Ⅱ 古典加密演算法有哪些 古典加密演算法

世界上最早的一種密碼產生於公元前兩世紀。是由一位希臘人提出的,人們稱之為
棋盤密碼,原因為該密碼將26個字母放在5×5的方格里,i,j放在一個格子里,具體情
況如下表所示
1 2 3 4 5
1 a b c 搜索d e
2 f g h i,j k
3 l m n o p
4 q r s t u
5 v w x y z
這樣,每個字母就對應了由兩個數構成的字元αβ,α是該字母所在行的標號,β是列
標號。如c對應13,s對應43等。如果接收到密文為
43 15 13 45 42 15 32 15 43 43 11 22 15
則對應的明文即為secure message。
另一種具有代表性的密碼是凱撒密碼。它是將英文字母向前推移k位。如k=5,則密
文字母與明文與如下對應關系
a b c d e f g h i j k l m n o p q r s t u v w x y z
F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
於是對應於明文secure message,可得密文為XJHZWJRJXXFLJ。此時,k就是密鑰。為了
傳送方便,可以將26個字母一一對應於從0到25的26個整數。如a對1,b對2,……,y對
25,z對0。這樣凱撒加密變換實際就是一個同餘式
c≡m+k mod 26
其中m是明文字母對應的數,c是與明文對應的密文的數。
隨後,為了提高凱撒密碼的安全性,人們對凱撒密碼進行了改進。選取k,b作為兩
個參數,其中要求k與26互素,明文與密文的對應規則為
c≡km+b mod 26
可以看出,k=1就是前面提到的凱撒密碼。於是這種加密變換是凱撒野加密變換的
推廣,並且其保密程度也比凱撒密碼高。
以上介紹的密碼體制都屬於單表置換。意思是一個明文字母對應的密文字母是確定
的。根據這個特點,利用頻率分析可以對這樣的密碼體制進行有效的攻擊。方法是在大
量的書籍、報刊和文章中,統計各個字母出現的頻率。例如,e出現的次數最多,其次
是t,a,o,I等等。破譯者通過對密文中各字母出現頻率的分析,結合自然語言的字母頻
率特徵,就可以將該密碼體制破譯。
鑒於單表置換密碼體制具有這樣的攻擊弱點,人們自然就會想辦法對其進行改進,
來彌補這個弱點,增加抗攻擊能力。法國密碼學家維吉尼亞於1586年提出一個種多表式
密碼,即一個明文字母可以表示成多個密文字母。其原理是這樣的:給出密鑰
K=k[1]k[2]…k[n],若明文為M=m[1]m[2]…m[n],則對應的密文為C=c[1]c[2]…c[n]。
其中C[i]=(m[i]+k[i]) mod 26。例如,若明文M為data security,密鑰k=best,將明
文分解為長為4的序列data security,對每4個字母,用k=best加密後得密文為
C=EELT TIUN SMLR
從中可以看出,當K為一個字母時,就是凱撒密碼。而且容易看出,K越長,保密程
度就越高。顯然這樣的密碼體制比單表置換密碼體制具有更強的抗攻擊能力,而且其加
密、解密均可用所謂的維吉尼亞方陣來進行,從而在操作上簡單易行。該密碼可用所謂
的維吉尼亞方陣來進行,從而在操作上簡單易行。該密碼曾被認為是三百年內破譯不了
的密碼,因而這種密碼在今天仍被使用著。
古典密碼的發展已有悠久的歷史了。盡管這些密碼大都比較簡單,但它在今天仍有
其參考價值。世界上最早的一種密碼產生於公元前兩世紀。是由一位希臘人提出的,人們稱之為
棋盤密碼,原因為該密碼將26個字母放在5×5的方格里,i,j放在一個格子里,具體情
況如下表所示
1 2 3 4 5
1 a b c 搜索d e
2 f g h i,j k
3 l m n o p
4 q r s t u
5 v w x y z
這樣,每個字母就對應了由兩個數構成的字元αβ,α是該字母所在行的標號,β是列
標號。如c對應13,s對應43等。如果接收到密文為
43 15 13 45 42 15 32 15 43 43 11 22 15
則對應的明文即為secure message。
另一種具有代表性的密碼是凱撒密碼。它是將英文字母向前推移k位。如k=5,則密
文字母與明文與如下對應關系
a b c d e f g h i j k l m n o p q r s t u v w x y z
F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
於是對應於明文secure message,可得密文為XJHZWJRJXXFLJ。此時,k就是密鑰。為了
傳送方便,可以將26個字母一一對應於從0到25的26個整數。如a對1,b對2,……,y對
25,z對0。這樣凱撒加密變換實際就是一個同餘式
c≡m+k mod 26
其中m是明文字母對應的數,c是與明文對應的密文的數。
隨後,為了提高凱撒密碼的安全性,人們對凱撒密碼進行了改進。選取k,b作為兩
個參數,其中要求k與26互素,明文與密文的對應規則為
c≡km+b mod 26
可以看出,k=1就是前面提到的凱撒密碼。於是這種加密變換是凱撒野加密變換的
推廣,並且其保密程度也比凱撒密碼高。
以上介紹的密碼體制都屬於單表置換。意思是一個明文字母對應的密文字母是確定
的。根據這個特點,利用頻率分析可以對這樣的密碼體制進行有效的攻擊。方法是在大
量的書籍、報刊和文章中,統計各個字母出現的頻率。例如,e出現的次數最多,其次
是t,a,o,I等等。破譯者通過對密文中各字母出現頻率的分析,結合自然語言的字母頻
率特徵,就可以將該密碼體制破譯。
鑒於單表置換密碼體制具有這樣的攻擊弱點,人們自然就會想辦法對其進行改進,
來彌補這個弱點,增加抗攻擊能力。法國密碼學家維吉尼亞於1586年提出一個種多表式
密碼,即一個明文字母可以表示成多個密文字母。其原理是這樣的:給出密鑰
K=k[1]k[2]…k[n],若明文為M=m[1]m[2]…m[n],則對應的密文為C=c[1]c[2]…c[n]。
其中C[i]=(m[i]+k[i]) mod 26。例如,若明文M為data security,密鑰k=best,將明
文分解為長為4的序列data security,對每4個字母,用k=best加密後得密文為
C=EELT TIUN SMLR
從中可以看出,當K為一個字母時,就是凱撒密碼。而且容易看出,K越長,保密程
度就越高。顯然這樣的密碼體制比單表置換密碼體制具有更強的抗攻擊能力,而且其加
密、解密均可用所謂的維吉尼亞方陣來進行,從而在操作上簡單易行。該密碼可用所謂
的維吉尼亞方陣來進行,從而在操作上簡單易行。該密碼曾被認為是三百年內破譯不了
的密碼,因而這種密碼在今天仍被使用著。
古典密碼的發展已有悠久的歷史了。盡管這些密碼大都比較簡單,但它在今天仍有
其參考價值。

Ⅲ 什麼是古典密碼

http://ke..com/view/2296594.html?wtp=tt

Ⅳ 有種古典加密方法就是按照字母表順序,把每個字母循環右移k位,從而轉換為加密的另一個字母。


#include<stdio.h>
#include<math.h>

intmain()
{
intk;
inti;
chara[100];
printf("輸入k:");
scanf("%d",&k);
printf("輸入一段英文:");
getchar();
gets(a);


for(i=0;a[i];i++)
{
if(a[i]<='Z'&&a[i]>='A')
a[i]=(a[i]+k-'A')%26+'A';
else if(a[i]<='z'&&a[i]>='a')
a[i]=(a[i]+k-'a')%26+'a';

}



printf("加密後:");
puts(a);

return0;
}

Ⅳ 傳統的加密方法有哪些

本文只是概述幾種簡單的傳統加密演算法,沒有DES,沒有RSA,沒有想像中的高端大氣上檔次的東東。。。但是都是很傳統很經典的一些演算法

首先,提到加密,比如加密一段文字,讓其不可讀,一般人首先會想到的是將其中的各個字元用其他一些特定的字元代替,比如,講所有的A用C來表示,所有的C用E表示等等…其中早的代替演算法就是由Julius Caesar發明的Caesar,它是用字母表中每個字母的之後的第三個字母來代替其本身的(C=E(3,p)=(p+3) mod 26),但是,這種加密方式,很容易可以用窮舉演算法來破解,畢竟只有25種可能的情況..

為了改進上訴演算法,增加其破解的難度,我們不用簡單的有序的替代方式,我們讓替代無序化,用其中字母表的一個置換(置換:有限元素的集合S的置換就是S的所有元素的有序排列,且每個元素就出現一次,如S={a,b}其置換就只有兩種:ab,ba),這樣的話,就有26!種方式,大大的增加了破解的難度,但是這個世界聰明人太多,雖然26!很多,但是語言本身有一定的特性,每個字母在語言中出現的相對頻率可以統計出來的,這樣子,只要密文有了一定數量,就可以從統計學的角度,得到准確的字母匹配了。

上面的演算法我們稱之為單表代替,其實單表代替密碼之所以較容易被攻破,因為它帶有原始字母使用頻率的一些統計學特徵。有兩種主要的方法可以減少代替密碼里明文結構在密文中的殘留度,一種是對明文中的多個字母一起加密,另一種是採用多表代替密碼。

先說多字母代替吧,最著名的就是playfair密碼,它把明文中的雙字母音節作為一個單元並將其轉換成密文的雙字母音節,它是一個基於由密鑰詞構成的5*5的字母矩陣中的,一個例子,如密鑰為monarchy,將其從左往右從上往下填入後,將剩餘的字母依次填入剩下的空格,其中I/J填入同一個空格:

對明文加密規則如下:
1 若p1 p2在同一行,對應密文c1 c2分別是緊靠p1 p2 右端的字母。其中第一列被看做是最後一列的右方。
2 若p1 p2在同一列,對應密文c1 c2分別是緊靠p1 p2 下方的字母。其中第一行被看做是最後一行的下方。
3 若p1 p2不在同一行,不在同一列,則c1 c2是由p1 p2確定的矩形的其他兩角的字母,並且c1和p1, c2和p2同行。
4 若p1 p2相同,則插入一個事先約定的字母,比如Q 。
5 若明文字母數為奇數時,則在明文的末端添加某個事先約定的字母作為填充。

雖然相對簡單加密,安全性有所提高,但是還是保留了明文語言的大部分結構特徵,依舊可以破解出來,另一個有意思的多表代替密碼是Hill密碼,由數學家Lester Hill提出來的,其實就是利用了線性代數中的可逆矩陣,一個矩陣乘以它的逆矩陣得到單位矩陣,那麼假設我們對密文每m個字母進行加密,那麼將這m個字母在字母表中的序號寫成矩陣形式設為P(如abc,[1,2,3]),密鑰就是一個m階的矩陣K,則C=P*K mod26,,解密的時候只要將密文乘上K的逆矩陣模26就可以了。該方法大大的增加了安全性。

Ⅵ 3,古典密碼體制中代換密碼有哪幾種,各有什麼特點

在古典密碼學中,有四種類型的代替密碼:
①簡單代替密碼(或單表代替密碼),它將明文字母表中的每個字母用密文字母表中的相應字母來代替,明密文表字母存在惟一的一一對應關系,然後通過明密文對照表來進行加解密,容易受到頻率統計分析攻擊,例如:愷撒密碼、仿射密碼等。
②多名碼代替密碼,將明文中的每個字母按一定規律映射到一系列密文字母,這一系列密文字母稱為同音字母,它的密文的相關分布會接近於平的,能夠較好挫敗頻率分析,較簡單代替密碼難破譯。
③多字母代替密碼,通過一次加密一組字母來使密碼分析更加困難,例如Playfair密碼。多表代替密碼,使用從明文字母到密文字母的多個映射,每個映射像簡單代替密碼中的一一對應,比簡單代替密碼更安全一些,例如,維吉尼亞密碼等。

Ⅶ 古典密碼安全演算法有哪些

世界上最早的一種密碼產生於公元前兩世紀。是由一位希臘人提出的,人們稱之為
棋盤密碼,原因為該密碼將26個字母放在5×5的方格里,i,j放在一個格子里,具體情
況如下表所示

1 2 3 4 5
1 a b c d e
2 f g h i,j k
3 l m n o p
4 q r s t u
5 v w x y z

這樣,每個字母就對應了由兩個數構成的字元αβ,α是該字母所在行的標號,β是列
標號。如c對應13,s對應43等。如果接收到密文為

43 15 13 45 42 15 32 15 43 43 11 22 15

則對應的明文即為secure message。

另一種具有代表性的密碼是凱撒密碼。它是將英文字母向前推移k位。如k=5,則密
文字母與明文與如下對應關系

a b c d e f g h i j k l m n o p q r s t u v w x y z
F G H I J K L M N O P Q R S T U V W X Y Z A B C D E

於是對應於明文secure message,可得密文為XJHZWJRJXXFLJ。此時,k就是密鑰。為了
傳送方便,可以將26個字母一一對應於從0到25的26個整數。如a對1,b對2,……,y對
25,z對0。這樣凱撒加密變換實際就是一個同餘式

c≡m+k mod 26

其中m是明文字母對應的數,c是與明文對應的密文的數。

隨後,為了提高凱撒密碼的安全性,人們對凱撒密碼進行了改進。選取k,b作為兩
個參數,其中要求k與26互素,明文與密文的對應規則為

c≡km+b mod 26

可以看出,k=1就是前面提到的凱撒密碼。於是這種加密變換是凱撒野加密變換的
推廣,並且其保密程度也比凱撒密碼高。

以上介紹的密碼體制都屬於單表置換。意思是一個明文字母對應的密文字母是確定
的。根據這個特點,利用頻率分析可以對這樣的密碼體制進行有效的攻擊。方法是在大
量的書籍、報刊和文章中,統計各個字母出現的頻率。例如,e出現的次數最多,其次
是t,a,o,I等等。破譯者通過對密文中各字母出現頻率的分析,結合自然語言的字母頻
率特徵,就可以將該密碼體制破譯。

鑒於單表置換密碼體制具有這樣的攻擊弱點,人們自然就會想辦法對其進行改進,
來彌補這個弱點,增加抗攻擊能力。法國密碼學家維吉尼亞於1586年提出一個種多表式
密碼,即一個明文字母可以表示成多個密文字母。其原理是這樣的:給出密鑰
K=k[1]k[2]…k[n],若明文為M=m[1]m[2]…m[n],則對應的密文為C=c[1]c[2]…c[n]。
其中C[i]=(m[i]+k[i]) mod 26。例如,若明文M為data security,密鑰k=best,將明
文分解為長為4的序列data security,對每4個字母,用k=best加密後得密文為

C=EELT TIUN SMLR

從中可以看出,當K為一個字母時,就是凱撒密碼。而且容易看出,K越長,保密程
度就越高。顯然這樣的密碼體制比單表置換密碼體制具有更強的抗攻擊能力,而且其加
密、解密均可用所謂的維吉尼亞方陣來進行,從而在操作上簡單易行。該密碼可用所謂
的維吉尼亞方陣來進行,從而在操作上簡單易行。該密碼曾被認為是三百年內破譯不了
的密碼,因而這種密碼在今天仍被使用著。

古典密碼的發展已有悠久的歷史了。盡管這些密碼大都比較簡單,但它在今天仍有
其參考價值。

Ⅷ 網路信息安全古典加密演算法都有哪些

常用密鑰演算法
密鑰演算法用來對敏感數據、摘要、簽名等信息進行加密,常用的密鑰演算法包括:
DES(Data Encryption Standard):數據加密標准,速度較快,適用於加密大量數據的場合;
3DES(Triple DES):是基於DES,對一塊數據用三個不同的密鑰進行三次加密,強度更高;
RC2和RC4:用變長密鑰對大量數據進行加密,比DES快;
RSA:由RSA公司發明,是一個支持變長密鑰的公共密鑰演算法,需要加密的文件快的長度也是可變的;
DSA(Digital Signature Algorithm):數字簽名演算法,是一種標準的DSS(數字簽名標准);
AES(Advanced Encryption Standard):高級加密標准,是下一代的加密演算法標准,速度快,安全級別高,目前AES標準的一個實現是 Rijndael演算法;
BLOWFISH:它使用變長的密鑰,長度可達448位,運行速度很快;
其它演算法:如ElGamal、Deffie-Hellman、新型橢圓曲線演算法ECC等。

常見加密演算法
des(data
encryption
standard):數據加密標准,速度較快,適用於加密大量數據的場合;
3des(triple
des):是基於des,對一塊數據用三個不同的密鑰進行三次加密,強度更高;
rc2和
rc4:用變長密鑰對大量數據進行加密,比
des
快;
idea(international
data
encryption
algorithm)國際數據加密演算法:使用
128
位密鑰提供非常強的安全性;
rsa:由
rsa
公司發明,是一個支持變長密鑰的公共密鑰演算法,需要加密的文件塊的長度也是可變的;
dsa(digital
signature
algorithm):數字簽名演算法,是一種標準的
dss(數字簽名標准);
aes(advanced
encryption
standard):高級加密標准,是下一代的加密演算法標准,速度快,安全級別高,目前
aes
標準的一個實現是
rijndael
演算法;
blowfish,它使用變長的密鑰,長度可達448位,運行速度很快;
其它演算法,如elgamal、deffie-hellman、新型橢圓曲線演算法ecc等。
比如說,md5,你在一些比較正式而嚴格的網站下的東西一般都會有md5值給出,如安全焦點的軟體工具,每個都有md5。

Ⅸ 經典加密方法主要使用了哪些加密技術

單項選擇題
經典加密方法所使用的加密技術不包括
(54)

A)
替換加密
B)
換位加密
C)
一次性填充
D)
DES




參考答案:D
[解析]
所謂經典加密方法主要是使用了3種加密技術:
(1)替換加密:用一個字母替換另一個字母。這種方法保留了明文的順序,可根據自然語言的統計特性(例如字母出現的頻率)破譯。
(2)換位加密(trAnsposition):按照一定的規律重排字母的順序,
(3)一次性填充:把明文變為比特串(例如用ASCII編碼),選擇一個等長的隨機比特串作為密鑰,對二者進行按位異或,得到密文。

閱讀全文

與三種古典加密方法相關的資料

熱點內容
怎麼解壓鏡像系統 瀏覽:190
程序員求助國企 瀏覽:837
雲伺服器網址租用多少錢 瀏覽:942
行車記錄儀安卓版怎麼用 瀏覽:500
java是不是數字 瀏覽:182
php模擬瀏覽器環境 瀏覽:353
編程誰都能學會嗎 瀏覽:407
使用國家反詐app都要開啟什麼 瀏覽:712
下載民宿APP有什麼用 瀏覽:52
續子語pdf 瀏覽:385
2021年加密貨幣最新行情 瀏覽:162
nfs怎麼加密ipsec 瀏覽:245
國二考試調用編譯器運算選擇題 瀏覽:750
同濟大學高等數學pdf 瀏覽:234
延時的宏命令怎麼設置 瀏覽:596
資料庫有哪些加密 瀏覽:209
改之理反編譯注冊教程 瀏覽:391
什麼是編譯程序和翻譯程序 瀏覽:208
python課程心得總結 瀏覽:17
派派中怎麼看對方在哪個伺服器 瀏覽:796