當前位置:首頁 » 密碼管理 » 移位替換加密

移位替換加密

發布時間: 2023-04-01 09:22:37

『壹』 計算機密碼學中有哪些加密演算法

、信息加密概述

密碼學是一門古老而深奧的學科,它對一般人來說是莫生的,因為長期以來,它只在很少的范圍內,如軍事、外交、情報等部門使用。計算機密碼學是研究計算機信息加密、解密及其變換的科學,是數學和計算機的交義學科,也是一門新興的學科。隨著計算機網路和計算機通訊技術的發展,計算機密碼學得到前所未有的重視並迅速普及和發展起來。在國外,它已成為計算機安全主要的研究方向,也是計算機安全課程教學中的主要內容。

密碼是實現秘密通訊的主要手段,是隱蔽語言、文字、圖象的特種符號。凡是用特種符號按照通訊雙方約定的方法把電文的原形隱蔽起來,不為第三者所識別的通訊方式稱為密碼通訊。在計算機通訊中,採用密碼技術將信息隱蔽起來,再將隱蔽後的信息傳輸出去,使信息在傳輸過程中即使被竊取或載獲,竊取者也不能了解信息的內容,從而保證信息傳輸的安全。

任何一個加密系統至少包括下面四個組成部分:

( 1)、未加密的報文,也稱明文。

( 2)、加密後的報文,也稱密文。

( 3)、加密解密設備或演算法。

( 4)、加密解密的密鑰。

發送方用加密密鑰,通過加密設備或演算法,將信息加密後發送出去。接收方在收到密文後,用解密密鑰將密文解密,恢復為明文。如果傳輸中有人竊取,他只能得到無法理解的密文,從而對信息起到保密作用。

二、密碼的分類

從不同的角度根據不同的標准,可以把密碼分成若干類。

(一)按應用技術或歷史發展階段劃分:

1、手工密碼。以手工完成加密作業,或者以簡單器具輔助操作的密碼,叫作手工密碼。第一次世界大戰前主要是這種作業形式。

2、機械密碼。以機械密碼機或電動密碼機來完成加解密作業的密碼,叫作機械密碼。這種密碼從第一次世界大戰出現到第二次世界大戰中得到普遍應用。3、電子機內亂密碼。通過電子電路,以嚴格的程序進行邏輯運算,以少量制亂元素生產大量的加密亂數,因為其制亂是在加解密過程中完成的而不需預先製作,所以稱為電子機內亂密碼。從五十年代末期出現到七十年代廣泛應用。

4、計算機密碼,是以計算機軟體編程進行演算法加密為特點,適用於計算機數據保護和網路通訊等廣泛用途的密碼。

(二)按保密程度劃分:

1、理論上保密的密碼。不管獲取多少密文和有多大的計算能力,對明文始終不能得到唯一解的密碼,叫作理論上保密的密碼。也叫理論不可破的密碼。如客觀隨機一次一密的密碼就屬於這種。

2、實際上保密的密碼。在理論上可破,但在現有客觀條件下,無法通過計算來確定唯一解的密碼,叫作實際上保密的密碼。

3、不保密的密碼。在獲取一定數量的密文後可以得到唯一解的密碼,叫作不保密密碼。如早期單表代替密碼,後來的多表代替密碼,以及明文加少量密鑰等密碼,現在都成為不保密的密碼。

(三)、按密鑰方式劃分:

1、對稱式密碼。收發雙方使用相同密鑰的密碼,叫作對稱式密碼。傳統的密碼都屬此類。

2、非對稱式密碼。收發雙方使用不同密鑰的密碼,叫作非對稱式密碼。如現代密碼中的公共密鑰密碼就屬此類。

(四)按明文形態:

1、模擬型密碼。用以加密模擬信息。如對動態范圍之內,連續變化的語音信號加密的密碼,叫作模擬式密碼。

2、數字型密碼。用於加密數字信息。對兩個離散電平構成0、1二進制關系的電報信息加密的密碼叫作數字型密碼。

(五)按編制原理劃分:

