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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

网络安全笔记2——单钥密码体制

發(fā)布時(shí)間:2023/12/16 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 网络安全笔记2——单钥密码体制 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

網(wǎng)絡(luò)安全筆記2——單鑰密碼體制

參考課程:中國大學(xué)MOOC《網(wǎng)絡(luò)安全》——北京航空航天大學(xué)

文章目錄

  • 網(wǎng)絡(luò)安全筆記2——單鑰密碼體制
  • 古典密碼
    • 代換密碼
    • 置換密碼
  • 流密碼
  • 分組密碼
    • 概念
    • Shannon的密碼設(shè)計(jì)思想
    • 數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)
      • 運(yùn)算步驟
      • 注意事項(xiàng)
      • DES算法詳細(xì)圖解
      • S盒和P盒
      • DES的安全性
    • 高級加密標(biāo)準(zhǔn)(AES)
      • 算法簡介
      • AES加密算法詳解(圖文解釋)
      • AES對應(yīng)用密碼學(xué)的積極影響
    • SM4密碼算法
      • 基本運(yùn)算
      • 加密算法
      • 解密算法
      • SM4的安全性
    • 分組密碼的工作模式分類
      • 電碼本模式(ECB)
      • 密碼分組鏈接模式(CBC)
      • 密碼反饋模式(CFB)
      • 輸出反饋模式(OFB)
      • 計(jì)數(shù)器模式(CTR)
    • 分組密碼總結(jié)

密碼體制的語法定義

  • 明文消息空間M:可能的明文字母串集合
  • 密文消息空間C:可能的密文字母串集合
  • 加密密鑰空間K:可能的加密密鑰集合
  • 解密密鑰空間K:可能的解密密鑰集合
  • 有效的密鑰生成算法ζ:N → K × K
  • 加密算法E:M × K → C
  • 解密算法D:C × K → M
  • 密鑰生成算法:?整數(shù)1l,ζ(1l)輸出長為l的密鑰對:(ke,kd) ∈ K × K
  • 加密/解密過程:?m ∈ M,c ∈ C
    c = Eke(m)
    m = Dkd(c) = Dkd(Eke(m))

密鑰體制的分類

  • 若ke=kd,則加密算法稱為單鑰加密體制(對稱加密體制或私鑰加密體制)
  • 若ke≠kd,則加密算法稱為雙鑰加密體制(非對稱加密體制或公鑰加密體制)

單鑰密碼按照加解密運(yùn)算的特點(diǎn)分類

  • 流密碼(Stream Cipher):數(shù)據(jù)逐比特加密,即數(shù)據(jù)流與密鑰流逐比特進(jìn)行異或(XOR)運(yùn)算;
  • 分組密碼(Block Cipher):對數(shù)據(jù)分組進(jìn)行處理。


古典密碼

古典密碼學(xué)有兩大基本方法

  • 置換密碼:明文字母保持不變,但順序被打亂。
  • 代換密碼:明文字母被替換,但順序保持不變。
    代換密碼主要包括:單表代換(一個(gè)明文字母對應(yīng)的密文字母是確定的);多表代換(一個(gè)明文字母可以表示為多個(gè)密文字母);弗納姆密碼:將每消息比特和相應(yīng)的密鑰比特進(jìn)行比特異或運(yùn)算

代換密碼

單表代換

凱撒密碼(單表代換)

維吉尼亞密碼(多表代換)

  • 引入密鑰的概念:根據(jù)密鑰來決定用哪一行的密表來進(jìn)行代換。
  • 使用詞組作為密鑰:詞組中每一個(gè)字母都作為索引來確定采用某個(gè)代換表,加密時(shí)需要循環(huán)使用代換表完成明文字母到密文字母的代換,最后所得到的密文字母序列即為密文。

弗納姆密碼(代換密碼)

弗納姆密碼(Vernam Cipher)的基本原理是:將明文與密鑰進(jìn)行模2加法運(yùn)算。如果M=C=K={0,1}*,則弗納姆密碼就是代換密碼的特例;如果密鑰串只使用一次,那么弗納姆密碼就是一次一密密碼。
弗納姆密碼也可以看成序列密碼(流密碼)的雛形。

