日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

信息安全密码学期末复习重点总结

發布時間:2024/8/1 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 信息安全密码学期末复习重点总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言:關于密碼學課程老師講述重點的針對性復習

部分轉載自博文:

信息安全期末復習整理

密碼學(期末復習版)

密碼學復習筆記1【基本概念與傳統密碼技術】

文章目錄

          • 信息系統5大目標
          • 威脅,攻擊分別是什么
          • 什么是安全攻擊,安全服務,安全機制;
          • 主動攻擊和被動攻擊的內容與區別
          • 古典密碼用的基本方法
          • 經典密碼機制分別有哪些經典方法
          • 對稱和非對稱密碼的含義,各自的優缺點
          • 加解密是什么
          • 分組密碼和流密碼的含義
          • 密碼分析學的五種攻擊
          • 什么叫計算上的安全
          • 1、代替密碼
          • 2、移位密碼
          • 3、仿射密碼
            • 求逆元的過程
            • 求歐拉數
          • 4、置換密碼
          • 密鑰空間
          • 對稱密碼涉及的原則:混淆,擴散
          • DES算法
          • AES分組加密算法(重點)
          • 分組密碼的工作模式
            • ECB(電子密碼本模式)
            • CBC(密碼分組鏈接模式)
            • CFB(密文反饋模式)
            • OFB(輸出反饋模式)
            • CTR(計數器模式)
          • 流密碼:RC4
          • Diffie-Hellman密鑰交換算法
            • 費馬定理:
            • 歐拉函數
            • Euler定理
            • DH密鑰交換算法過程
          • RSA算法(重點)
          • 公鑰算法和對稱鑰算法區別:
          • 消息認證
            • Hash函數的性質
          • 常見hash算法
          • mac的基本用法
          • mac的生成
          • 數字簽名
          • 典型密匙分發方案(重點)
          • 含保密性和身份認證的密鑰分發方案(重點)
          • 公鑰證書分發—x.509標準(重點)
          • x.509證書結構
          • 公鑰基礎設施PKI
          • 身份認證依據(所知所有特征)
          • 兩種防重放攻擊方式
          • 雙向認證協議
          • 單向認證
          • Kerberos協議
          • 認證投標AH
          • 加密頭標ESP
          • IPsec的傳輸和隧道模式(重點)
          • SSL協議過程
          • SSL連接的原理
          • PGP的認證圖

信息系統5大目標

密碼學五個性質分為機密(保密性)性、完整性、可用性、認證(真實)性和不可否認(不可追溯)性

威脅,攻擊分別是什么

計算機網絡面臨以下的四種威脅:截獲,中斷,篡改,偽造。

網絡安全的威脅可以分為兩大類:即被動攻擊和主動攻擊。

威脅指破壞安全的潛在可能,在環境、能力、行為或事件允許的情況下,它們會破壞安全 ,造成危害,也就是說,威脅是脆弱性被利用而可能帶來的危險;

攻擊指對系統安全的攻擊,它來源于一種具有威脅的智能,即有意違反安全服務和侵犯系統安全策略的智能行為;

什么是安全攻擊,安全服務,安全機制;

安全攻擊:任何危及信息系統安全的行為。
安全機制:用來檢測、阻止攻擊或者攻擊狀態恢復到正常狀態的過程。
安全服務:加強數據處理系統和信息傳輸的安全性的一種處理過程或通信服務。目的在于利用一種或者多種安全機制進行反攻擊。

三者的關系:一種安全機制可以提供多種安全服務,而一種安全服務也可以采用多種安全機制。安全服務阻止安全攻擊。

例題:請說明安全策略、安全攻擊、安全機制與安全服務之間的關系。

答:安全服務實現了安全策略,而安全機制實現了安全服務。
安全服務是用來防范安全攻擊的,它們利用了一種或多種安全機制來提供服務。共同解決安全攻擊問題。

主動攻擊和被動攻擊的內容與區別

主動攻擊:偽裝、重播、消息修改、拒絕服務

偽裝:假裝別的實體。如:捕獲認證信息,進行重播
重播:將獲得的信息再次發送以產生非授權效果
消息修改:修改合法消息的一部分或者延遲消息,或改變消息的順序以獲得非授權效果
拒絕服務:阻止或禁止對通信設施的增產使用和管理。

被動攻擊:竊聽和檢測

古典密碼用的基本方法