可分為移位、代替和置換三種以及它們的組合形式。古今中外的密碼,不論其形態多麼繁雜,變化多麼巧妙,都是按照這三種基本原理編制出來的。移位、代替和置換這三種原理在密碼編制和使用中相互結合,靈活應用。

『貳』 密碼那些事兒|(五)換個位置,面目全非

移位法和替代法大約5000年前出現,但直到9世紀才被阿拉伯人發明的頻率分析法破解,中間隔了足足有4000年。在另一邊的歐洲,實際上直到16世紀,都還沒掌握這種破解方法。從這里我們也能感受到,阿拉伯文明曾經的輝煌。

移位法很簡單。我舉個例子,比如你的答乎電話號碼13911095871,把每個數字都在數列中往後加1,那麼1變2,2變3,加密後就變成了24022106982。

13911095871叫做明文,24022106982則是它對應的密文。

字母的移位也是同樣的道理,因為字母是遵循著abcdef……xyz的順序排列,一共26個,看起來會比單純的數字移位復雜一些,但本質上仍是一樣的。

比如要對iron man加密,加密規則選擇每個字母都向後移動3位, 「iron man」就變成了「lurq pdq」。

沒有經驗的人乍看一下,完全就是亂碼,實際上它只不過做了基礎加密而已。這就是最基礎的移位法。

大約在公元前700年左右,出現了用一種叫做Scytale的圓木棍來進行保密通信的方式。這種Scytale圓木棍也許是人類最早使用的文字加密解密工具,據說主要是古希臘城邦中的斯巴達人(Sparta)在使用它,所以又被叫做「斯巴達棒」。

相傳雅典和斯巴達之間的伯羅奔尼撒戰爭中,斯巴達軍隊截獲了一條寫滿雜亂無章的希臘字母的腰帶,斯巴達將軍在百思不得其解之際,胡亂將腰帶纏到自己的寶劍上,從而誤打誤撞發清豎悉現了其中隱藏的軍機。這就是斯巴達密纖緩碼棒的由來。

「斯巴達棒」的加密原理就是,把長帶子狀羊皮紙纏繞在圓木棍上,然後在上面寫字;解下羊皮紙後,上面只有雜亂無章的字元,只有再次以同樣的方式纏繞到同樣粗細的棍子上,才能看出所寫的內容。

比如像上圖那樣,在纏好的布帶上寫上「 YOU ARE IN DANGER」,然後再拆下來,布帶上的文字順序就變成了「YIONUDAARNEGER」,完全看不出任何頭緒,這樣就起到了加密的作用。

2100年前,古羅馬的執政官和軍隊統帥愷撒(Julius Caesar,公元前100—前44)發明了一種把所有的字母按字母表順序循環移位的文字加密方法。例如,當規定按字母表順移3位的話,那麼a就寫成d,b寫成e,c寫成f,…,x寫成a,y寫成b,z寫成c。單詞Hello就寫成了Khoor。如果不知道加密方法,誰也不會知道這個詞的意思。解密時,只需把所有的字母逆移3位,就能讀到正確的文本了。

上圖就是根據愷撒加密法的原理而製作的字母循環移位盤。可以根據需要設定加密時移位的位數,以供加密或解密時快速查詢。據說愷撒當年就是使用這種加密方法與手下的將軍們通信的。

從密碼學的角度來看,雖然愷撒加密法的規則很簡單,然而,愷撒加密的思想對於西方古典密碼學的發展有著很大影響。

事實上,直到第二次世界大戰結束,西方所使用的加密方法原理大多與愷撒加密法類似,只是規則越來越復雜而已。

盡管移位法加密在西方得到了很普遍的應用,但在中國的史書上卻很少記載,各位朋友可以想一想是為什麼?

感興趣的朋友們不妨在評論區一起聊一聊。

下一次,我們繼續了解移位法和替代法的故事。

往期文章:

密碼那些事兒|(四)隱藏的消息

密碼那些事兒|(三)「風語者」——從未被破解的密碼

密碼那些事兒|(二)密碼學發展的七個階段

密碼那些事兒|(一)無所不在的密碼