置換密碼

置換密碼又稱換位密碼,是通過重新排列明文中元素的位置而不改變元素本身來實(shí)現(xiàn)加密的體制,它廣泛應(yīng)用于現(xiàn)代分組密碼的構(gòu)造。

置換就是簡單的換位,每次置換都可以用一個(gè)置換矩陣來表示,且都有一個(gè)與之對應(yīng)的逆置換矩陣。

流密碼

原理

  • 明文m=m1,m2,… …ml
  • 偽隨機(jī)序列k=k1,k2,… …kl
  • 密文ci = Eki(mi)
  • 解密過程與加密過程相同且互逆
  • 流密碼的安全性完全依賴于偽隨機(jī)數(shù)的強(qiáng)度

有限狀態(tài)自動(dòng)機(jī)

  • 若密鑰流是一個(gè)完全隨機(jī)的非周期序列,則我們可以用它來實(shí)現(xiàn)一次一密體制。
  • 但實(shí)用中的流密碼大多采用有限存儲(chǔ)單元和確定性算法,可用有限狀態(tài)自動(dòng)機(jī)(Finite State Automation)來描述。
  • 因此,由有限狀態(tài)機(jī)產(chǎn)生的序列是偽隨機(jī)序列。

流密碼的分類

同步流密碼

自同步流密碼

祖沖之密碼

2011年,我國商用密碼算法——祖沖之密碼算法(ZUC)被批準(zhǔn)成為新一代寬帶無線移動(dòng)通信系統(tǒng)(LTE)國際標(biāo)準(zhǔn),即4G的國際標(biāo)準(zhǔn)

我國向3GPP提交的算法標(biāo)準(zhǔn)包含如下內(nèi)容:

  • 祖沖之密碼算法(ZUC):用于產(chǎn)生密鑰序列
  • 128-EEA3:基于ZUC的機(jī)密性算法
  • 123-EIA3:基于ZUC的完整性保護(hù)算法

分組密碼

概念

分組密碼(Block Cipher)是將明文消息編碼表示后的數(shù)字序列x1,x2,…,xi,劃分成長為m的組x = (x0,x1,…,xm-1),各組(長為m的矢量)分別在密鑰k = (k0,k1,…,kt-1)控制下變換成輸出長度為n的數(shù)字序列y = (y0,y1,…,yn-1)(長為n的矢量),其加密函數(shù)E:Vm × K → Vn,Vm和Vn是m、n維矢量空間,K為密鑰空間。

