1. 程式人生 > >信息認證技術

信息認證技術

輸入 行處理 ont 什麽 敏感信息 輸出 哈希函數 簽名 產生

這個章節會介紹一些比較有意思的東西,例如哈希函數,數字簽名,身份認證等!

1.一個安全的認證 系統應滿足什麽樣的條件?

  合法的接受者能夠檢驗所接受消息的合法性和真實性

  合法的發送方對所發送的消息無法進行否認

  除了合法的發送方之外,任何人都無法偽造和篡改消息

2.消息驗證:驗證消息的完整性和不可抵賴性

 身份認證:鑒別用戶身份

哈希函數

1.哈希函數必須具有哪些性質?

  給定M ,很容易計算h

   給定h,根據H(M) = h 推導出M很難,這個性質稱為單向性

  給定M,通過同一個H(`),計算出不同的h是很苦難的

  弱抗碰撞性

  強抗碰撞性

2.MD5:可將任意長度的消息經過變換得到一個 128位的散列值

MD5算法的簡要概述:MD5以512個分組來處理輸入的 信息,且每一個分組又被劃分成16個32個子分組,經過了一系列的處理後,算法的輸出由4個32個分組組成,將這4個32個分組級聯後將生成一個128位散列值

MD5的算法步驟:

  數據填充與分組

  初始化散列值

  計算散列值

3.SHA-1:輸入是長度小於2^64位的消息,輸出是160位的散列值,輸入消息以512位的分組為單位進行處理

補位:先添加一個1,再添加若幹個0

4.消息認證技術

  對通信雙方的驗證可采用數字簽名和身份認證技術 +認證 碼

主要內容:

  對敏感信息加密

  保證數據的完整性

  對數據和信息的來源進行驗證

5.消息認證方法

  在對稱加密方式中,解決消息M無法被判斷是合法的,方式為發送方在對消息M進行加密前,首先對消息通過校驗函數F(;)產生一個校驗碼,將校驗碼附加在消息M之上,再進行加密

  一般的加密方式為:A先使用自己的私鑰進行加密,再使用接受方B的公鑰Kbp進行加密,則同時即保證了機密性,又提供了消息認證的能力

6.基於哈希函數的消息認證:

  在解密消息後,只需再次使用哈希函數,進行加密,比較兩者的信息是否一致,即可完成對消息的認證

7.基於消息認證嗎(AC)的消息認證

  接受方與 發送方均具有相同的MAC值,則只需要在接受到信息時對mac值進行比對,就可以了

8.數字簽名:

簽名特征:

  可信

  無法偽造

  無法重復使用

  無法被篡改

  不可否認性

9.數字簽名的實現:直接數字簽名,仲裁數字簽名

信息認證技術