本人是官方授權會員推廣專員,點擊 會員專屬通道 成為會員,您將會獲得鑽獎勵及諸多權益!

《鑽獎勵調整公告》

『叄』 C語言凱撒加密是一種移位替代加密演算法,即將字母表A-Z向左移位,然後用移位後的字母表替原來的明文得到密文

#include<iostream>
#include<string>

usingnamespacestd;

intmain()
{
stringcode;//儲存初始字元串
stringd_code;//加密後的字元串
inti;
intn;//移位的個數
cout<<"Enterthestring"<<endl;
cin>>code;
cout<<"howmanystepdoyouwanttomove?"<<endl;
cin>>n;
for(i=0;i<code.size();++i)
{
if(int(code[i])>97)
{
if(int(code[i])+n>122)
d_code[i]=int(code[i])+n-26;
else
d_code[i]=int(code[i])+n;
}
elseif(int(code[i])+n>90)
d_code[i]=char(int(code[i])+n-26);
else
d_code[i]=char(int(code[i]+n));
}
for(i=0;i<code.size();++i)
{
cout<<d_code[i];
}
cout<<endl;
cout<<"Code="<<code<<endl;
return0;
}

『肆』 密碼學(二)之代換密碼

上一講中,我們講移位密碼其實是將字母表中的字母一一對應到各數字,然後通過飢滾數字平移來進行加密,古典密碼學中還有一種比較有名的加密方法,就是將明文中的字母表對應到一套密文的字母表,這種加密方法我們叫 代換密碼(substiution cipher) 或叫 替換密碼 ,下圖就是一個簡單的代換密碼對應表

上面所說,代換密碼其實就是將明文里的字母按照字母表替換成密文里的字母,還是舉一個例子,假設現在有一個字元「welcome to china」,根據上面的密碼替換表,將明文裡面的每個字母依次換成對應的密文,如下:

這樣就可以得到密文CXGHBEXQBHTJNW

代換密碼的解密非常簡單,只要將加密的替換表進行反向操作,這里不再操作

這里可以發現,代換密碼主要是要建立起一套明文與密文之間的加密對應的替換關系,只要有這套密碼替換表,加、解密就變得很容易

上一講我們知道,移位密碼其實是很好破解的,因為密鑰總量一共就26位,只要我們試26次,就一定能試出一個正解的,那麼代換密碼是也可以通過窮舉的方式來破解呢?

我們知道代換密碼是把明文的26個字母隨機對應密文的26個字母上,也就意味著明文中第一個字母a可以對應到密文中A,B,C,D…Z 26個字母中的任一個,以此類推,我們就可以計算出代換密碼的隱陸密鑰總數為:

像這種一種密碼能夠使用的所有密鑰的集合,叫做 密鑰空間(keyspace)

上面的密鑰的量非常大,用窮舉法來破譯幾乎是不可能的。

使用窮舉法不能破譯,但並不能說明就是安全的,我們可以使用 頻率分析 來破譯代換密碼,頻率分析就是利用明文中的字母出現頻率與密文中的字母的出現頻率一致這一特性,

下面是【密碼學原理與實踐】書中的一個例子,可以參考一下

現假設有一段密文如下,現需將其解密出明文

這種密文的頻率分析如下圖:

根據 英文字母出現的頻率 排序統計,一般的排序是這樣的e,t,a,o,I,n,s,h,r,d,l,u,c,m,f,w,y,p,v,b,g,k,j,q,x,z 而且一般英語文章中出現頻率最高的的字母是e,這一點基本不會錯的。

根據上圖所示,字母Z出現的次數是20,遠遠高於其它密文字母,所以我們可以假設Z->e。其它出現至少10餘次的官方字母是C,D,F,J,M,R,Y,我們希望這些字母對應的是

e t a o l n s h r中的一個子集,

