版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、物聯(lián)網(wǎng)安全 之淺析數(shù)字簽名匯報人:李向陽 學 號:20159309導 師:李數(shù)字簽名 有些場合,如政府發(fā)布電子公文,不需要確保數(shù)據(jù)的機密性,但要求有如下保證: 1.身份認證和鑒別:對信息傳輸?shù)碾p方進行身份認證和鑒別,需要某種機制來證明雙方的真實身份。 2. 數(shù)據(jù)完整性:數(shù)據(jù)在傳輸?shù)倪^程中沒有被篡改。 3.不可否認性:信息的發(fā)送方必須對自己的操作承擔責任,不可否認。信任類型信任類型現(xiàn)實世界現(xiàn)實世界網(wǎng)絡世界網(wǎng)絡世界身份認證身份認證身份證、護照、信用卡、駕照身份證、護照、信用卡、駕照數(shù)字簽名數(shù)字簽名完完 整整 性性簽名、支票、第三方證明簽名、支票、第三方證明數(shù)字簽名數(shù)字簽名保保 密密 性性保險箱、信
2、封、警衛(wèi)、密藏保險箱、信封、警衛(wèi)、密藏加密加密不可否認性不可否認性簽名、掛號信、公證、郵戳簽名、掛號信、公證、郵戳數(shù)字簽名數(shù)字簽名形式化定義:“數(shù)字簽名”指在數(shù)據(jù)電文中,以電子形式所含、所附或在邏輯上與數(shù)據(jù)電文有聯(lián)系的數(shù)據(jù),和與數(shù)據(jù)電文有關的任何方法,它可用于數(shù)據(jù)電文有關的簽字持有人和表明此人認可數(shù)據(jù)電文所含信息。數(shù)字簽名基本原理簽名過程:1.使用某種散列算法,對要發(fā)送的數(shù)據(jù)進行處理,生成數(shù)據(jù)摘要信息;2.采用公鑰密碼算法,用私鑰加密數(shù)據(jù)摘要信息;簽名體制:1.發(fā)送方的簽名部分,對消息M簽名,記作S=sig(K,M),簽字算法使用的密鑰是秘密的,即是簽字者的私鑰。2.接收方的認證部分,簽名S的
3、驗證可以記 作 : Ver(M,S,K)真,假 一個簽名方案由簽署算法與驗證算法兩部分構成??捎梦逶P系組(P,A,K,S,Y)表示,其中,P是由一切可能消息(messages)所構成的有限集合;A是一切可能的簽名的有限集合;K為有限密鑰空間,一些可能密鑰的有限集合;任意kK,有簽署算法Sigk S,Sigk:PA,對任意x P,有s=Sigk(x),那么s S為消息x的簽名,將(x,s)發(fā)送到簽名驗證者。對于密鑰集合K,有對應的驗證算法Verk y,滿足: Verk: PXA真,假 簽名者收到(x,s)后,計算Verk(x,y),若y=Sigk(x),則Verk(x,y)=真;若ySigk(
4、x), Verk(x,y)=假。其中:任意是kK,函數(shù)Sigk和verk都為多項式時間函數(shù)。Verk為公開的函數(shù),而Sigk為秘密函數(shù)。如果壞人要偽造B對x的簽名,在計算機上是不可能的。即給定x,僅有B能計算出簽名y,使得Verk(x,y)=真。一個簽名方案不能是無條件安全的,有足夠的時間第三方總能偽造B的簽名。數(shù)字簽名展示: 鮑勃有兩把鑰匙一把是公鑰一把是私鑰。鮑勃把公鑰送給他的朋友們-帕蒂、道格、蘇珊-每人一把。蘇珊要給鮑勃寫一封保密的信。她寫完后用鮑勃的公鑰加密,就可以達到保密的效果。鮑勃收信后,用私鑰解密,就看到了信件內(nèi)容。這里要強調(diào)的是,只要鮑勃的私鑰不泄露,這封信就是安全的,即使落
5、在別人手里,也無法解密。 鮑勃給蘇珊回信,決定采用數(shù)字簽名。他寫完后先用Hash函數(shù),生成信件的摘要(digest) 然后,鮑勃使用私鑰,對這個摘要加密,生成數(shù)字簽名(signature)鮑勃將這個簽名,附在信件下面,一起發(fā)給蘇珊蘇珊收信后,取下數(shù)字簽名,用鮑勃的公鑰解密,得到信件的摘要。由此證明,這封信確實是鮑勃發(fā)出的 復雜的情況出現(xiàn)了。道格想欺騙蘇珊,他偷偷使用了蘇珊的電腦,用自己的公鑰換走了鮑勃的公鑰。此時,蘇珊實際擁有的是道格的公鑰,但是還以為這是鮑勃的公鑰。因此,道格就可以冒充鮑勃,用自己的私鑰做成數(shù)字簽名,寫信給蘇珊,讓蘇珊用假的鮑勃公鑰進行解密。 蘇珊再對信件本身使用Hash函數(shù)
6、,將得到的結果,與上一步得到的摘要進行對比。如果兩者一致,就證明這封信未被修改過 后來,蘇珊感覺不對勁,發(fā)現(xiàn)自己無法確定公鑰是否真的屬于鮑勃。她想到了一個辦法,要求鮑勃去找證書中心(certificate authority,簡稱CA),為公鑰做認證。證書中心用自己的私鑰,對鮑勃的公鑰和一些相關信息一起加密,生成數(shù)字證書鮑勃拿到數(shù)字證書以后,就可以放心了。以后再給蘇珊寫信,只要在簽名的同時,再附上數(shù)字證書就行了 蘇珊收信后,用CA的公鑰解開數(shù)字證書,就可以拿到鮑勃真實的公鑰了,然后就能證明數(shù)字簽名是否真的是鮑勃簽的 哈希(HASH) Hash 定義:一般翻譯做“散列”,也有直接音譯為“哈希”的
7、,就是把任意長度的輸入,通過散列算法,變換成固定長度的輸出,該輸出就是散列值。這種轉換是一種壓縮映射,也就是,散列值的空間通常遠小于輸入的空間,不同的輸入可能會散列成相同的輸出,所以不可能從散列值來唯一的確定輸入值。簡單的說就是一種將任意長度的消息壓縮到某一固定長度的消息摘要的函數(shù)。 算法特點:1.定長輸出2.單向性:對任意給定的碼h, 尋求x使得H(x)=h在計算上是不可行的3.弱抗攻擊性:任意給定分組x, 尋求不等于x的y, 使得H(y)= H(x)在計算上不可行4.強抗攻擊性:尋求對任何的(x,y)對使得H(x)=H(y)在計算上不可行 常見Hash算法:SHA-1算法描述: 可以對長度
8、不超過 比特的消息進行計算,輸入以512位數(shù)據(jù)塊為單位處理,產(chǎn)生160比特的消息摘要作為輸出。642SHA-1變換消息摘要輸入輸出小于264bit160bit預處理: 在進行計算之前,消息x必須先進行填充,直到其大小為512位的倍數(shù)。為了便于內(nèi)部處理,填充后的消息必須分組;同時,初始值H0也需要設置為一個預定義的常量。填充:假設有一個長度為l位的消息x。為了使整個消息的大小為512位的整數(shù)倍,將一個1、k個0和l的二進制表示的64位追加到消息后面。最后,所需要零的個數(shù)k可以表示為: k512-64-1-l=448-(l+1)mod 512例:給定一個由三個8位ASC字符組成的消息“abc”,其
9、總長度l=24我們將一個“1”和k=423個0追加到消息后面,其中k可以使用一下方法確定: k448-(l+1)=448-25=423 mod 512 最后,將包含長度l=2410=110002的二進制的64位追加到最后?!癮bc”01100001 01100010 01100011原始消息bit序列轉換a=0 x61 b=0 x62 c=0 x63 61626380 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 000000
10、00 00000000 00000018填充后形式如下:在使用壓縮函數(shù)之前,需要將消息分割為長度為512位的分組x1, x2,x3,,xn。每個512位的分組又可以分割為16個大小為32位的單詞。例如,消息x的第i個分組可以分割為: xi=(xi (0) xi (1) xi (15) ) 其中,xi (k)表示大小為32位的單詞。例如:一個160位的緩沖區(qū)用來存放第一輪迭代需要的初始哈希值。這五個32位的單詞是固定的,他們對應的十六進制表示為:512bit512bit512bit512bitX = X1 | X2 | | Xi | | XnX= 61626380 00000000 000000
11、00 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0000000000000000 00000000 00000000 00000018X1 A=H0(0) = 0 x67452301 B=H0(1) = 0 xEFCDAB89 C=H0(2) = 0 x98BADCFE D=H0(3) = 0 x10325476 E=H0(4) = 0 xC3D2E1F0 對每個消息分組xi的處理分為四個階段,其中每個階段都包含20輪。每輪都計算一個32位的單詞W0,W1,W79。單詞Wj是從512位消息分組
12、得到: Wj=( )1161483()jijjjjxS WWWW16j79S1表示循環(huán)左移0j15將X分成16個字W0,W1,,W15X1 = 61626380 00000000 00000000 00000000 W0 W1 W2 W3 00000000 00000000 00000000 00000000 W4 W5 W6 W7 00000000 00000000 00000000 00000000 W8 W9 W10 W11 00000000 00000000 00000000 00000018 W12 W13 W14 W15擴展W16,W17,,W79Wj = S1(Wj-3 Wj-8
13、 Wj-14 Wj-16) (0 j 19) 五個大小為32位的工作寄存器ABCDE,分別組成哈希值Hi。開始時,哈希值為初始值H0;然而每次處理完單個消息分組后,此哈希值將被得到的新哈希值替換。最后一個哈希值Hn等于SHA-1的輸出h(x)。上圖中的四個SHA-1階段結構相似,只是使用的內(nèi)部函數(shù)ft和常量Kt不同,其中1t4。每個階段包含20輪,在每輪中,函數(shù)ft和某個與階段無關的常量Kt一起處理一部分消息分組。第80輪之后的輸出與輸入值Hi-1模232進行按位相加。第t階段的第j輪內(nèi)的操作可表示為:T = S5(A) + ft(B,C,D) + E + Wt + Kt對于0 t 79,執(zhí)行以下循環(huán):T = S5(A) + ft(B,C,D) + E + Wt + KtE = D ; D = C ; C = S30(B) ; B = A ; A = T上一步循環(huán)執(zhí)行完成后,令:Hi (0) = Hi-1 (0) + AHi (1) = Hi-1 (1) + BHi (2) = Hi-1 (2 ) + CHi (3) = Hi-1 (3) + DHi (4) = H
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 貴州贈與合同范本如何撰寫
- 監(jiān)事2025年度企業(yè)環(huán)境與社會責任監(jiān)督勞動合同
- 社區(qū)廣告合作項目二零二五年度廣告法合規(guī)審查合同
- 美團二零二五年度便利店特許經(jīng)營合同
- 美容學員二零二五年度美容美體實習實訓就業(yè)合同
- 美容院與美容師2025年度保密及競業(yè)禁止合同
- 老年人居家養(yǎng)老保姆服務標準化合同(2025年度)
- 蘇州工業(yè)園區(qū)2025年全日制勞動合同法律風險防控與合規(guī)性審查
- 蘇州市2025年度外企勞動合同書
- 裝飾工程公司員工勞動合同(2025年度)綠色環(huán)保施工承諾書
- 《屈原列傳》同步練習(含答案) 高中語文統(tǒng)編版選擇性必修中冊
- 海南省2023年中考英語科試題及答案
- 如何平衡工作和生活的時間安排
- 蜜雪冰城新媒體營銷策略分析
- 換藥室工作總結
- 四年級上冊數(shù)學乘法豎式
- 安全生產(chǎn)與環(huán)境保護通用課件
- 藥品集中采購教育培訓
- 《攝影入門基礎知識》課件
- 門禁系統(tǒng)施工規(guī)范
- 醫(yī)療器械(耗材)項目投標服務投標方案(技術方案)
評論
0/150
提交評論