設(shè)計(jì)要求

  • 分組長度足夠大(≥128~256比特,都是64的倍數(shù),計(jì)算機(jī)總線長度為64位,便于計(jì)算)
  • 密鑰量要足夠大(≥128~192~256比特)
  • 算法足夠復(fù)雜(包括子密鑰產(chǎn)生算法)
  • 加密、解密算法簡單,易軟、硬件實(shí)現(xiàn)
  • 數(shù)據(jù)無擴(kuò)展(只在引入同態(tài)置換和隨機(jī)化加密時(shí)仍有擴(kuò)展)
  • 差錯(cuò)傳播盡可能得小
  • Shannon的密碼設(shè)計(jì)思想

    • 擴(kuò)散(diffusion)
      將每位明文及密鑰數(shù)字的影響盡可能迅速地散布到較多個(gè)輸出的密文數(shù)字中,以便隱蔽明文數(shù)字的統(tǒng)計(jì)特性。產(chǎn)生擴(kuò)散的最簡單方法是通過“置換(Permutation)”(比如:重新排列字符)
    • 混淆(confusion)
      目的在于使作用于明文的密鑰和密文之間的關(guān)系復(fù)雜化,使明文和密文之間,密文和密鑰之間的統(tǒng)計(jì)相關(guān)特性極小化,從而使統(tǒng)計(jì)分析攻擊不能奏效。通常的方法是“代換(Substitution)

    數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)

    DES:Data Encryption Standard
    DES數(shù)據(jù)加密標(biāo)準(zhǔn)是美國于1977年在全球范圍內(nèi)公開的第一個(gè)現(xiàn)代單鑰加密算法,DES是一種分組密碼,其輸入的明文長度為64bit,密鑰長度為56bit,輸出的密文長度為64bit。

    運(yùn)算步驟

  • 對輸入分組進(jìn)行固定的“初始置換”IP,可以將這個(gè)初始置換寫為(L0,R0) ← IP(Input Block),注意:這里L(fēng)0和R0稱為左、右半分組,各為32比特。IP是固定的、公開的函數(shù)。
  • 迭代運(yùn)算,即將下面的運(yùn)算迭代16輪:Li ← Ri-1;Ri ← Li-1 ⊕ f(Ri-1,ki)
  • 將16輪迭代后得到的結(jié)果(L16,R16)輸入到IP的逆置換IP-1中:Output Block ← IP-1(R16,L16)
  • 注意事項(xiàng)

    • DES算法的加密和解密均采用上述3個(gè)步驟。
    • 初始置換過程實(shí)際上為香農(nóng)信息論中的“擴(kuò)散(Diffusion)”;迭代運(yùn)算過程就是香農(nóng)信息論中的“混淆(Confusion)”。
    • 如果加密時(shí)使用的輪密鑰次序?yàn)閗1,k2,…,k16,那么解密時(shí)使用的輪密鑰次序?yàn)閗16,k15,…,k1
    • DES采用Feistel網(wǎng)絡(luò)結(jié)構(gòu)。Feistel密碼結(jié)構(gòu)是一種對稱結(jié)構(gòu),滿足對合性。采用此結(jié)構(gòu)的密碼,其好處是加解密可以使用同一個(gè)芯片。

    DES算法詳細(xì)圖解

    S盒和P盒

    • S盒的作用是混淆(Confusion),主要增加明文和密文之間的復(fù)雜度(包括非線性度等)。DES的安全性直接取決于S盒的安全性。
    • P盒的作用是擴(kuò)散(Diffusion),目的是讓明文和密鑰的影響迅速擴(kuò)散到整個(gè)密文中。即一位的明文或密鑰的改變會(huì)影響到密文的多個(gè)比特。
    • S盒和P盒的作用體現(xiàn)了Shannon的擴(kuò)散和混淆的密碼設(shè)計(jì)思想。

    DES的安全性

    1997年1月28日,美國RSA公司懸賞10000美元破譯DES。美國程序員RockeVerser用140天破譯成功。從此宣布了DES時(shí)代的終結(jié)。
    2008年SciEngines公司的Rivyera將破解DES的時(shí)間縮減到1天以內(nèi),并一直保持著暴力破解DES的記錄。
    于是,有人提出了TripleDES算法。
    DES、TripleDES算法(3DES)已經(jīng)不再使用,需要提出新的、更安全的數(shù)據(jù)加密標(biāo)準(zhǔn)。

    高級加密標(biāo)準(zhǔn)(AES)

    AES: Advanced Encryption Standard
    AES是美國聯(lián)邦政府采用的一種用來替代DES的加密標(biāo)準(zhǔn),其于2001年發(fā)布并在2002年成為有效的加密標(biāo)準(zhǔn),已經(jīng)被多方分析且廣為使用。
    Rijndael是分組長度和密鑰長度均可變的分組密碼,其密鑰長度和分組長度可以獨(dú)立指定為128/192/256bit(都是64的倍數(shù))。
    AES的密鑰長度為128/192/256bit, 但分組長度固定為128bit。

    算法簡介

    AES加密算法詳解(圖文解釋)

    AES對應(yīng)用密碼學(xué)的積極影響

    • AES具有加長可變的密鑰128/192/256b及數(shù)據(jù)分組長度128b,為各種應(yīng)用要求提供了大范圍可選的安全強(qiáng)度。
    • 128/192/256b密鑰對應(yīng)的加密輪數(shù)為10/12/14。
    • 避免了多重加密(例如3DES)的使用,減少了實(shí)際應(yīng)用中的密鑰數(shù)量,可以簡化安全協(xié)議和系統(tǒng)的設(shè)計(jì)。
    • AES的廣泛使用將導(dǎo)致同樣強(qiáng)度的新型雜湊函數(shù)的出現(xiàn)。

    SM4密碼算法

    2006年,我國國家密碼管理局公布了無線局域網(wǎng)產(chǎn)品使用的SM4 (原名SMS4)密碼算法,這是我國第一次公布自己的商用密碼算法,旨在加密與保護(hù)靜態(tài)儲(chǔ)存和傳輸信道中的數(shù)據(jù)。

    特點(diǎn)

    • 分組密碼算法,分組長度和密鑰長度128bit, 32輪迭代
    • 以字節(jié)為單位對數(shù)據(jù)進(jìn)行處理
    • 解密算法與加密算法結(jié)構(gòu)相同,輪密鑰的使用順序相反

    基本運(yùn)算

    • 模2加和循環(huán)移位計(jì)算
      32bit異或計(jì)算(⊕)和32bit循環(huán)左移(<<<)
    • 置換運(yùn)算: S盒(Sbox)
      8bit輸入、8bit輸出的置換運(yùn)算,起混淆作用
    • 非線性變換τ
      以字為單位的非線性變換,由4個(gè)并行的S盒構(gòu)成
    • 線性變換L
      以字為單位的線性變換,起擴(kuò)散作用
    • 合成變換T
      由τ和L復(fù)合而成,起擴(kuò)散和混淆作用
    • 輪函數(shù)F
      非線性迭代結(jié)構(gòu),以字為單位進(jìn)行加密運(yùn)算

    加密算法

    解密算法

    SM4的安全性

    SM4廣泛應(yīng)用于無線局域網(wǎng)產(chǎn)品。從算法設(shè)計(jì)上看,SM4在計(jì)算過程中增加了非線性變換,理論上能大大加強(qiáng)算法的安全性。
    近年來,國內(nèi)外密碼學(xué)者對SM4進(jìn)行了充分的分析與實(shí)驗(yàn),致力于SM4的低復(fù)雜度實(shí)現(xiàn)、混合加密技術(shù)的商用化、SM4抗攻擊能力的增強(qiáng)等方面,這些研究成果對改進(jìn)SM4密碼和設(shè)計(jì)新密碼都是有幫助的。
    至今, 我國國家密碼管理局仍然支持使用SM4密碼

    分組密碼的工作模式分類

    參考:分組密碼的模式——ECB、CBC、CFB、OFB、CTR

    分組密碼算法只能加密固定長度的分組,但需要加密的明文長度可能會(huì)超過分組密碼的分組長度,這就需要對分組密碼算法進(jìn)行迭代,以便將一段很長的明文全部加密。迭代的方法就被稱為分組密碼的工作模式
    分組密碼的模式主要有以下5種:

    • 電碼本模式(ECB:Electronic CodeBook mode)
    • 密碼分組鏈接模式(CBC:Cipher Block Chaining mode)
    • 密碼反饋模式(CFB:Cipher FeedBack mode)
    • 輸出反饋模式(OFB:Output FeedBack mode)
    • 計(jì)數(shù)器模式(CTR:CounTeR mode)

    電碼本模式(ECB)

    對連續(xù)排列的消息進(jìn)行加密(或解密)的最直接方式就是對它們逐段加密(或解密)。在這種情況下,消息分段恰好是消息分組。由于這種模式類似于在電報(bào)密碼本中查找指定的碼字,因此稱為電碼本模式(ECB, Electric Code Book)

    • ECB加密: Ci ← E(Pi),i=1,2,…,m
    • ECB解密: Pi ← D(Ci),i=1,2,…,m

    注意: ECB模式是確定性的加密模式,也就是說,如果在相同的密鑰作用下,將P1,P2,…Pm加密2次,那么輸出的密文分組也是相同的。如果明文消息是可猜測的,那么攻擊者就會(huì)用試湊法猜測出明文。

    因此, 在大多數(shù)應(yīng)用中, 建議不要使用ECB模式。

    • 加密
    • 解密

    密碼分組鏈接模式(CBC)

    密碼分組鏈接(CBC, Cipher Block Chaining)運(yùn)行模式是分組密碼算法。使用CBC模式,輸出是密碼分組的一個(gè)序列,這些密碼分組鏈接在一起使得每個(gè)密碼分組不僅依賴于所對應(yīng)的原文分組,而且依賴于所有以前的數(shù)據(jù)分組。

    • 加密
    • 解密

    初始化向量
    當(dāng)加密第一個(gè)明文分組時(shí),由于不存在“前一個(gè)密文分組”,因此需要事先準(zhǔn)備一個(gè)長度為一個(gè)分組的比特序列來代替“前一個(gè)密文分組”,這個(gè)比特序列稱為初始化向量,通常縮寫為IV。

    • 一般來說,每次加密時(shí)都會(huì)隨機(jī)產(chǎn)生一個(gè)不同的比特序列來作為初始化向量。
    • 由于IV的隨機(jī)性,密文分組Ci都將被隨機(jī)化,因此CBC的密文輸出是隨機(jī)化的。
    • 發(fā)送給接收者的密文消息應(yīng)該包括IV。因此對于m個(gè)明文分組,CBC將輸出m+1個(gè)密文分組。

    分組損壞和比特缺失的影響

    • 假設(shè)CBC模式加密的密文分組中有一個(gè)分組損壞了,例如由于硬盤故障導(dǎo)致密文分組的值發(fā)生了改變等,這種情況下,只要密文分組的長度沒有發(fā)生變化,則解密時(shí)最多只會(huì)有2個(gè)分組收到數(shù)據(jù)損壞的影響。
    • 假設(shè)CBC模式加密的密文分組中有一些比特缺失了,例如由于通信錯(cuò)誤導(dǎo)致沒有收到某些比特等,那么此時(shí)即使缺失1比特,也會(huì)導(dǎo)致密文分組的長度發(fā)生變化,此后的分組發(fā)生錯(cuò)位,這樣一來,缺失比特的位置之后的密文分組也就全部無法解密。

    密碼反饋模式(CFB)

    密碼反饋模式(CFB,Cipher Feedback Mode)的特點(diǎn)是:將CFB模式輸出的密碼分組反饋至移位寄存器,作為分組密碼算法的輸入,經(jīng)分組加密算法加密后形成密鑰流分組,再與輸入明文分組相異或。

    • 加密
    • 解密

    輸出反饋模式(OFB)

    輸出反饋模式(OFB,Output Feedback Mode)的特點(diǎn)是:將分組密碼的輸出分組反饋回去,這些反饋分組經(jīng)分組加密后輸出一個(gè)密鑰流分組,再將密鑰流分組與明文分組相異或。

    • 加密
    • 解密

    OFB模式和CFB模式的區(qū)別僅僅在于密碼算法的輸入。
    CFB模式中,密碼算法的輸入是前一個(gè)密文分組,也就是將密文分組反饋到密碼算法中,因此被稱為“密文反饋模式”;
    OFB模式中,密碼算法的輸入是密碼算法的前一個(gè)輸出,也就是將輸出反饋給密碼算法,因此被稱為“輸出反饋模式”。

    計(jì)數(shù)器模式(CTR)

    計(jì)數(shù)器模式(CTR, Counter) 的特征是:將計(jì)數(shù)器從初始值開始計(jì)數(shù),所得到的值饋送給分組密碼算法。隨著計(jì)數(shù)的增加,分組密碼算法輸出連續(xù)的密鑰流分組,再將密鑰流與明文分組相異或。

    • 加密
    • 解密

    計(jì)數(shù)器的生成方法,前8個(gè)字節(jié)為nonce,這個(gè)值在每次加密時(shí)必須時(shí)不同的。后8個(gè)字節(jié)為分組序號(hào),這個(gè)部分逐次累加。


    OFB模式與CTR模式的對比

    • 兩者都是流密碼。
    • OFB模式是將加密的輸出反饋到輸入,CTR模式是將計(jì)數(shù)器的值用作輸入。

    分組密碼總結(jié)

    分組密碼算法分組長度密鑰長度加密輪數(shù)安全性
    DES64 bits56 bits16密鑰太短且分組長度不適應(yīng)64-bits總線
    AES128 bits128/192/256 bits10/12/14安全
    SM4128 bits128 bits32安全

    總結(jié)

    以上是生活随笔為你收集整理的网络安全笔记2——单钥密码体制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。