我們現在爛攜余假設了Z->e,現注意一下形如-Z, Z-的兩字母組,我們發現出現這種類型的最一般的兩字母組是DZ和ZW,各都出現了4次;NZ和ZU出現3次,RZ HZ XZ FZ ZR ZV ZC ZD ZJ各出現2次;又因ZW出現4次,而WZ一次也未出現,同時W比許多其它字母出現的次婁少,所以我們可以假設W->d,又因為DZ出現4次而ZD出現2次,故可猜測D是{r,s,t}中的任一個,具體是哪個還不清楚。

如上面猜測, Z->, D->d,再看看密文並注意到ZRW出現在密文的開始部分,RW後面也出現過,因為R在密文頻繁地出現,而nd是一個常見的兩字母組,所以我們可以假設R->n作為可能的情況,這樣我們便有了如下的形式

接下來我們可以試試N->h,因為NZ是一個常見的兩字組而ZN不是一個常見的兩字母組,如果這個猜測是正確的,則明文ne-ndhe很可能說明C->a,結合這些收市,我們又進一步有:

現在考慮出現次數高的密文字母M,由前面分析,密文段RNM密鑰成nh-,這說明h-是一個詞的開頭,所以M很可能是一個母音,因為已經使用了a和e,所以猜測M->{i或o},因為ai是一個比ao出現次數更高的明文組,所以首先猜測M->I,這樣就有:

下面需要確定明文o對應的密文,因為為是一個經常出現的字母,所以我們猜測相應的密文字母是D F J Y 中的一個,Y似乎最有可能,否則將得到長母音,即從CFM或CJM中得到aoi,因此假設Y->o。

剩下密文字母中三個最高頻率的字母是D F J,我們猜測他們以某種次序解密成r s t, 三字母NMD兩次出現說明很可能D->s,對應的明文三字母組為his,HNCMF可能是chair的加密,說明F->r,H->c,同時排除J->t,於是我們有了:

有了上面的提示,就很容易確定出明文,解密明文如下

【密碼學原理與實踐(第三版)】

【圖解密碼技術】

『伍』 古典加密演算法有哪些 古典加密演算法

世界上最早的一種密碼產生於公元前兩世紀。是由一位希臘人提出的,人們稱之為
棋盤密碼,原因為該密碼將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越長,保密程
度就越高。顯然這樣的密碼體制比單表置換密碼體制具有更強的抗攻擊能力,而且其加
密、解密均可用所謂的維吉尼亞方陣來進行,從而在操作上簡單易行。該密碼可用所謂
的維吉尼亞方陣來進行,從而在操作上簡單易行。該密碼曾被認為是三百年內破譯不了
的密碼,因而這種密碼在今天仍被使用著。
古典密碼的發展已有悠久的歷史了。盡管這些密碼大都比較簡單,但它在今天仍有
其參考價值。

『陸』 第三代加密法--維吉尼亞加密法

        加密法的需求在軍事上及政治上的顯現極為旺盛,也迫使它快速地向前發展。傳統的移位及替代法雖然使用方便,但可以採用統計的方式進行破解,安全性還有待加強。

        所以後期就發展出一種新的加密方法,即維吉尼亞加密法。這種方法的出發點是,對於相同的字母或數字,加密後的密文可能不同,這就沒法從統計的角度解密。

        基本的加密方法,可以參考下圖。

        這張圖中, 第一行代表原文的數字或字元,每一列代表加密採用第幾套替代方案,每一橫行的字元對應該列的字母加密後的密文 。是不是夠復雜哈,如果採用這樣的方式手工加密解密,寫一封郵件估計要崩潰死了。。。。

        而且這套加密方法使用中還存在一些問題,就是需要把 整個加密圖傳給解密方 ,沒有該圖做指導,解密的人也是一臉懵逼。。。。

        但方法是死的,人是活的,人最可貴的一點就是遇到問題會想各種解決方法。所以這個問題如何解呢?關鍵在於一個密鑰(key),比如以「yes」為密鑰,加密時第一個字母採用"y"(即第25套替代方案)加密,將原文字母向後移動25位;第二個字母採用「e」(即第5套方案)加密,將原文字母向後移動5位;第三個字母採用"s"(即第19套方案)加密,將原文字母向後移動19位;依次循環加密。

        比如加密「hello」,加密結果就如下,加密後的密文為「FIDJS」,兩個字母「l」分別對應D和J,就沒法用統計法找出破綻了。    

        但該方法加密解密超費勁,人工處理很容易出錯,所以發明了200年還未被廣泛使用,直到能夠採用機器進行處理之後,才被人翻出來使用。

       