代替:明文中的元素映射成另一個元素
置換 :重新排列
要求:不允許信息丟失,即算法可逆

經典密碼機制分別有哪些經典方法

代替密碼:

簡單代替密碼如:愷撒密碼,移位密碼,仿射密碼;

多字母密碼如:Playfair代替密碼例、Hill密碼、Vigenére密碼;

置換密碼:如斯巴達密碼棒、Enigma恩格瑪密碼機;

對稱和非對稱密碼的含義,各自的優缺點
  • 對稱密碼算法:加密密鑰和解密密鑰相同,或實質上等同,即從一個易于推出另一個。又稱秘密密鑰算法或單密鑰算法。
  • 非對稱密鑰算法:加密密鑰和解密密鑰不相同,從一個很難推出另一個。又稱公開密鑰算法。

(復雜版:)

對稱密碼體制(Symmetric cipher,也稱為單鑰密碼體制、對稱密鑰密碼體制或常規密碼體制)。如果一個密碼系統,它的加密密鑰和解密密鑰相同,或者雖然不相同,但由其中的任意—個可以很容易地導出另外一個,那么該系統所采用的就是對稱密碼體制。
非對稱密碼體制(Asymmetric cipher,也稱為公開密鑰密碼體制、非對稱密鑰密碼體制)。如果一個密碼系統,其加密算法和解密算法分別用兩個不同的密鑰實現,并且由加密密鑰不能推導出解密密鑰,則該系統所采用的就是非對稱密碼體制。
采用非對稱密鑰密碼體制的每個用戶都有一對選定的密鑰。其中一個是可以公開的,稱為公開密鑰(Public key),簡稱公鑰;另一個由用戶自己秘密保存,稱為私有密鑰(Private key),簡稱私鑰。

  • 對稱密碼體制的主要優勢是:
    加密、解密運算的處理速度塊,效率高,算法安全性高。
  • 對稱密碼體制存在的局限性或不足
    (1)對稱密碼算法的密鑰分發過程復雜,所花代價高;
    (2)密鑰管理困難;
    (3)保密通信系統的開放性差;
    (4)存在數字簽名的困難性。
  • 非對稱密碼體制的主要優勢是:
    (1)密鑰分配簡單。
    (2)系統密鑰量少,便于管理。
    (3)系統開放性好。
    (4)可以實現數字簽名。
  • 非對稱密碼體制存在的局限性是加密、解密運算效率較低,處理速度較慢,同等安全強度下,非對稱密碼體制的密鑰位數較多。
加解密是什么

用某種方法偽裝消息以隱藏明文的內容的過程稱為加密
把密文轉變為明文的過程稱為解密

分組密碼和流密碼的含義
  • 分組密碼(block cipher):將明文分成固定長度的組,用同一密鑰和算法對每一塊加密,輸出也是固定長度的密文。例如DES,AES。
  • 流密碼(stream cipher):又稱序列密碼。序列密碼每次加密一位或一字節的明文,明文與密文長度相同。例如RC4。

序列密碼是一個隨時間變化的加密變換,具有轉換速度快、低錯誤傳播的優點,硬件實現電路更簡單;其缺點是:低擴散(意味著混亂不夠)、插入及修改的不敏感性。

分組密碼使用的是一個不隨時間變化的固定變換,具有擴散性好、插入敏感等優點;其缺點是:加解密處理速度慢、存在錯誤傳播。

關鍵區別:分組密碼里相同的明文分組被加密成同樣的密文,而序列密碼不是

