chap7.3密碼與解密模型-_第1頁
chap7.3密碼與解密模型-_第2頁
chap7.3密碼與解密模型-_第3頁
chap7.3密碼與解密模型-_第4頁
chap7.3密碼與解密模型-_第5頁
已閱讀5頁,還剩37頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

7.3密碼和解密模型密碼的歷史密碼的作用密碼模型西元前404年斯巴達國(今希臘)北路軍司令萊山得在征服雅典之后,信使趕到,獻上了一條皮帶,上面有文字,通報敵軍欲斷其歸路的企圖.4世紀希臘出現了隱蔽書信內容的初級密碼.8世紀古羅馬教徒為傳播新教,創造了「圣經密碼」.中世紀末葉,西班牙的平民百姓與貴族階級的青年男女,為了沖破封建制度對自由戀愛的束縛,不得不采取種種秘密通信的形式,從而導致了各種原始密碼的產生.密碼的歷史2023/2/4

1200年羅馬教皇政府和意大利世俗政府開始有系統地使用密碼.19世紀隨著資本主義的發展和資產階級相互斗爭的需要,出現了無線電密碼通信.密碼的作用1917年,英國破譯了德國外長齊默爾曼的電報,促成了美國對德宣戰。1942年,美國從破譯日本海軍密報中,獲悉日軍對中途島地區的作戰意圖和兵力部署,從而能以劣勢兵力擊破日本海軍的主力,扭轉了太平洋地區的戰局。2023/2/4密碼學名詞明文需要采用某種方法對其進行變換來隱蔽它所載荷的信息或字符串加密過程將明文變換成另一種不能被非授權者所理解的隱蔽信息的消息或字符串的過程明文經過加密過程的變換所得的消息或密文字符串將明文變為密文的變換加密變換解密變換將密文變為明文的變換密鑰加(解)密變換所使用的參數2023/2/4置換密碼是一個最容易實現而且最為人們熟悉的密碼。只需要把每個字母由其它的字母來替換而形成密文。而替換的規則是隨機的或者是系統的。凱撒密碼是首先將訊息(明碼)中的字母,用不同的字母代替。他的做法是系統地將字母向后推三個位置。a-Db-Ec-Fd-Ge-Hf-Ig-Jh-Ki-Lj-Mk-Nl-Om-Pn-Qo-Rp-Sq-Tr-Us-Vt-Wu-Xv-Yw-Zx-Ay-Bz-C置換密碼2023/2/4關于模運算(mod26)模m

等價設

a,b為兩個整數,若稱

a模m等價于b,記作剩余集稱為模m的剩余集運算律設a,b

為兩個整數,則模m

倒數設,若存在使得則稱a模m可逆(有模m

倒數),記作命題模26倒數表25175112371931521912523211917151197531a–1(mod26)a整數a模m

可逆a

與m

無公共質數因子2023/2/4thismessageistopsecretWKLVPHVVDJHLVWRSVHFUHWwearethechampionZHDUHWKHFKDPSLRQ如果26個字母被從1到26編號,用p表示明文中某個字母的編號,用c表示相應的密文中字母的編號,則凱撒密碼就可以由如下的模型給出