『柒』 密碼體制中,加密演算法一般分為哪幾種

古典加密演算法分為替代演算法和置換移位法。

1、替代演算法

替代演算法用明文的字母由其他字母或數字或符號所代替。最著名的替代演算法是愷撒密碼。凱撒密碼的原理很簡單,其實就是單字母替換。

例子:

明文:abcdefghijklmnopq

密文:defghijklmnopqrst

2、置換移位法

使用置換移位法的最著名的一種密碼稱為維吉尼亞密碼。它以置換移位為基礎的周期替換密碼。

在維吉尼亞密碼中,加密密鑰是一個可被任意指定的字元串。加密密鑰字元依次逐個作用於明文信息字元。明文信息長度往往會大於密鑰字元串長度,而明文的每一個字元都需要有一個對應的密鑰字元,因此密鑰就需要不斷循環,直至明文每一個字元都對應一個密鑰字元。

其他常見的加密演算法

1、DES演算法是密碼體制中的對稱密碼體制,把64位的明文輸入塊變為64位的密文輸出塊,它所使用的密鑰也是64位。

2、3DES是基於DES的對稱演算法,對一塊數據用三個不同的密鑰進行三次加密,強度更高。

3、RC2和RC4是對稱演算法,用變長密鑰對大量數據進行加密,比DES快。

4、IDEA演算法是在DES演算法的基礎上發展出來的,是作為迭代的分組密碼實現的,使用128位的密鑰和8個循環。

5、RSA是由RSA公司發明,是一個支持變長密鑰的公共密鑰演算法,需要加密的文件塊的長度也是可變的,非對稱演算法。

6、DSA,即數字簽名演算法,是一種標準的 DSS(數字簽名標准),嚴格來說不算加密演算法。

7、AES是高級加密標准對稱演算法,是下一代的加密演算法標准,速度快,安全級別高,在21世紀AES 標準的一個實現是 Rijndael演算法。

『捌』 換位密碼的加密方法

加密換位密碼通過密鑰只需要對明文進行加密,並且重新排列裡面的字母位置即可。具體方法如下

1、基於二維數組移位的加密演算法

給定一個二維數組的列數,即該二維數組每行可以保存的字元個數。再將明文字元串按行依次排列到該二維數組中。最後按列讀出該二維數組中的字元,這樣便可得到密文。

2、換位解密演算法(基於二維數組移位的解密演算法)

先給定一個二維數組的列數,即該二維數組每行可以保存的字元個數,並且這個數應該和加密演算法中的一致。接下來將密文字元串按列一次性排列到該二維數組中。最後按行讀出該二維數組中的字元即可。

3、換位加密演算法

首先按照密鑰排列順序:將想要加密的明文加密,然後列出表格,找出對應的字母,就是密鑰。然後對他們進行換位加密,就是將表格的第二行依據密鑰排列順序進行排序以便得到加密後的密文。

(8)移位替換加密擴展閱讀

數據加密技術的分類

1、專用密鑰

又稱為對稱密鑰或單密鑰,加密和解密時使用同一個密鑰,即同一個演算法。單密鑰是最簡單方式,通信雙方必須交換彼此密鑰,當需給對方發信息時,用自己的加密密鑰進行加密,而在接收方收到數據後,用對方所給的密鑰進行解密。當一個文本要加密傳送時,該文本用密鑰加密構成密文,密文在信道上傳送,收到密文後用同一個密鑰將密文解出來,形成普通文體供閱讀。

2、對稱密鑰

