版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、密碼的設計和使用至少可以追溯到四千多年前的埃及、巴比密碼的設計和使用至少可以追溯到四千多年前的埃及、巴比倫、羅馬和希臘,歷史極為久遠。倫、羅馬和希臘,歷史極為久遠。古代古代隱藏信息的方法主要隱藏信息的方法主要有兩大類:有兩大類: 其一其一為為隱藏信息載體,采用隱寫術隱藏信息載體,采用隱寫術等;等; 其二其二為為變換信息載體,使之無法為一般人所理解變換信息載體,使之無法為一般人所理解。 密碼學中,信息代碼被稱為密碼學中,信息代碼被稱為密碼密碼,加密前,加密前的信息被稱為的信息被稱為明文明文,加密后不為常人所理,加密后不為常人所理解的用密碼表示的信息稱為解的用密碼表示的信息稱為密文密文(ciphe
2、rtext),將明文轉變成密文的過程被,將明文轉變成密文的過程被稱為稱為加密加密(enciphering),其逆過程則被稱,其逆過程則被稱為為解密解密(deciphering),而用以加密、解密,而用以加密、解密的方法或算法則被稱為的方法或算法則被稱為 密碼體制密碼體制(crytosystem)。記全體明文組成的集合記全體明文組成的集合 為為U,全體密文組成的集合為,全體密文組成的集合為V,稱,稱U為明文空間,為明文空間,V為密文空間。加密常利用某一被稱為密鑰的東為密文空間。加密常利用某一被稱為密鑰的東西來實現(xiàn),它通常取自于一個被稱為密鑰空間的含有若干參西來實現(xiàn),它通常取自于一個被稱為密鑰空間
3、的含有若干參數的集合數的集合K。按數學的觀點來看,加密與解密均可被看成是一。按數學的觀點來看,加密與解密均可被看成是一種變換:取一種變換:取一kK,uU,令,令 v =k u ,v為明文為明文u在密鑰在密鑰K下下的密文,而解碼則要用到的密文,而解碼則要用到K的逆變換的逆變換K-1。由此可見,密碼體。由此可見,密碼體系雖然可以千姿百態(tài),但其關鍵還在于系雖然可以千姿百態(tài),但其關鍵還在于密鑰的選取密鑰的選取。 隨著計算機與網絡技術的迅猛發(fā)展,大量各具特色的密碼體隨著計算機與網絡技術的迅猛發(fā)展,大量各具特色的密碼體系不斷涌現(xiàn)。離散數學、數論、計算復雜性、混沌、系不斷涌現(xiàn)。離散數學、數論、計算復雜性、混
4、沌、,許多相當高深的數學知識都被用上,逐步形成了(并仍在迅許多相當高深的數學知識都被用上,逐步形成了(并仍在迅速發(fā)展的)具有廣泛應用面的速發(fā)展的)具有廣泛應用面的現(xiàn)代密碼學現(xiàn)代密碼學 。 替代密碼替代密碼 移位密碼移位密碼 代數密碼代數密碼 代替法密碼代替法密碼采用另一個字母表中的字母來代替明文中的字母,采用另一個字母表中的字母來代替明文中的字母,明文字母與密文字母保持一一對應關系,但采用的符號改變明文字母與密文字母保持一一對應關系,但采用的符號改變了。加密時,把明文換成密文,即將明文中的字母用密文字了。加密時,把明文換成密文,即將明文中的字母用密文字母表中對應位置上的字母取代。解密時,則把密
5、文換成明文,母表中對應位置上的字母取代。解密時,則把密文換成明文,即把密文中的字母用明文字母表中對應位置上的字母代回,即把密文中的字母用明文字母表中對應位置上的字母代回,解密過程是加密過程的逆過程。在代替法加密過程中,密文解密過程是加密過程的逆過程。在代替法加密過程中,密文字母表即代替法密鑰,密鑰可以是標準字母表,也可以是任字母表即代替法密鑰,密鑰可以是標準字母表,也可以是任意建立的。意建立的。 1.代替法密碼代替法密碼明文字母表明文字母表 ABCDEFGHIJKLMNOPQRSTUVWXYZ密文字母表密文字母表 KLMNOPQRSTUVWXYZABCDEFGHIJ密鑰常用一密鑰單詞或密鑰短語
6、生成混淆字母表。密鑰單詞密鑰常用一密鑰單詞或密鑰短語生成混淆字母表。密鑰單詞 或密鑰短語可以存放在識別碼、通行字或密鑰的秘密表格中?;蛎荑€短語可以存放在識別碼、通行字或密鑰的秘密表格中。 混合一個字母表,常見的有兩種方法,這兩種方法都采用混合一個字母表,常見的有兩種方法,這兩種方法都采用了一個了一個密鑰單詞密鑰單詞或一個或一個密鑰短語密鑰短語。 方法方法1:a)選擇一個密鑰單詞或密鑰短語,例如:選擇一個密鑰單詞或密鑰短語,例如:constructb)去掉其中重復的字母,得:去掉其中重復的字母,得:construc)在修改后的密鑰后面接上從標準字母表中去掉密鑰中已有在修改后的密鑰后面接上從標準字
7、母表中去掉密鑰中已有的字母后剩下的字母,得:的字母后剩下的字母,得:明文字母表明文字母表 ABCDEFGHIJKLMNOPQRSTUVWXYZ密文字母表密文字母表 CONSTRUABDEFGHIJKLMPQVWXYZ在設計密鑰時,也可在明文字母表中選擇一個特定字母,然在設計密鑰時,也可在明文字母表中選擇一個特定字母,然后從該特定字母開始寫密鑰單詞將密鑰單詞隱藏于其中。例后從該特定字母開始寫密鑰單詞將密鑰單詞隱藏于其中。例如,對于上例,選取特定字母如,對于上例,選取特定字母k k,則可得:,則可得: 明文字母表明文字母表 ABCDEFGHIJKLMNOPQRSTUVWXYZ密文字母表密文字母表
8、KLMPQVWXYZCONSTRUABDEFGHIJ 方法方法2 2:a)a)選擇一個密鑰單詞或密鑰短語,例如:選擇一個密鑰單詞或密鑰短語,例如: constructconstructb)b)去掉其中重復的字母,得:去掉其中重復的字母,得:construconstruc)c)這些字母構成矩陣的第一行,矩陣的后續(xù)各行由標準字母這些字母構成矩陣的第一行,矩陣的后續(xù)各行由標準字母表中去掉密鑰單詞的字母后剩下的字母構成表中去掉密鑰單詞的字母后剩下的字母構成d)d)將所得矩陣中的字母按列的順序排出將所得矩陣中的字母按列的順序排出 得:得: cugmyoahpznbiqsdjvrtekwrflx按照此方法
9、產生的字母表稱為按照此方法產生的字母表稱為 混淆字母表混淆字母表。還可以使用還可以使用混淆數混淆數?;煜龜涤梢韵路椒óa生:?;煜龜涤梢韵路椒óa生:a)選一密鑰單詞或密鑰短語,例如:選一密鑰單詞或密鑰短語,例如:constructb)按照這些字母在標準字母表中出現(xiàn)的相對順序給它們編號,按照這些字母在標準字母表中出現(xiàn)的相對順序給它們編號,對序列中重復的字母則自左向右編號,得對序列中重復的字母則自左向右編號,得 :construct 143675928c)自左向右選出這些數字,得到一個混淆數字組自左向右選出這些數字,得到一個混淆數字組:143675928,混淆字母表由從小到大的順序取矩陣中相應列得出
10、?;煜帜副碛蓮男〉酱蟮捻樞蛉【仃囍邢鄳械贸?。為增加保密性,在使用為增加保密性,在使用代替法時還可利用一些代替法時還可利用一些其他技巧,如單字母表其他技巧,如單字母表對多字母表、單字母對對多字母表、單字母對多字母、多重代替等。多字母、多重代替等。 2.移位密碼體制移位密碼體制移位密碼移位密碼采用移位法進行加密,明文中的字母重新排列,本采用移位法進行加密,明文中的字母重新排列,本身不變,只是位置改變了。身不變,只是位置改變了。早在早在4000多年前,古希臘人就用一種名叫多年前,古希臘人就用一種名叫“天書天書”的器械的器械來加密消息。該密碼器械是用一條窄長的草紙纏繞在一個來加密消息。該密碼器械是
11、用一條窄長的草紙纏繞在一個直徑確定的圓筒上,明文逐行橫寫在紙帶上,當取下紙帶直徑確定的圓筒上,明文逐行橫寫在紙帶上,當取下紙帶時,字母的次序就被打亂了,消息得以隱蔽。收方閱讀消時,字母的次序就被打亂了,消息得以隱蔽。收方閱讀消息時,要將紙帶重新繞在直徑與原來相同的圓筒上,才能息時,要將紙帶重新繞在直徑與原來相同的圓筒上,才能看到正確的消息。在這里圓筒的直徑起到了密鑰的作用??吹秸_的消息。在這里圓筒的直徑起到了密鑰的作用。 以上移位較易被人破譯,為打破字母表中原有的順序還可采用以上移位較易被人破譯,為打破字母表中原有的順序還可采用所謂路線加密法,即把明文字母表按某種既定的順序安排在一所謂路線加
12、密法,即把明文字母表按某種既定的順序安排在一個矩陣中,然后用另一種順序選出矩陣中的字母來產生密文表。個矩陣中,然后用另一種順序選出矩陣中的字母來產生密文表。 例如,對明文:例如,對明文:THE HISTORY OF ZJU IS MORE THAN ONE HUNDRED YEARS.以以7列矩陣表示如下:列矩陣表示如下:THEHISTORYOFZJUISMORETHANONEHUNDREDYEARS再按事先約定的方式選出密文。例如,如按列選出,得到再按事先約定的方式選出密文。例如,如按列選出,得到密文:密文:touthyhrihueeysanahomndrifoorsszrnetjeed使用
13、不同的順序進行編寫和選擇,可以得到各種不同的路使用不同的順序進行編寫和選擇,可以得到各種不同的路線加密體制。對于同一明文消息矩陣,采用不同的抄寫方線加密體制。對于同一明文消息矩陣,采用不同的抄寫方式,得到的密文也是不同的。式,得到的密文也是不同的。 當明文超過規(guī)定矩陣的大小時,可以另加一矩陣。當需要當明文超過規(guī)定矩陣的大小時,可以另加一矩陣。當需要加密的字母數小于矩陣大小時,可以在矩陣中留空位或以加密的字母數小于矩陣大小時,可以在矩陣中留空位或以無用的字母來填滿矩陣。無用的字母來填滿矩陣。 移位法也可和代替法結合使用,并使用約定的單詞或短語作移位法也可和代替法結合使用,并使用約定的單詞或短語作
14、密鑰,以進一步加強保密性,這就是密鑰,以進一步加強保密性,這就是鑰控列序加密法鑰控列序加密法。 例如例如,用密鑰單詞,用密鑰單詞 construct對明文對明文MATHEMATICAL MODELING IS USEFUL加密:加密:CONSTRUCT 1 4 36 7 5 928MATHEMATICALMODELI NGI S USEFU L 按混淆數的順序選出各列,得到密文:按混淆數的順序選出各列,得到密文: MCNLTLFTLIAAGMDSHMSEOSIIUAEE移位法的使用可重復多次,只進行一次移位加密的稱為一移位法的使用可重復多次,只進行一次移位加密的稱為一 次移位法次移位法,經多次
15、移位的則稱,經多次移位的則稱 為為多次移位法多次移位法 代替法與移位法密碼的代替法與移位法密碼的破譯破譯 對竊聽到的密文進行分析時,對竊聽到的密文進行分析時,窮舉法窮舉法和和統(tǒng)計法統(tǒng)計法是最基本的破是最基本的破譯方法譯方法 。窮舉分析法窮舉分析法 就是對所有可能的密鑰或明文進行逐一試探,就是對所有可能的密鑰或明文進行逐一試探,直至試探到直至試探到“正確正確”的為止。此方法的為止。此方法需要事先知道密碼體需要事先知道密碼體制或加密算法制或加密算法(但不知道密鑰或加密具體辦法)。破譯時(但不知道密鑰或加密具體辦法)。破譯時需將猜測到的明文和選定的密鑰輸入給算法,產生密文,需將猜測到的明文和選定的密
16、鑰輸入給算法,產生密文,再將該密文與竊聽來的密文比較。如果相同,則認為該密再將該密文與竊聽來的密文比較。如果相同,則認為該密鑰就是所要求的,否則繼續(xù)試探,直至破譯。以英文字母鑰就是所要求的,否則繼續(xù)試探,直至破譯。以英文字母為例,當已知對方在采用代替法加密時,如果使用窮舉字為例,當已知對方在采用代替法加密時,如果使用窮舉字母表來破譯,那么對于最簡單的一種使用單字母表單字母表來破譯,那么對于最簡單的一種使用單字母表單字母單元代替法加密的密碼,字母表的可能情況有母單元代替法加密的密碼,字母表的可能情況有26!種,種,可見,單純地使用窮舉法,在實際應用中幾乎是行不通的,可見,單純地使用窮舉法,在實際
17、應用中幾乎是行不通的,只能與其它方法結合使用。只能與其它方法結合使用。 統(tǒng)計法統(tǒng)計法是根據統(tǒng)計資料進行猜測的。在一段足夠長且非特別是根據統(tǒng)計資料進行猜測的。在一段足夠長且非特別專門化的文章中,字母的使用頻率是比較穩(wěn)定的。在某些技專門化的文章中,字母的使用頻率是比較穩(wěn)定的。在某些技術性或專門化文章中的字母使用頻率可能有微小變化。術性或專門化文章中的字母使用頻率可能有微小變化。 在上述兩種加密方法中字母表中的字母是一一對應的,因此,在上述兩種加密方法中字母表中的字母是一一對應的,因此,在截獲的密文中各字母出現(xiàn)的概率提供了重要的密鑰信息。根在截獲的密文中各字母出現(xiàn)的概率提供了重要的密鑰信息。根據權威
18、資料報道,可以據權威資料報道,可以 將將26個英文字母按其出現(xiàn)的頻率大小個英文字母按其出現(xiàn)的頻率大小較合理地分為五組:較合理地分為五組:I. t,a,o,i,n,s,h,r; II. e; III. d,l; IV. c,u,m,w,f,g,y,p,b; V. v,k,j,x,q,z; 不僅單個字母以相當穩(wěn)定的頻率出現(xiàn),不僅單個字母以相當穩(wěn)定的頻率出現(xiàn),相鄰字母對相鄰字母對和和三字母三字母對對同樣如此。同樣如此。按按頻率大小頻率大小 將雙字母排列如下:將雙字母排列如下:th,he,in,er,an,re,ed,on,es,st,en,at,to,nt,ha,nd,ou,ea,ng,as,or,
19、ti,is,er,it,ar,te,se,hi,of使用最多的三字母按頻率大小排列如下:使用最多的三字母按頻率大小排列如下: The,ing,and,her,ere,ent,tha,nth,was,eth,for,dth統(tǒng)計的章節(jié)越長,統(tǒng)計結統(tǒng)計的章節(jié)越長,統(tǒng)計結果就越可靠。對于只有幾果就越可靠。對于只有幾個單詞的密文,統(tǒng)計是無個單詞的密文,統(tǒng)計是無意義的。意義的。下面介紹一下統(tǒng)計觀察的三個結果:下面介紹一下統(tǒng)計觀察的三個結果:a)單詞單詞the在這些統(tǒng)計中有重要的作用;在這些統(tǒng)計中有重要的作用;b)以以e,s,d,t為結尾的英語單詞超過了一半;為結尾的英語單詞超過了一半;c)以以t,a,s,
20、w為起始字母的英語單詞約為一半。為起始字母的英語單詞約為一半。 對于對于a) ,如果將,如果將the從明文中刪除,那么從明文中刪除,那么t的頻率將要的頻率將要降到第二組中其他字母之后,降到第二組中其他字母之后, 而而h將降到第三組中,將降到第三組中,并且并且th和和he就不再是最眾多的字母了。就不再是最眾多的字母了。以上對英語統(tǒng)計的討論是在僅涉及以上對英語統(tǒng)計的討論是在僅涉及26個字母的假設條件個字母的假設條件下進行的。實際上消息的構成還包括間隔、標點、數字下進行的。實際上消息的構成還包括間隔、標點、數字等字符??傊谱g密碼并不是件很容易的事。等字符??傊?,破譯密碼并不是件很容易的事。 2.
21、希爾密碼希爾密碼代替密碼與移位密碼的一個致命弱點是代替密碼與移位密碼的一個致命弱點是明文字符明文字符和和密文字密文字符符有相同的有相同的使用頻率使用頻率,破譯者可從統(tǒng)計出來的字符頻率中,破譯者可從統(tǒng)計出來的字符頻率中找到規(guī)律,進而找出破譯的突破口。要克服這一缺陷,提找到規(guī)律,進而找出破譯的突破口。要克服這一缺陷,提高保密程度就必須改變字符間的一一對應。高保密程度就必須改變字符間的一一對應。 1929年,希爾利用線性代數中的矩陣運算,打破了字符間的年,希爾利用線性代數中的矩陣運算,打破了字符間的對應關系,設計了一種被稱為希爾密碼的代數密碼。為了便對應關系,設計了一種被稱為希爾密碼的代數密碼。為了
22、便于計算,希爾首先將字符變換成數,例如,對英文字母,我于計算,希爾首先將字符變換成數,例如,對英文字母,我們可以作如下變換:們可以作如下變換: ABC DE FG H I J K L M N O P Q R S T U V W X Y Z 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0將密文分成將密文分成 n個一組,用對應的數字代替,就變成了一個個個一組,用對應的數字代替,就變成了一個個n維向量。如果取定一維向量。如果取定一 個個n階的非奇異矩陣階的非奇異矩陣A(此矩陣為主要(此矩陣為主要密鑰),密鑰),
23、用用A去乘每一向量,即可起到加密的效果,解密也去乘每一向量,即可起到加密的效果,解密也不麻煩,將密文也分成不麻煩,將密文也分成n個一組,同樣變換個一組,同樣變換 成成n維向量,只維向量,只需用需用A逆去乘這些向量,即可將他們變回原先的明文。逆去乘這些向量,即可將他們變回原先的明文。 定理定理1 ,若若 使得使得 (mod26),則必有,則必有 =1,其,其中中 為為 與與26的最大公因子。的最大公因子。 0 0, ,. . . ., ,2 25 5 a a0,250,25a a1 11 1a aa aa aa a1 11 1g gc cd d a a, ,2 26 6 g gc cd d a
24、a, ,2 26 6 a a在具體實施時在具體實施時 ,我們很快會發(fā)現(xiàn)一些困,我們很快會發(fā)現(xiàn)一些困難:難: (1) 為了使數字與字符間可以互換,必須為了使數字與字符間可以互換,必須使用取自使用取自025之間的整數之間的整數 (2)由線性代數知識,由線性代數知識, ,其中,其中 為為A的伴隨矩陣。由于使用了除法,的伴隨矩陣。由于使用了除法,在求在求A的逆矩陣時可能會出現(xiàn)分數。不的逆矩陣時可能會出現(xiàn)分數。不解決這些困難,上述想法仍然無法實現(xiàn)。解決這些困難,上述想法仍然無法實現(xiàn)。解決的辦法是引進同余運算,并用乘法解決的辦法是引進同余運算,并用乘法來代替除法,(如同線性代數中用逆矩來代替除法,(如同線
25、性代數中用逆矩陣代替矩陣除法一樣)。陣代替矩陣除法一樣)。det(A)det(A)A AA A1 1A Aa a 1 3 5 7 9 11 15 17 19 21 23 251 1a a 1 9 21 15 3 19 7 23 11 5 17 25例例1 取取a = 3用希爾密碼體系加密語句用希爾密碼體系加密語句THANK YOU步步1 將將THANK YOU轉換成轉換成 (20,8,1,14,11,25,15,21)步步2 每一分量乘以每一分量乘以 3并關于并關于26取余得取余得 (8,24,3,16,7,23,19,11) 密文為密文為HXCPG WSK現(xiàn)在我們已不難將方法推現(xiàn)在我們已不難
26、將方法推 廣到廣到n為一般整數為一般整數的情況了的情況了,只需在乘法運算中結合應用取余,只需在乘法運算中結合應用取余,求逆矩陣時用逆元素相乘來代替除法即可。求逆矩陣時用逆元素相乘來代替除法即可。 例例2 取取A = 則則 (具體求法見具體求法見后后),用用A加密加密THANK YOU,再用再用 對密文解密對密文解密 0 01 13 32 20 01 1A A1 19 98 81 1A A 8 82 20 01 14 41 12 25 51 11 12 21 11 15 5用矩陣用矩陣A左乘各向量加密(關左乘各向量加密(關 于于26取余)得取余)得 2410 163 239 115得到密文得到密
27、文 JXCPI WEK 解解:(希爾密碼加希爾密碼加 密密)用相應數字代替字符,劃分為兩個元素一用相應數字代替字符,劃分為兩個元素一 組并表示為向量:組并表示為向量:(希爾密碼解密希爾密碼解密)用用A-1左乘求得的向量,即可還原為原來的向量。左乘求得的向量,即可還原為原來的向量。 (自行驗證自行驗證)希爾密碼是以希爾密碼是以矩陣矩陣 法法為基礎的,明文與密文的對應由為基礎的,明文與密文的對應由n階矩階矩陣陣A確定。矩陣確定。矩陣A的階數是事先約定的,與明文分組時每組字的階數是事先約定的,與明文分組時每組字母的字母數量相同,如果明文所含字數與母的字母數量相同,如果明文所含字數與n不匹配,則最后不
28、匹配,則最后幾個分量可任意補足。幾個分量可任意補足。 A-1的求法的求法方法方法1 利用公式利用公式 ,例如,若取,例如,若取 ,則則 , , (mod26) ,即,即 方法方法2 利用高斯消去法。將矩陣利用高斯消去法。將矩陣(A, E)中的矩陣中的矩陣A消為消為E,則原先的則原先的E即被消成了即被消成了A-1,)det(1AAA 01A 323)det( A9)det(1 A 039A1 12 011A 98 如如 01 32 , 01 10(用用9乘第二行并取同乘第二行并取同 余余) 01 12 , 01 90第一行減去第二行第一行減去第二行 的的2倍并取同余,得倍并取同余,得 01 10
29、 , 01 98左端矩陣已化為單位陣,故右端矩陣即為左端矩陣已化為單位陣,故右端矩陣即為 A-1希爾密碼系統(tǒng)的解密依賴于以下幾把鑰匙希爾密碼系統(tǒng)的解密依賴于以下幾把鑰匙 (key):):Key1 矩陣矩陣A的階數的階數n,即,即 明文是按幾個字母來明文是按幾個字母來 劃分的。劃分的。Key2 變換矩陣變換矩陣A,只有知,只有知 道了道了A才可能推算出才可能推算出Key3 明文和密文由字母表明文和密文由字母表 轉換成轉換成 n維向量所對維向量所對 應的非負整數表(上應的非負整數表(上 面,為方便起見,我面,為方便起見,我 們采用了字母的自然們采用了字母的自然 順序)。順序)。希爾密碼體系為破譯者
30、設置了多道關口,加大了破譯難度。破希爾密碼體系為破譯者設置了多道關口,加大了破譯難度。破譯和解密是兩個不同的概念,雖然兩者同樣是希望對密文加以譯和解密是兩個不同的概念,雖然兩者同樣是希望對密文加以處理而得到明文的內容,但是他們有一個最大的不同處理而得到明文的內容,但是他們有一個最大的不同破譯破譯密碼時,解密必需用到的鑰匙未能取得,破譯密碼的一方需要密碼時,解密必需用到的鑰匙未能取得,破譯密碼的一方需要依據依據密文的長度密文的長度,文字的本身特征文字的本身特征,以及,以及行文習慣行文習慣 等等各方面等等各方面的信息進行破譯。破譯密碼雖然需要技術,但更加重要的是的信息進行破譯。破譯密碼雖然需要技術
31、,但更加重要的是“猜測猜測”的藝術。的藝術?!安聹y猜測”的成功與否直接決定著破譯的結果。的成功與否直接決定著破譯的結果。破譯希爾密碼的關鍵是猜測文字被轉換成成幾維向量所對應的破譯希爾密碼的關鍵是猜測文字被轉換成成幾維向量所對應的字母表是怎樣的,更為重要的是要設法獲取加密矩陣字母表是怎樣的,更為重要的是要設法獲取加密矩陣A。(希爾密碼的破譯希爾密碼的破譯)由線性代數的知識可以知道,矩陣完全由線性代數的知識可以知道,矩陣完全由一組基的變換決定,對由一組基的變換決定,對 于于n階矩陣階矩陣A,只要猜出密文只要猜出密文 中中n個線性無關的向量個線性無關的向量 iiApq (i=1, 2, , n) 對
32、應的明文對應的明文 (i=1, 2, , n)是什么是什么 ,即,即可確定可確定A,并將密碼破譯。,并將密碼破譯。 在實際計算中,可以利用以下方法:在實際計算中,可以利用以下方法:令令則則TnpppP),.,(21 ,TnTAPpppAQ ),.,(211)(, TTAQPPAQ取矩陣取矩陣Q | P,經過一系列初等行變換,將由密文決定的經過一系列初等行變換,將由密文決定的n維維矩陣矩陣Q化為化為n階單位陣階單位陣 I的時候,由明文決定的矩陣的時候,由明文決定的矩陣P自動化自動化為為 (A-1)T,即,即 :),)(,()(,11111 TTTAIAQQQQAQQPQ(初等行變換)初等行變換)
33、例例5 有密文如下有密文如下:goqbxcbuglosnfal;根據英文的行根據英文的行文習慣以及獲取密碼的途徑和背景,猜測是兩個字文習慣以及獲取密碼的途徑和背景,猜測是兩個字母為一組的希爾密碼,前四個明文字母是母為一組的希爾密碼,前四個明文字母是dear,試,試破譯這段秘文。破譯這段秘文。解解: 前兩組明文字前兩組明文字 母母de和和ar 對應的二維向量是:對應的二維向量是: 按同一對應整數表,密文中對應這兩組的二維向量是:按同一對應整數表,密文中對應這兩組的二維向量是:TTPP)18, 1(,)5 , 4(21 11(7,15)TqAp, TApq)2 ,17(22 , TqqQ),(21
34、 由此可得由此可得)( ,)26(mod(,1 TAIPQ初初等等行行變變換換),對應上例則有,對應上例則有 9051,100118514,215177初等行變換并取同余初等行變換并取同余 51)(1 TA 90 , 011A 95利用這一逆矩陣,可對截獲密文進行解密,破譯出的電文是利用這一逆矩陣,可對截獲密文進行解密,破譯出的電文是Dear Mac God forbid. 這只是對最簡單情況進行的舉例,如果加密矩陣的階數大于這只是對最簡單情況進行的舉例,如果加密矩陣的階數大于2,需要的密文應該有較長長度,所需的計算量也是很大的。破需要的密文應該有較長長度,所需的計算量也是很大的。破譯的關鍵是
35、猜中譯的關鍵是猜中n及及n個獨立的個獨立的n維向量,其后求解加密矩陣的維向量,其后求解加密矩陣的計算量僅為計算量僅為 O(n2 )。希爾密碼體制中有兩個要素非常重要:希爾密碼體制中有兩個要素非常重要: 第一第一是字母是字母 與與n維向量進行轉換所依維向量進行轉換所依據的非負整數表,本節(jié)中所舉的是最據的非負整數表,本節(jié)中所舉的是最自然的情況;當然如果依據其它的整自然的情況;當然如果依據其它的整數表也是完全可以進行的,其情況將數表也是完全可以進行的,其情況將會更復雜一些,破譯的難度就會增大。會更復雜一些,破譯的難度就會增大。 第二第二個要素是加密矩陣,如何定義、個要素是加密矩陣,如何定義、求解這個
36、矩陣對于密碼的加密和破譯求解這個矩陣對于密碼的加密和破譯更加關鍵。唯一的要求是加密時應選更加關鍵。唯一的要求是加密時應選擇行列式值與擇行列式值與 26無公因子的矩陣。無公因子的矩陣。 RSA公開密鑰體制公開密鑰體制 傳統(tǒng)的密碼通訊只能在事先約定的雙方間進行,雙方必須掌傳統(tǒng)的密碼通訊只能在事先約定的雙方間進行,雙方必須掌握相同的密鑰,而密鑰的傳送必須使用另外的握相同的密鑰,而密鑰的傳送必須使用另外的“安全信道安全信道”。這樣如果要使這樣如果要使 n個用戶都能夠秘密的交換信息,則每個用戶個用戶都能夠秘密的交換信息,則每個用戶將需要用個密鑰,這種巨大的密鑰量給密鑰的分配與管理帶將需要用個密鑰,這種巨
37、大的密鑰量給密鑰的分配與管理帶來了極大的困難;此外在有些情況下,事先約定密鑰還是不來了極大的困難;此外在有些情況下,事先約定密鑰還是不可能的??赡艿?。 公開密鑰體制的提出就是為了從根本上解決上述問題。公開密鑰體制的提出就是為了從根本上解決上述問題。其其基基本思想本思想是:是:把密鑰劃分為公開密鑰和秘密密鑰兩部分,兩者把密鑰劃分為公開密鑰和秘密密鑰兩部分,兩者互為逆變換,但幾乎不可能從公開密鑰推出秘密密鑰。每個互為逆變換,但幾乎不可能從公開密鑰推出秘密密鑰。每個使用者均有自己的公開及秘密密鑰。使用者均有自己的公開及秘密密鑰。 雖然只要能解密的密文,從理論上講雖然只要能解密的密文,從理論上講都是可
38、破譯的,但如果破譯所需要都是可破譯的,但如果破譯所需要 的工作量過大,要求花費的時間過的工作量過大,要求花費的時間過 長,以致超過了保密期限,則該密長,以致超過了保密期限,則該密 碼系統(tǒng)應當被認為是安全可靠的。碼系統(tǒng)應當被認為是安全可靠的。 定義定義1 設設n為一正整數,將小于為一正整數,將小于n且與且與n互素的正整數個數互素的正整數個數記為記為 (n),稱之為歐拉(稱之為歐拉(Euler L.)函數。函數。 不難證明:若不難證明:若 p,q為兩個相異素數,為兩個相異素數,n=pq,則,則 (n) =(p-1)(q-1)令令p,q為隨機選取的兩個大素數(大約為十進制為隨機選取的兩個大素數(大約
39、為十進制100位或更位或更大)大), n=pq, n是公開的,是公開的, 而而p,q則是保密的。僅知道歐拉函則是保密的。僅知道歐拉函數數(n) =(p-1)(q-1),但如果不知道因式分解就不能用這個公但如果不知道因式分解就不能用這個公式計算。隨機選取一個數式計算。隨機選取一個數e,e為小于為小于(n)且與它互素的正整且與它互素的正整數。利用輾轉相除法,可以找到整數數。利用輾轉相除法,可以找到整數d和和r,使,使 ed+r(n) =1即即 ed 1 (mod (n) 數數n,e和和d分別稱為分別稱為模模、加密密鑰加密密鑰和和解密密鑰解密密鑰。 數數n和和e組成公組成公開密鑰的開密鑰的加密密鑰加
40、密密鑰,而其余的項,而其余的項p,q, (n)和和 d 組成了秘密陷組成了秘密陷門。很顯然,陷門信息包含了四個相關的項。門。很顯然,陷門信息包含了四個相關的項。 若知道若知道(n),則由則由 pq=n p+q=n-(n)+1 )1)()( qppqn可知可知p,q是二次方是二次方 程程x+(n)-n-1)x+n=0的根,可以算出的根,可以算出p和和q,從而將,從而將n因式分解。所以因式分解。所以RSA體制的安全性與因式分解密體制的安全性與因式分解密切相關,若能知道切相關,若能知道n的因子分解,該密碼就能被破譯。因此,的因子分解,該密碼就能被破譯。因此,要選用足夠大的要選用足夠大的n,使得在當今
41、的條件下要分解它足夠困難。,使得在當今的條件下要分解它足夠困難。為加密消息為加密消息 m,首先將它分為小于,首先將它分為小于n(對二進制數據,選取(對二進制數據,選取小于小于n的的2的最大次方冪)的數據塊,也就是說,如果的最大次方冪)的數據塊,也就是說,如果p和和q都為十進制都為十進制100位的素數,則位的素數,則 n 剛好在剛好在200位以內,因此每位以內,因此每個消息塊的長度也應在兩百位以內。加密消息個消息塊的長度也應在兩百位以內。加密消息c由類似劃分由類似劃分的同樣長度的消息塊組成。加密公式為的同樣長度的消息塊組成。加密公式為 eiimc)( (mod n) 要解密消息,取每一個加密塊要解密消息,取每一個加密塊c(I)并計算并計算 (mod n)由公式由公式ed 1 (mod (
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版智能安防監(jiān)控中心建設與運營服務合同3篇
- 2024版健身服務合同:健身房向會員提供健身服務及相關權益規(guī)定
- 2024深圳慈善行業(yè)勞動合同范本與志愿者服務協(xié)議3篇
- 2024年食堂餐飲廢棄物處理及資源化利用合同3篇
- 2025年度煤礦承包經營合作框架協(xié)議3篇
- 2025年度PVC及彩印包材料綠色生產與供應鏈管理采購合同3篇
- 2025版無財產無子女離婚協(xié)議范本6篇
- 二零二五年度出租車行業(yè)人才培養(yǎng)與輸送協(xié)議3篇
- 2025年度安置房維修基金管理合同2篇
- 二零二五年度公共設施定向采購協(xié)議書提升城市品質3篇
- 機電拆除及施工方案0829
- 綜合管理部負責人(部長)崗位職責
- 腫瘤放射治療技術-總論課件
- 人才培養(yǎng)方案匯報課件
- 檢驗科15項質量控制指標(檢驗科質控小組活動記錄)
- 5S評分基準模板
- 外研社小學英語三起點五年級上冊(中英文對照)
- 重大行政執(zhí)法法制審核流程圖
- 施工現(xiàn)場重大危險源公示牌
- 中國小兒急性上呼吸道感染相關臨床指南的解讀
- 蘇教版二年級科學下冊第3課《神奇的新材料》教學設計
評論
0/150
提交評論