c=p+3(Mod26)其中的數3就是凱撒密碼的秘鑰,更一般的形式由下面的公式給出c=p+k(Mod26)其中1≤k≤25.稱這種密碼為移位置換密碼,k稱為移位因子.2023/2/4仿射變換密碼上面移位置換密碼的一個簡單變種就是仿射變換密碼,其數學表示為在上面例子移位置換密碼下,明文中相鄰的字母對應的密文字母也是相鄰的,如A和B對應的密文字母分別為D和E,但在仿射變換下,對應的密文字母分別為H和K,它們有3個字母的間隔(a=3)其中自然數a必須與模m互素2023/2/42023/2/4例假設下面是仿射變換加密的,試破譯此文FSFPREDLFSHRLERKFXRSKTDMMPRRKFSFUXAFSDHKFSPVMRDSKARLVUURRIFEFKKANEHOFZFUKRESVVS假設此問題由26個英文字母組成,取m=26.由于與26互素,a有12種不同的取法,b有26種不同的取法,所以仿射變換有12*26=312種。可以用頻率法,即密文中出現次數最多的字母與英文中最常見的字母對應。在密文中在平常統計中F:出現12次E:出現頻率13.04%R:出現12次T:出現頻率13.04%S:出現9次Z:出現頻率0.08%K:出現8次2023/2/42023/2/42023/2/4GTGAERCSGTKESRE……RKLGUGXDERTMMT利用上述解密公式對密文進行解密得到:這是一串沒有意義的字符串,解密失敗2023/2/4最后破譯文為ANAMERICANSECRETAGENTWILLMEETANAFGHANISTANMOLEINTHECOFFEEBARATTHURSDAYAFTERNOON即ANAMERICANSECRETAGENTWILLMEETANAFGHANISTANMOLEINTHECOFFEEBARATTHURSDAYAFTERNOON破譯成功(3)如令R(17)對應E(4),K(10)對應T(19),得同余式17=4a+b(mod26)10=19a+b(mod26),我們可以得到加密公式:c=3p+5(mod26),解密公式:p=3-1(c-5)(mod26)=9(c-5)(mod26)=9c+7(mod26)2023/2/4多重圖系統Hill密碼中所用的數學手段是矩陣運算。

加密過程:1)將英文的26個字母、空格和必要的標點符號與1到29之間的整數建立一一對應關系,稱為字符的表值,然后根據明文字符的表值,將明文信息用數字表示。設通訊雙方給出這29個字符的表值如下:ABCDEFGHIGKLMNO123456789101112131415PQRSTUVWXYZ空格?!16171819202122232425262728292023/2/42)選擇一個n階可逆整數方陣A,稱為Hilln密碼的加密矩陣,它是加密體制的“密鑰”,是加密的關鍵,僅通訊雙方掌握。3)將明文字母分組。Hill2

使用的是二階矩陣,所以將明文字母每2個一組(可以推廣至Hilln密碼),若最后僅有一個字母,則補充一個沒有實際意義的啞字母。這樣使得每組都有2個字母,查出每個字母的表值,構成一個二維列向量。4)令,由的兩個分量反查字符表值得到的兩個字母即為密文字母。2023/2/4

解密過程:加密過程的逆過程。字符(明文)表值一組數分組向量A左乘向量反查表值密文HILL密碼的數學模型2023/2/4例:設明文為“MEET求這段明文的Hill2密文。將明文分為:

MEET對應密文WYPM2023/2/42023/2/4設方陣滿足命題2的條件,容易驗證2023/2/4對上面例子,det(A)=5,它與29互素,所以滿足2的條件,故A關于模29的逆為2023/2/4對密文WYPM進行解密得到即明文MEET2023/2/4一個簡單實例明文:Ourmarshalwasshot分組:ourmarshalwasshott補充啞元對應向量加密:左乘加密矩陣直接結果2023/2/4密文向量密文ekrmkbixyjyceelshh解密求得解密矩陣左乘密文向量再取模即可求得明文向量,

從而得出明文結論使用Hill密碼時的加解密矩陣應該模26

可逆2023/2/4HILLn密碼的破譯

關鍵在于求出解密矩陣(解密密鑰)

只要破譯出n組線性無關的密文向量

若有2023/2/4一個破譯例子甲方截獲了一段密文:OJWPISWAZUXAUUISEABAUCRSIPLBHAAMMLPJJOTENH經分析這段密文是用HILL2密碼編譯的,且這段密文的字母UCRS依次代表了字母TACO,若明文字母的表值如前,試破譯這密文的內容?關系根據解密原理2023/2/4計算解密密鑰A-12023/2/4破譯密文向量明文向量明文:ClintonisgoingtovisitacountryinMiddleEast2023/2/4