對稱密鑰是最古老的,一般說「密電碼」採用的就是對稱密鑰。由於對稱密鑰運算量小、速度快、安全強度高,因而如今仍廣泛被採用。它將數據分成長度為64位的數據塊,其中8位用作奇偶校驗,剩餘的56位作為密碼的長度。首先將原文進行置換,得到64位的雜亂無章的數據組,然後將其分成均等兩段;第三步用加密函數進行變換,並在給定的密鑰參數條件下,進行多次迭代而得到加密密文。

3、公開密鑰

又稱非對稱密鑰,加密和解密時使用不同的密鑰,即不同的演算法,雖然兩者之間存在一定的關系,但不可能輕易地從一個推導出另一個。非對稱密鑰由於兩個密鑰(加密密鑰和解密密鑰)各不相同,因而可以將一個密鑰公開,而將另一個密鑰保密,同樣可以起到加密的作用。公開密鑰的加密機制雖提供了良好的保密性,但難以鑒別發送者,即任何得到公開密鑰的人都可以生成和發送報文。

4、非對稱加密技術

數字簽名一般採用非對稱加密技術(如RSA),通過對整個明文進行某種變換,得到一個值,作為核實簽名。接收者使用發送者的公開密鑰對簽名進行解密運算,如其結果為明文,則簽名有效,證明對方的身份是真實的。數字簽名不同於手寫簽字,數字簽名隨文本的變化而變化,手寫簽字反映某個人個性特徵,是不變的;數字簽名與文本信息是不可分割的,而手寫簽字是附加在文本之後的,與文本信息是分離的。

『玖』 替代密碼的替代密碼的分類