密碼分析學的五種攻擊
  • 唯密文攻擊:
    密碼分析者僅知道有限數量用同一個密鑰加密的密文

  • 已知明文攻擊:
    密碼分析者除了擁有有限數量的密文外,還有數量限定的一些已知“明文—密文”對

  • 選擇明文攻擊:
    密碼分析者除了擁有有限數量的密文外,還有機會使用注入了未知密鑰的加密機,通過自由選擇明文來獲取所希望的“明文—密文”對。

  • 選擇密文攻擊:
    密碼分析者除了擁有有限數量的密文外,還有機會使用注入了未知密鑰的解密機,通過自由選擇密文來獲取所希望的“密文—明文”對。

  • 選擇文本攻擊:

    選擇文本攻擊就是選擇密文攻擊和選擇明文攻擊的結合,能構造任意的明文/密文,得到相應的密文/明文。

  • 什么叫計算上的安全

    破譯的代價超出信息本身的價值
    破譯的時間超出了信息的有效期

    附:密碼學起源1975年的工作,迪福赫爾曼1976年提出不對稱密碼,

    1、代替密碼

    (轉載于密碼學復習筆記1【基本概念與傳統密碼技術】)

    單表(簡單)代替密碼

    概述:加密變換過程就是將明文中的每一個字母替換為密文字母表的一個字母。例:愷撒(Caesar)密碼。
    缺點:不能抗擊字母頻度分析,可由統計的方法破譯
    單表密碼的弱點:明文和密文字母之間的一一代替關系。這使得明文中的一些固有特性和規律(比如語言的各種統計特性)必然反映到密文中去。

    代替密碼還包括多字母密碼:即明文中的字符映射到密文空間的字符還依賴于它在上下文的位置。

    例:明文空間M 和密文空間C 都是26個英文字母的集合,密鑰空間
    K={π:Z26→Z26|π是置換},是所有可能置換的集合。

    對任意π∈K,定義:
    加密變換:eπ(m)=π(m)=c
    解密變換:dπ? = π-1?=m, π-1是π的逆置換。

    一般單表替代密碼算法特點:

    密鑰空間K很大,|K|=26!=4×10^26,破譯者窮舉搜索計算不可行;

    2、移位密碼

    移位密碼體制是替換密碼體制的一個特例,它僅含26個置換做為密鑰空間。

    簡單的來說,其實就是將字母表編號成1-26,然后如果移位1,則1號位改為z,2號位改為a,其他等同移動
    當移位密碼的密鑰k=3時,就是歷史上著名的凱撒密碼(Caesar)。根據其加密函數特 點,移位密碼也稱為加法密碼。

    3、仿射密碼

    仿射密碼算法 f(y)=(a*y + b )mod n , K=(a,b),要求a和n互素

    (可能出計算題?)

    求逆元的過程

    歐幾里德算法(輾轉相除法)——求最大公因子的算法,通過歐幾里德算法判斷是否有gcd(a,n) = 1(最大公約數為 1 則 a,n 互素,即有乘法逆元)來判斷一個正整數 a<n 是否有模n的乘法逆元

    仿射密碼解密算法:d(y)=a-1 * ( y - b) mod n;a-1 是a的乘法逆元(a * a-1 = 1)

    舉個例子:
    加密算法:f(y)=3y+5 mod 26
    求3的逆元就是求:3n mod 26 = 1
    3 * 9 mod 26 = 1,即n = 9
    ∴ 解密算法:d(y)=9(y-5) mod 26

    ?要注意負數的取模的情況:
    比如-25 mod 26 = 1
    可以理解為 -25+26 mod 26 = 1
    關于這點,C/Java語言中是直接取模的,即-25 mod 26= -25,在Python中-25 mod 26 = 1

    再看下面的例子:
    加密算法:f(y)=5y+7 mod 26
    求5的逆元就是求:5*n mod 26 = 1
    -5 * 5 mod 26 = 1,即n = -5
    ∴ 解密算法:d(y)=-5(y-7) mod 26

    求歐拉數

    例:求120的歐拉數

    分解質因數:120=23 * 3 * 5

    歐拉函數:φ(120) = 120 × (1-1/2) × (1-1/3) × (1-1/5) = 120 × 1/2 × 2/3 × 4/5 = 32

    或者φ(120) = φ(8) × φ(3) × φ(5)= 4 × 2 × 4 = 32

    4、置換密碼

    又稱換位密碼,是根據一定的規則重新排列明文,以便打破明文的結構特性。置換密碼的特點是保持明文的所有字符不變,只是利用置換打亂了明文字符的位置和次序。也就是說,改變了明文的結構,不改變明文的內容。

    柵欄技術:按列寫按行讀,每列長度為該柵欄的深度

    更為復雜的方式是以一個矩形逐行寫出消息,再逐列讀出該消息(按行寫按列讀)。

    矩陣的列數(n)和按列讀出的順序便是密鑰。密鑰包含3方面信息:行寬(密匙的位數)、列高(密文總數除以行數得到)、讀出順序(即數字順序)

    (以下轉載于:古典密碼——置換密碼

    加密
    我們以字符串“hello-my-cipher”為例來演示加密過程

  • 選擇密鑰,我們這里使用“4213”作為密鑰。該密鑰共4位,表示中間結果的矩陣共4列,4213表示按照第四列,第二列,第一列,第三列的順序讀出形成密文

  • 生成中間結果矩陣(該行不夠4個則用明文中不包含的固定字符填充,這里使用‘@’)>

    h e l l

    o — m y

    — c i p

    h e r @

  • 按照密鑰所示的列順序讀出 lyp@e-ceho-hlmir,至此加密完成

  • 解密

    解密過程即按照密鑰所示的長度順序恢復出矩陣,再按行讀取即可。

    密鑰空間

    加密密鑰大小的范圍,通常以位為單位;

    當密鑰長度為r時,密鑰空間有2的r次方個元素。

    對稱密碼涉及的原則:混淆,擴散

    對稱密碼算法:DES、AES、RC5

    擴散:要求明文的統計特征消散在密文中。即讓明文的每個比特影響到密文的許多比特的取值。盡可能使明文和密文的統計關系變復雜。
    混淆:使密文與密鑰之間的統計關系盡量復雜,以阻止攻擊者發現密鑰。

    DES算法

    分組密碼的結構一般分為:Feistel網絡結構和SP網絡結構
    Feistel網絡是由Horst Feistel在設計Lucifer分組密碼時基于擴散和擾亂的思想所發明的,并因被DES采用而流行。

    Feistel結構安全性取決參數:分組長度、密鑰長度 、循環次數、子密鑰算法、輪函數。

    DES是一個基于組塊的加密算法,這意味著無論輸入還是輸出都是64位長度的。DES產生了一種最多264種的變換方法。

    加密步驟

    • 首先生成一套加密密鑰,我們提供一個64位的秘鑰,然后通過等分、移位、選取、迭代形成一套16個加密密鑰,分別供每一輪運算使用。
    • 假設目前取到一個64位分組,我們稱之為M,M經過一個初始置換IP,置換成m0,。將m0明文分為左半部分和右半部分,各32位長。
    • 然后進行16輪完全相同的運算,在每一輪運算中數據與相應的秘鑰結合。
    • 經過16輪之后,左、右半部分合在一起經過一個末置換(數據整理),這樣就完成了加密過程。

      每一輪包括四種變換

      輪密鑰加

      因為k只有56位,必須插入第8,16,24,32,40,48,56,64位奇偶校驗位,合成64位分組。而這8位對加密過程沒有影響。

      兩個密鑰的DES三重加密方法。這個加密函數采用一個加密-解密-加密序列: C=EK1(DK2(EK1§)) <=> P=DK1(EK2( DK1?))。

    密鑰空間太大為2^ 112 =5×10^33

    學習視頻:應用密碼學 | DES算法及簡單編程思路講解 | 信息安全 | 密碼學

    AES分組加密算法(重點)

    AES具有128bit的分組長度

    密鑰位為128bit、192bit、256 bit時,輪數分別為:10、12、14

    AES算法結構


    學習視頻:

    AES加密算法

    AES算法||北郵復試||密碼學

    分組密碼的工作模式

    目前已提出許多種分組密碼的工作模式,如電碼本(ECB)、密碼分組鏈接(CBC)、密碼反饋(CFB)、輸出反饋(OFB)、計數器(CTR)

    轉載自博客:密碼學基礎(一)分組密碼與序列密碼

    ECB(電子密碼本模式)
  • 將明文分組加密后結果直接成為密文分組。
  • 明文分組與密文分組是一一對應的關系;且每個明文分組各自獨立地進行加密和解密。
  • 這種加密攻擊者無需破譯密碼就能操縱明文。
  • CBC(密碼分組鏈接模式)
  • 先將明文與前一個密文分組進行異或(XOR)運算,再進行加解密。
  • 初始化向量(IV):在加密第一個明文分組時,需要事先準備一個長度為一個分組的比特序列代替;每次加密時,都會隨機產生一個不同的比特序列作為初始化向量。
  • 無法對單獨一個中間的明文分組加密;對初始化向量沒有加密。
  • 當CBC模式中的密文分組有一個分組損壞,只要密文分組的長度沒有發生變化,解密時最多會有兩個分組受到數據損壞的影響。
  • 當CBC的密文分組中有一些比特缺失了,導致密碼分組的長度發生變化,此分組發生錯位,在缺失比特位置之后的密文分組也就無法全部解密了。
  • 這種加密攻擊者一般只能攻擊初始化向量。
  • CFB(密文反饋模式)
  • 前一個密文分組會被送回到密碼算法的輸入端。
  • 密文分組與明文分組之間只有XOR(而CBC中,明文分組與密文分組之間有XOR和密碼算法兩個步驟)。
  • CFB模式中有密碼算法產生的比特序列成為密鑰流(在CFB中密碼算法相當于偽隨機數生成器)。
  • 在CFB中分組密碼算法在解密時仍執行加密操作(因為密鑰流通過加密生成)。
  • 對CFB模式可實施重放攻擊。
  • OFB(輸出反饋模式)
  • 密碼算法的輸出會反饋到密碼算法的輸入中
  • 并非通過密碼算法加密明文分組的,而通過將明文分組和密碼算法的輸出進行XOR來產生密文分組(與CFB的區別在于密碼算法的輸入)
  • CFB是對密文分組進行反饋,必須按順序進行加密;OFB是對密鑰流進行加密(生成密鑰流與XOR運算可以并行)
  • CTR(計數器模式)
  • 通過將逐次累加的計數器進行加密來生成密鑰流
  • 每個分組對應一個逐次累加的計數器
  • 每次加密都會生成一個不同的值(nonce)作為計數器的初始值,且在每次加密時都必須不同
  • 在初始值之后為分組序列號,會逐次累加
  • 在CTR中如果密文分組有1bit被反轉,解密后的銘文中所對應的比特會被反轉,該錯誤不會放大
  • 總結:

    模式描述典型應用
    電碼本(CBC)用相同的密鑰分別對明文分組獨立加密單個數據的安全傳輸(如一個加密密鑰)
    密文分組鏈接(CBC)加密算法的輸入是上一個密文組和下一個明文組的異或面向分組的通用傳播認證
    密文反饋(CFB)一次處理s位,上一塊密文作為加密算法的輸入,產生的偽隨機數輸出與明文異或作為下一個單元的密文面向數據流的通用傳播認證
    輸出反饋(OFB)與CFB類似,只是加密算法的輸入是上一次加密的輸出,且使用整個分組噪聲信道上的數據流傳輸(如衛星通信)
    計數器(CTR)每個明文分組都與一個經過加密的計數器相異或。對每個后續分組計數器遞增面向分組的通用傳播用于高速需求

    流密碼:RC4

    (看懂流程圖)

    學習視頻:應用密碼學| RC4算法及其簡單編程思路 | 信息安全 | 密碼學


    Diffie-Hellman密鑰交換算法
    費馬定理:

    歐拉函數

    Euler定理

    若a與n為互素的正整數,則a ∮(n) ≡ 1 mod n

    原根(最小生成元)定義

    存在最小正整數m < ∮ (n) (m|∮ (n) ),使得a^m ≡ 1 mod n,若對某個a,m=∮ (n),則稱a是n的一個原根

    求生成元方法:【密碼學原理】生成元

    求模公式

    ((a^x mod p)^y) mod p = a^xy mod p

    DH密鑰交換算法過程

    轉載博客:Diffie-Hellman算法

    假設Alice和Bob希望在不安全的網絡環境中協商一個對稱密鑰進行通信,那么可按如下步驟進行:

    前提:Alice和Bob共享同一個素數p及整數g,且g是p的本原根;

    1、首先Alice保存自己的私鑰a(隨機數),Bob也保存自己的私鑰b(隨機數) 2、Alice計算 A = g^a mod p,并將g,p,A發給Bob(g,p也可提前共享) 3、Bob計算 B = g^b mod p,然后將B發給Alice 4、Alice得到對稱密鑰K = B^a mod p = (g^b mod p)^a mod p = g^ab mod p 5、Bob同樣得到對稱密鑰K = A^b mod p = (g^a mod p)^b mod p = g^ab mod p

    中間人攻擊:

    轉載自博客:【密碼學原理】Diffie-Hellman密鑰交換算法與中間人攻擊

    防御措施:簽名認證

    防御方法:密碼學:設計一個安全的(沒有中間人攻擊)的Diffie-Hellman密鑰交換協議

    RSA算法(重點)

    RSA算法的全過程

  • 選擇密鑰
    • 選擇兩個不同的素數 p、q
    • 計算公開模數 r=pxq
    • 計算歐拉函數φ?=(p-1)(q-1)
    • 選擇一個和φ?互質的量k,即保證 gcd(φ?, k)=1 時,選擇 k。可以令 sp=k 或 pk=k
    • 根據 sk*pk ≡ 1 mod φ?,已知 sk 或 pk,用乘逆算法求 pk 或 sk
  • 加密
  • 解密
  • 平方-乘算法



    公鑰私鑰計算
  • 學習視頻:徹底搞懂“公鑰加密算法RSA”的工作原理

    密碼學RSA教學

    計算公私鑰過程:RSA算法中利用歐幾里得算法求d詳細過程

    公鑰算法和對稱鑰算法區別:

    對稱加密的優點

    • 速度快,處理量大,適用于對應用數據的直接加密。
    • 加密密鑰長度相對較短,如40比特~256比特。
    • 可構造各種加密體制,如產生偽隨機數,HASH函數等。

    對稱加密的缺點

    • 密鑰在雙方都要一致、保密,傳遞較難。
    • 大型網絡中密鑰量大,難以管理,一般需要TTP(KDC)。
    • 密鑰需要經常更換。

    公鑰加密的優點

    • 只有秘密鑰保密,公開鑰公開。
    • 密鑰生命周期相對較長。
    • 許多公鑰方案可以產生數字簽名機制。
    • 在大型網絡上,所需的密鑰相對較少。

    公鑰加密的缺點

    • 速度慢,處理量少,適用于密鑰交換。
    • 密鑰長度相對較長。
    • 安全性沒有得到理論證明。
    消息認證

    消息認證保證完整性(哈希算法)、真實性(靠密鑰)

    散列函數是對不定長的輸入產生定長輸出的一種特殊函數,可用于消息認證和數字簽名。

    h = H(M)
    其中M是變長的消息
    h=H(M)是定長的散列值或稱為消息摘要

    Hash函數的性質

    Hash函數是散列函數的一種,其性質有:

    (以下轉載自博客:【密碼學】哈希函數-SHA

  • 固定長度輸入;
  • 可變長度輸出;
  • 效率高:哈希過程簡單;
  • 抗原像攻擊,單向性,不可逆;
  • 偽隨機性:輸出滿足偽隨機;
  • 抗弱碰撞性:對給定的x,找到滿足H(x)=H(y)且x≠y在計算上是不可行的;
  • 抗強碰撞性:找到任何滿足H(x)=H(y)的數對(x,y)計算上是不可行的;
  • 哈希算法SHA-512步驟:附加填充位,附加長度,初始化Hash緩沖區,壓縮函數(以1024位分組處理信息/信息壓縮),輸出結果

    散列函數的基本用法(考過不考):數字簽名、單向口令文件、入侵檢測和病毒檢測、構建隨機函數或偽隨機函數;

    常見hash算法

    md5,sha512,mac算法(帶密鑰)

    md5分組長度為512位,報文摘要hash值是128位;

    sha512分組長度為1024位(128字節),報文摘要hash值是512位;

    mac的基本用法




    數據認證算法

    CBC方法(認證碼16~64位)

    HMAC設計目標

    無需修改地使用現有的散列函數
    當出現新的散列函數時,要能輕易地替換
    保持散列函數的原有性能不會導致算法性能的降低
    使用和處理密鑰的方式簡單
    對鑒別機制的安全強度容易分析,與hash函數有同等的安全性

    HMAC是一種使用單向散列函數來構造消息認證碼的方法,

    設M是變長的消息,K是僅由收發雙方共享的密鑰,則M的MAC由如下的函數C生成:

    MAC = Ck(M )
    這里的Ck(M )是定長的。發送者每次將MAC附加到消息中,接收者通過重新計算MAC來對消息進行認證。

    mac的生成

    ((原始消息)+ 密鑰 )* 哈希函數 = 散列值\消息認證碼

    對密鑰K左邊補0以產生一個hash用塊K+
    K+每個字節與ipad(00110110)作XOR以產生Si
    對(Si||M)進行hash
    K+每個字節與opad(01011010)作XOR以產生So
    HMAC = f [IV,So||f(IV,Si||M)]

    消息認證碼弊端:密鑰的分發

    消息認證碼無法解決的問題:不能進行第三方證明、不能防止否認(由數字簽名解決)

    密碼學全面學習視頻:golang-密碼學[對稱加密, 非對稱加密,哈希,消息認證碼,數字簽名,證書]

    數字簽名

    傳統簽名的基本特點:

    • 與被簽的文件在物理上不可分割
    • 簽名者不能否認自己的簽名
    • 簽名不能被偽造
    • 容易被驗證

    數字簽名是傳統簽名的數字化,基本要求:

    • 與所簽文件“綁定”
    • 簽名者不能否認自己的簽名
    • 簽名不能被偽造
    • 容易被自動驗證

    數字簽名滿足條件:依賴性、唯一性、可驗證、抗偽造、可用性

    數字簽名流程:

    RSA簽名算法(重點)

    實現方式與過程

    (RSA加密:公鑰加密、私鑰解密;RSA簽名:私鑰簽名、公鑰驗證。)

    可參考博客:RSA算法和RSA數字簽名算法

    RSA簽名算法概述及使用

    數字簽名(1):RSA

    會話密鑰和主密鑰的分配過程

    典型密匙分發方案(重點)

    請求一次性會話密鑰

    含保密性和身份認證的密鑰分發方案(重點)

    公鑰證書分發—x.509標準(重點)

    x.509證書結構



    公鑰基礎設施PKI

    創建PKI的主要目的就是用來安全、便捷、高效地獲得公鑰。

    PKI組成要素:用戶(申請及使用PKI的人)、認證機構(頒發證書的人)、倉庫(保存證書的數據庫);

    身份認證依據(所知所有特征)

    所知:密碼、口令;

    所有:身份證、護照、密鑰盤;

    特征:指紋、筆跡、聲音、DNA;

    兩種防重放攻擊方式

    時間戳方式:A接受一個消息僅當該消息包含一個時間戳,并且該時間戳在A 看來是足夠接近A所知道的當前時間。
    提問/應答方式:A期望從B獲得 一個新消息,首先發給B一個臨時值(challenge),并要求后續從 B 收到的消息(response)中包含正確的這個臨時值或是由 這個臨時值進行某種事先約定的計算的正確結果。這個臨 時值往往是一個隨機數,稱為現時(nonce)。

    雙向認證協議

    過程:

    A→KDC:IDA || IDB || N1
    KDC→A:EKa [ Ks || IDB || N1 || EKb[ Ks || IDa ]
    A→B:EKb [ Ks || IDA ]
    B→A:EKs [ N2 ]
    A→B:EKs [ f(N2) ]

    改進后的步驟(添加了時間戳):

    A→KDC:IDA || IDB
    KDC→A:EKa [ Ks || IDB || T || EKb[ Ks || IDA || T ]
    A→B:EKb [ Ks || IDA || T ]
    B→A:EKs [ N1 ]
    A→B:EKs [ f(N1) ]
    |Clock - T| < △t1 + △t2

    單向認證

    缺點:雙方都必須等待對方的回答,不適用于雙方不同時在線的情況

    基于第三方的方案可以避免這一問題:
    第三方一般長期在線,雙方都可以及時和第三方進行通信(去掉第4、5步)
    方案:
    A→KDC:IDA || IDB || N1
    KDC→A:EKa [ Ks || IDB || N1 || EKb [Ks || IDA ]]
    A→B:EKb [ Ks || IDA ] || EKs[ M ]

    Kerberos協議

    Kerberos要解決的3個問題:
    一個開放的分布式網絡環境中
    工作站用戶希望訪問分布在網絡各處的服務器上提供的服務
    服務器應能認證用戶身份,并授權。


    認證投標AH

    AH的作用是認證

    加密頭標ESP

    ESP的作用是封裝加密

    IPsec的傳輸和隧道模式(重點)

    傳輸模式:AH和ESP頭標被插在IP頭標及其他選項(或擴展頭標)之后,但在傳輸層協議之前。它保護凈荷的完整性和機密性。

    隧道模式:在隧道模式下,AH或ESP頭標插在IP頭標之前,另外生成一個新的IP頭放在前面,隧道的起點和終點的網關地址就是新IP頭的源/目的IP地址,保護整個IP分組。

    SSL協議過程

    協議的關系

    SSL連接的原理

    SSL/TLS原理詳解

    PGP的認證圖

    未見PPT,可參考博客:信息安全(五)——消息認證、數字簽名及PGP

    PGP的加密原理

    試卷博客參考:密碼學期末選擇填空簡答題知識點復習

    總結

    以上是生活随笔為你收集整理的信息安全密码学期末复习重点总结的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。