Hill密碼的加密與解密過程類似于在n維向量空間中進行線性變換及其逆變換。每個明文向量是一個Zm上的n維向量,乘以加密矩陣并對m取余,仍為Zm上的一個n維向量。由于加密矩陣A為模m的可逆矩陣,所以如果知道了n個線性無關的n維明文向量及其對應的密文向量,就可以求出它的加密矩陣A及其模m的逆矩陣A-1(modm)2023/2/4公開密鑰系統Hill密碼的加密和解密都只需要加密矩陣這個密鑰就可以了。這種系統稱為單密鑰系統。如果加密和解密使用兩個不同的密鑰,則稱為雙密鑰系統,也稱為公開密鑰系統。密鑰的擁有者將其中一個密鑰公開,另一個保密。雙密鑰系統(1)W.Diffie和M.Hellman最早提出(2)R.L.Rivest,A.Shamir和L.Adleman

提出第一個方法雙密鑰系統的程序是這樣的收方先告訴發方如何把情報制成密碼(敵人也聽到)發方依法發出情報的密文(敵人也可能收到密文)收方將密碼還原成原文(敵人卻解不開密文)2023/2/4公鑰密碼系統的加密原理每個通信實體有一對密鑰(公鑰,私鑰)。公鑰公開,用于加密,私鑰保密,用作解密A向B發送消息,用B的公鑰加密B收到密文后,用自己的私鑰解密PlainText加密算法解密算法ABcipherPlainTextB的私鑰C的公鑰B的公鑰任何人向B發送信息都可以使用同一個密鑰(B的公鑰)加密沒有其他人可以得到B的私鑰,所以只有B可以解密2023/2/4公鑰密碼系統的簽名原理A向B發送消息,用A的私鑰加密(簽名)B收到密文后,用A的公鑰解密(驗證)PlainText加密算法解密算法cipherPlainTextABA的私鑰A的公鑰2023/2/4RSA算法簡介RonRivest,AdiShamir,LeonardAdlemanRSA的安全性基于大數分解的難度RSA在美國申請了專利(已經過期),在其他國家沒有RSA已經成了事實上的工業標準,在美國除外2023/2/4數論基礎a與b的最大公因數:gcd(a,b)gcd(20,24)=4,gcd(15,16)=1如果gcd(a,b)=1,稱a與b互素模運算moda=qn+r0≤r<n;q=[a/n];

[x]表示小于或等于x的最大整數a=[a/n]n+(amodn),r=mmodn如果(amodn)=(bmodn),則稱a與b模n同余,記為

a≡bmodn

例如,23≡8mod5,8≡1mod72023/2/4數論基礎(續)歐拉函數ф(n)n是正整數,ф(n)是比n小且與n

互素的正整數的個數ф(3)=|{1,2}|=2

ф(4)=|{1,3}|=2

ф(5)=|{1,2,3,4}|=4

ф(6)=|{1,5}|=2

ф(7)=|{1,2,3,4,5,6}|=6ф(10)=|{1,3,7,9}|=4

ф(11)=|{1,2,3,4,5,6,7,8,9,10}|=10

如果p是素數,則ф(p)=p-1,比如ф(2),ф(5),ф(11)如果p,q是素數,則ф(pq)=ф(p)ф(q)=(p-1)(q-1)。比如,ф(10)=ф(2*5)=ф(2)ф(5)=1*4=42023/2/4數論基礎(續)例如:

m=3,n=10;ф(10)=4mф(n)=34=81;81mod10=1

81≡1mod1034+1=243≡3mod10歐拉定理若整數m

和n

互素,則等價形式2023/2/4數論基礎(續)推論:給定兩個素數p,q,兩個正整數n,m

,使得n=pq,0<m<n

;則對于任意正整數k

,下列關系成立:

mkф(n)+1≡mmodn2023/2/4RSA算法操作過程密鑰產生1.取兩個大素數p,q,保密;2.計算n=pq,公開n;3.計算歐拉函數ф(n)=(p-1)(q-1);4.任意取一個與ф(n)互素的小整數e,即

gcd(e,ф(n))=1;1<e<ф(n)

e作為公鑰公開;5.尋找d,使得

de≡1modф(n),ed=k

ф(n)+1

d作為私鑰保密。p=7,q=17n=119Ф(n)=96選擇e=55d=k×96+1令k=4,得到求得d=772023/2/4RSA算法加密/解密過程密鑰對(KU,KR

溫馨提示

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

評論

0/150

提交評論