根據密碼演算法加解密時使用替換表多少的不同,替代密碼又可分為單表替代密碼和多表替代密碼。
單表替代密碼的密碼演算法加解密時使用一個固定的替換表。單表替代密碼又可分為一般單表替代密碼、移位密碼、仿射密碼、密鑰短語密碼。
多表替代密碼的密碼演算法加解密時使用多個替換表。 多表替代密碼有弗吉尼亞密碼、希爾(Hill)密碼、一次一密鑰密碼、Playfair密碼。 單表替代密碼對明文中的所有字母都使用一個固定的映射(明文字母表到密文字母表)。設A={a0, a1,…, an-1}為包含了n個字母的明文字母表;
B={b0, b1,…, bn-1} 為包含n個字母的密文字母表,單表替代密碼使用了A到B的映射關系:f:A→B, f ( ai )= bj
一般情況下,f 是一一映射,以保證加密的可逆性。加密變換過程就是將明文中的每一個字母替換為密文字母表的一個字母。而單表替代密碼的密鑰就是映射f或密文字母表。經常密文字母表與明文字母表的字元集是相同的,這時的密鑰就是映射f。下面給出幾種典型的單表替代密碼。
⒈一般單表替代密碼
一般單表替代密碼的原理是以26個英文字母集合上的一個置換π為密鑰,對明文消息中的每個字母依次進行變換。可描述為:明文空間M和密文空間C都是26個英文字母的集合,密鑰空間K={π:Z26→Z26|π是置換},是所有可能置換的集合。
對任意π∈K,定義:
加密變換:eπ(m)=π(m)=c
解密變換:dπ(c) = π-1(c)=m, π-1是π的逆置換。
例:設置換π的對應關系如下:
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
q w e r t y u i o p a s d f g h j k l z x c v b n m
試用單表替代密碼以π為密鑰對明文消息message加密,然後寫出逆置換 ,並對密文解密。
解:以π為密鑰用單表替代密碼對明文消息message加密,所得
密文消息為: π(m) π(e) π(s) π(s) π(a) π(g) π(e)=dtllqut
一般單表替代密碼演算法特點:
▲密鑰空間K很大,|K|=26!=4×10^26 ,破譯者窮舉搜索計算不可行,1微秒試一個密鑰,遍歷全部密鑰需要1013 年。
▲移位密碼體制是替換密碼體制的一個特例,它僅含26個置換做為密鑰空間。
密鑰π不便記憶。
▲針對一般替換密碼密鑰π不便記憶的問題,又衍生出了各種形式單表替代密碼。
⒉移位密碼
明文空間M、密文空間C都是和密鑰空間K滿足,即把26個英文字母與整數0,1,2,…,25一一對應。
加密變換,E={E:Z26→Z26, Ek (m) = m + k (mod26)| m∈M, k∈K }
解密變換,D={D:Z26→Z26, Dk (c) = c-k (mod26)| c∈C, k∈K }
解密後再把Z26中的元素轉換英文字母。
顯然,移位密碼是前面一般單表替代密碼的一個特例。當移位密碼的 密鑰k=3時,就是歷史上著名的凱撒密碼(Caesar)。根據其加密函數特 點,移位密碼也稱為加法密碼。
⒊仿射密碼
仿射密碼也是一般單表替代密碼的一個特例,是一種線性變換。仿射密碼的明文空間和密文空間與移位密碼相同,但密鑰空間為 K={(k1,k2)| k1,k2∈Z26,gcd(k1,26)=1}
對任意m∈M,c∈C,k = (k1,k2)∈K,定義加密變換為 c = Ek (m) = k1 m +k2 (mod 26)
相應解密變換為: m = Dk (c) = k1 (c-k2) (mod 26)
其中,K1 k1=1mod26 。很明顯,k1=1時即為移位密碼,而k2=1則稱為乘法密碼。
⒋密鑰短語密碼
選用一個英文短語或單詞串作為密鑰,去掉其中重復的字母得到一個無重復字母的字元串,然後再將字母表中的其它字母依次寫於此字母串後,就可構造出一個字母替代表。當選擇上面的密鑰進行加密時,若明文為「china」,則密文為「yfgmk」。顯然,不同的密鑰可以得到不同的替換表,對於明文為英文單詞或短語的情況時,密鑰短語密碼最多可能有26!=4×1026個不同的替換表。 單表替代密碼表現出明文中單字母出現的頻率分布與密文中相同, 多表替代密碼使用從明文字母到密文字母的多個映射來隱藏單字母出現 的頻率分布,每個映射是簡單替代密碼中的一對一映射多表替代密碼將 明文字母劃分為長度相同的消息單元,稱為明文分組,對明文成組地進 行替代,同一個字母有不同的密文,改變了單表替代密碼中密文的唯一 性,使密碼分析更加困難。
多表替代密碼的特點是使用了兩個或兩個以上的替代表。著名的維吉尼亞密碼和Hill密碼等均是多表替代密碼。
⒈維吉尼亞密碼
維吉尼亞密碼是最古老而且最著名的多表替代密碼體制之一,與位移密碼體制相似,但維吉尼亞密碼的密鑰是動態周期變化的。
該密碼體制有一個參數n。在加解密時,同樣把英文字母映射為0-25的數字再進行運算,並按n個字母一組進行變換。明文空間、密文空間及密鑰空間都是長度為n的英文字母串的集合,因此可表示
加密變換定義如下:
設密鑰 k=(k1,k2,…,kn), 明文m=(m1,m2,…,mn), 加密變換為:
Ek(m)=(c1,c2,…,cn),
其中ci(mi + ki)(mod26),i =1,2,…,n
對密文 c=(c1,c2,…,cn), 解密變換為:
Dk(c)=(m1,m2,…,mn), 其中 mi=(ci -ki)(mod26),i =1,2,…,n
⒉希爾(Hill)密碼
Hill密碼演算法的基本思想是將n個明文字母通過線性變換,將它們轉換為n個密文字母。解密只需做一次逆變換即可。
⒊一次一密密碼(One Time Pad)
若替代碼的密鑰是一個隨機且不重復的字元序列,這種密碼則稱為一次一密密碼,因為它的密鑰只使用一次。該密碼體制是美國電話電報公司的Joseph Mauborgne在1917年為電報通信設計的一種密碼,所以又稱為Vernam密碼。Vernam密碼在對明文加密,前首先將明文編碼為(0,1)序列,然後再進行加密變換。
設m=(m1 m2 m3 … mi …)為明文,k=(k1 k2 k3 … ki …)為密鑰,其中mi,ki ∈(0,1), i≥1, 則加密變換為: c=(c1 c2 c3 … ci …) ,其中ci = mi &Aring; ki , i≥1,
這里為模2加法(或異或運算)
解密變換為:
m=(m1 m2 m3 … mi …) ,其中mi = ci &Aring; ki , i≥1,
在應用Vernam密碼時,如果對不同的明文使用不同的隨機密鑰,這時Vernam密碼為一次一密密碼。由於每一密鑰序列都是等概率隨機產生的,敵手沒有任何信息用來對密文進行密碼分析。香農(Claude Shannon)從資訊理論的角度證明了這種密碼體制在理論上是不可破譯的。但如果重復使用同一個密鑰加密不同的明文,則這時的Vernam密碼就較為容易破譯。
若敵手獲得了一個密文c=(c1 c2 c3 … ci …) 和對應明文m=(m1 m2 m3 … mi …) 時,就很容易得出密鑰 k=(k1 k2 k3 … ki …) ,其中ki = ci&Aring; mi,i≥1。 故若重復使用密鑰,該密碼體制就很不安全。
實際上Vernam密碼屬於序列密碼,加密解密方法都使用模2加,這使軟
硬體實現都非常簡單。但是,這種密碼體制雖然理論上是不可破譯的,然而
在實際應用中,真正的一次一密系統卻受到很大的限制,其主要原因在於該
密碼體制要求:
① 密鑰是真正的隨機序列;
② 密鑰長度大於等於明文長度;
③ 每個密鑰只用一次(一次一密)。
這樣,分發和存儲這樣的隨機密鑰序列,並確保密鑰的安全都是很因難
的;另外,如何生成真正的隨機序列也是一個現實問題。因此,人們轉而尋
求實際上不對攻破的密碼系統。
⒋Playfair密碼
Playfair密碼是一種著名的雙字母單表替代密碼,實際上Playfair密碼屬於一種多字母替代密碼,它將明文中的雙字母作為一個單元對待,並將這些單元轉換為密文字母組合。替代時基於一個5×5的字母矩陣。字母矩陣構造方法同密鑰短語密碼類似,即選用一個英文短語或單詞串作為密鑰,去掉其中重復的字母得到一個無重復字母的字元串,然後再將字母表中剩下的字母依次從左到右、從上往下填入矩陣中,字母I,j占同一個位置。

