【正文】
運(yùn)用 DES算法 E,密鑰 K,數(shù)據(jù)認(rèn)證碼 (DAC)的計(jì)算如下: O1 = EK(D1) 。在一個(gè)面向連接的應(yīng)用中,可以用來確定連接的頻率和持續(xù)時(shí)間長度。 – 如果在消息中加入時(shí)間及順序信息,則可以完成對時(shí)間和順序的認(rèn)證 傳統(tǒng)加密:保密性與認(rèn)證 M E K M EK(M) D K Source Destination A B M E KRa M EKRa(M) D KUa 公鑰加密:認(rèn)證與簽名 A B M E KRa EKRa(M) E KUb EKUb[EKRa(M)] D KRb D KUa EKRa(M) M 公鑰加密:保密、認(rèn)證與簽名 A B 三種可能的認(rèn)證標(biāo)識 Message encryption:整個(gè)消息的密文作為認(rèn)證標(biāo)識; MAC:公開函數(shù) +密鑰產(chǎn)生一個(gè)固定長度的值作為認(rèn)證標(biāo)識; Hash function:一個(gè)公開函數(shù)將任意長度的消息映射到一個(gè)固定長度的哈希值,作為認(rèn)證標(biāo)識?!璒 N = EK(DN?ON1) Hash Function ? MAC需要對全部數(shù)據(jù)進(jìn)行加密 – MAC速度慢 ? Hash是一種直接產(chǎn)生認(rèn)證碼的方法 ? Hash函數(shù) : h=H(x), 要求 : – 可作用于任何尺寸數(shù)據(jù)且均產(chǎn)生定長輸出 – H(x)能夠快速計(jì)算 – 單向性 : 給定 h,找到 x使 h=H(x)在計(jì)算上不可行 – Weak Collision Resistance (WCR): 給定 x,找到 y?x使 H(x)=H(y)在 計(jì)算上不可行 – Strong Collision Resistance (SCR): 尋找任何的 y?x使H(x)=H(y)在 計(jì)算上不可行 生日攻擊理論基礎(chǔ) ? 理論基礎(chǔ) – 若 k??2m/2?2m/2, 則 k個(gè)在 [1,2m]的隨機(jī)數(shù)中有兩個(gè)數(shù)相等的概率不低于 – 若 k??n1/2,兩個(gè)在 [1,n]的 k個(gè)隨機(jī)數(shù)集合有交集的概率不小于 ? 因此,當(dāng) Hash算法選用 N位的 Hash值時(shí),兩組消息(選擇 k= N/2)中有一對消息產(chǎn)生相同 Hash值的概率超過 生日攻擊例子 This Letter is I am writing to introduce you to to you Mr. Alfred P. Barton, . . . . . . Letter2與 Letter1中的信含義不同。 5. 順序修改:插入、刪除或重組消息序列。 are known Where, K and are related keys. ?X = F (Y) infeasible if Y amp。 MD4中第一輪沒有常量加; MD5中 64步每一步用了一個(gè)不同的常量 T[i]; MD5用了四個(gè)基本邏輯函數(shù),每輪一個(gè); MD4用了三個(gè)。 公鑰密碼學(xué)的歷史 ? 76年 Diffie和 Hellman在 “ 密碼學(xué)的新方向 ” 一文中提出了公鑰密碼的新概念,奠定了公鑰密碼學(xué)的基礎(chǔ) ? 公鑰技術(shù)是二十世紀(jì)最偉大的思想之一 – 改變了密鑰分發(fā)的方式 – 可以廣泛用于數(shù)字簽名和身份認(rèn)證服務(wù) ? 78年, RSA算法 基本思想和要求 ? 涉及到各方:發(fā)送方、接收方、攻擊者 ? 涉及到數(shù)據(jù):公鑰、私鑰、明文、密文 ? 公鑰算法的條件: – 產(chǎn)生一對密鑰是計(jì)算可行的 – 已知公鑰和明文,產(chǎn)生密文是計(jì)算可行的 – 接收方利用私鑰來解密密文是計(jì)算可行的 – 對于攻擊者,利用公鑰來推斷私鑰是計(jì)算不可行的 – 已知公鑰和密文,恢復(fù)明文是計(jì)算不可行的 – (可選 )加密和解密的順序可交換 基本思想 ? 加密與解密由不同的密鑰完成 加密 : X?Y: Y = EKU(X) 解密 : Y?X: X = DKR(Y) = DKR(EKU(X)) ? 從解密密鑰得到加密密鑰在計(jì)算上是不可行的 ? 加密與解密的順序沒有限制 (不是必須的 ) X = DKR(EKU(X)) = EKU(DKR(X)) ? 若 X=Y且映射 E: X?Y是映上的 ,則 ?成立 EKU(X) = EKU(DKR(EKU(X))) ? 若 X=Y且為有限集合 (例如分組密碼 ),則 E: X?Y是映上的 ,從而 ?成立 用公鑰密碼實(shí)現(xiàn)保密 ?用戶擁有自己的密鑰對 (KU,KR) ?公鑰 KU公開 ,私鑰 KR保密 ?A?B: Y=EKUb(X) ?B: DKRb(Y)= DKRb(EKUb(X))=X 用公鑰密碼實(shí)現(xiàn)認(rèn)證 ?條件 : 加密與解密的順序沒有限制 ?認(rèn)證 : A?ALL: Y=DKRa(X) ALL: EKUa(Y)=EKUa(DKRa(X))=X ?認(rèn)證 +保密 : A?B: Z= EKUb(DKRa(X)) B: EKUa(DKRb(Z))=X 公鑰密鑰的應(yīng)用范疇 ?加密 /解密 ?數(shù)字簽名 (身份認(rèn)證 ) ?密鑰交換 作業(yè):怎樣用于密鑰交換 傳統(tǒng)加密:保密性 M E K M EK(M) D K Source Destination A B M E KUb M EKUb(M) D KRb Source Destination 公鑰加密:保密性 A B Oneway trapdoor function 單向函數(shù) 對稱密鑰密碼 : ?Y = FK(X) easy if X amp。 K are known ?X = F1K (Y) easy if Y amp。 MD5每輪加上前一步的結(jié)果; MD4沒有。 K are known ?X = F (Y) easy if Y amp。 6. 時(shí)間修改:消息延遲或重放。各自組合出 2k封信件, 然后在兩個(gè)組中找到兩封 hash值相同的信! ?Letter1: ?Letter2: . . . . . . 對策: Hash值足夠長, 64〉 128〉 160〉 256 hash函數(shù)通用模型 ? 由 Merkle于 1989年提出 ? 幾乎被所有 h