『拾』 採用移位加密方法將明文dog變換得到的密文是多少 密鑰k為6

3)是對的。
維吉尼亞密碼引入了「密鑰」的概念,即根據密鑰來宏銀備決定用哪一行的密表來進行替換,以此來對抗字頻統計。假如以上面第一行代表明文字母,左面第一列搏銀代表密鑰字母,對如下明文加密:
TO BE OR NOT TO BE THAT IS THE QUESTION
當選定RELATIONS作為密鑰時,加密過程是:明文一個字母為T,第一個密鑰字母為R,因此可以找到在R行中代替T的為K,蔽毀依此類推,得出對應關系如下:
密鑰:RELAT IONSR ELATI ONSRE LATIO NSREL
明文:TOBEO RNOTT OBETH ATIST HEQUE STION
密文:KSMEH ZBBLK SMEMP OGAJX SEJCS FLZSY

熱點內容
解壓到當前文件夾右鍵 發布:2024-04-26 03:57:08 瀏覽:979
html5android教程視頻下載 發布:2024-04-26 03:09:59 瀏覽:867
伺服器的描述是什麼 發布:2024-04-26 03:08:32 瀏覽:394
個人加密 發布:2024-04-26 03:01:23 瀏覽:520
linuxusbgadget 發布:2024-04-26 02:52:54 瀏覽:304
我的世界空島世界伺服器地址 發布:2024-04-26 01:39:08 瀏覽:248
尼爾機械紀元加密 發布:2024-04-26 01:37:11 瀏覽:867
在控制台輸出sql語句 發布:2024-04-26 01:08:12 瀏覽:432
動畫java 發布:2024-04-26 01:02:40 瀏覽:12
得力文件夾5302 發布:2024-04-26 00:21:32 瀏覽:91