中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
深入理解密碼技術(shù)

開發(fā)者(KaiFaX

面向開發(fā)者、程序員的專業(yè)平臺(tái)!


對(duì)稱加密:

DES

DES是1977年美國聯(lián)邦信息處理標(biāo)準(zhǔn)中使用的一種對(duì)稱密碼技術(shù),曾今被美國和其他國家政府銀行使用。


不過現(xiàn)在已被暴力破解,我們除了用它解密以前的密文外,已不再使用DES了。不過這里我們可以用它來了解下什么是對(duì)稱加密。


加密和解密

DES是一種把64比特明文加密成64比特的密文的對(duì)稱密碼算法,密鑰長度56位,其中每隔7比特有個(gè)錯(cuò)誤檢查比特。結(jié)果DES密鑰總長度為64比特。


分組密碼

DES以64比特明文為一個(gè)單位進(jìn)行加密,這64比特單位稱為分組。so,以分組為單位處理密碼的算法稱為分組密碼。DES屬于分組密碼。


DES每次只能加密64比特?cái)?shù)據(jù),如果明文較長,就需要對(duì)DES加密進(jìn)行迭代,迭代的具體方式稱為模式。后文會(huì)描述。


圖DES加密與解密流程


三重DES

三重DES只是將DES重復(fù)3次,為了增加DES強(qiáng)度


AES

目前很安全
。。。。。


分組密碼模式

…..好多…..


非對(duì)稱加密

公鑰密碼

在對(duì)稱密碼中,由于加密解密的密鑰是相同的,因此密鑰配送就成了問題。如過使用公鑰密碼,就解決了配送問題。


密鑰配送問題:

解決密鑰配送有多個(gè)方法,但都很難處理

  1. 雙方通信時(shí)如果要加密,密鑰不能在通信內(nèi)容中。否則會(huì)被中間人竊聽。

  2. 雙方可以事先共享密鑰,如果雙方離得很近自然好說。但如果離得很遠(yuǎn)就不能在消息里傳播密鑰,因?yàn)榭赡軙?huì)被竊聽。郵寄存儲(chǔ)卡也可能會(huì)被竊取。假如一個(gè)公司有1000人需要彼此加密通信,那密鑰數(shù)可能會(huì)達(dá)到50萬個(gè),這個(gè)不現(xiàn)實(shí)。

  3. 如果有個(gè)密鑰分配中心存儲(chǔ)密鑰,那1000人的數(shù)據(jù)庫會(huì)有1000個(gè)密鑰。但如果員工增加,密鑰也要增加,數(shù)據(jù)庫負(fù)荷會(huì)加大,如果數(shù)據(jù)庫癱瘓,全公司的通信就會(huì)癱瘓。密鑰分配中心也可能會(huì)遭到攻擊.

  4. Diffie-Hellman密鑰交換。是個(gè)方案。我們?cè)诤罄m(xù)會(huì)討論


公鑰密碼解決配送問題

兩種密鑰。一種是加密密鑰,一種是解密密鑰


這里有公鑰和私鑰,公鑰和私鑰既可以當(dāng)做加密密鑰,也可以做解密密鑰。只是使用場景不同


你既可以用公鑰加密,私鑰解密。也可以用公鑰解密,私鑰加密。區(qū)別只是在于使用場景。


公鑰和私鑰是一一對(duì)應(yīng)的,一對(duì)公鑰和私鑰統(tǒng)稱為密鑰對(duì)
我們來看一種公鑰加密,私鑰解密的情景。


Alice要發(fā)消息給Bob

  1. Bob要接受消息,生成密鑰對(duì)。私鑰自己保管,公鑰發(fā)給Alice

  2. 公鑰被截獲也沒關(guān)系。因?yàn)楣€只負(fù)責(zé)加密

  3. Alice用公鑰對(duì)消息加密,發(fā)送給Bob。

  4. 即使密文中間被截獲也沒關(guān)系,公鑰無法解密

  5. Bob用自己私鑰揭秘

如圖所示

公鑰密碼的問題
  1. 公鑰是否是正確合法的.假如中間人給你換了個(gè)公鑰呢?

  2. 處理速度要比對(duì)稱加密慢很多,大約只有百分之一


我們后面討論這兩個(gè)問題


RSA

RSA加密
密文 = 明文 E mod N (mod是取模的意思)
E和N的組合就是公鑰 簡稱 “公鑰是(E,N)”

RSA解密
明文 = 密文 D mod N
D和N的組合就是私鑰


中間人攻擊

這個(gè)邏輯很簡單,中間人替換掉了接受者得公鑰,向?qū)Ψ教峁┝俗约旱墓€。結(jié)果發(fā)送者用的中間人的公鑰加密消息發(fā)送出去,中間人接受到消息并用自己私鑰解密得到明文。再偽造一個(gè)假消息用接受者的公鑰加密還給接受者。具體流程如圖:


混合密碼技術(shù)

組成機(jī)制:

  • ●用對(duì)稱密碼加密消息

  • ●通過偽隨機(jī)數(shù)生成器生成對(duì)稱密碼加密中使用的會(huì)話密鑰

  • ●用公鑰加密會(huì)話密鑰

  • ●從混合密碼系統(tǒng)外部賦予公鑰密碼時(shí)使用的密鑰

####### 混合密碼系統(tǒng)加密解密過程

加密:

  • ●使用偽隨機(jī)生成器生成會(huì)話密鑰 ,會(huì)話密鑰加密明文生成密文

  • ●用接受者的公鑰加密會(huì)話密鑰

  • ●兩個(gè)密文組合后發(fā)送出去

解密:

  • ●收到消息先解密會(huì)話密鑰,用接受者的私鑰解密,得到會(huì)話密鑰

  • ●用會(huì)話密鑰解密加密過得密文,即可得到消息


認(rèn)證

單向散列函數(shù)

輸入稱為消息,輸出稱為散列值。


單向散列函數(shù)可以根據(jù)消息的內(nèi)容計(jì)算出散列值,而散列值就可以被用來檢查消息的完整性。


單向散列函數(shù)的性質(zhì):
  • 根據(jù)任意長度的消息計(jì)算出固定長度的散列值

  • 能夠快速計(jì)算出散列值

  • 消息不同散列值也不同

    • 兩個(gè)不同消息產(chǎn)生同一個(gè)散列值的情況稱為碰撞

    • 要找到和該消息具有相同散列值的另外一條消息是非常困難的。這一性質(zhì)稱為弱抗碰撞性

    • 要找到散列值相同的兩條不同消息是非常困難的。稱為強(qiáng)抗碰撞性

  • 具備單向性


關(guān)于術(shù)語

單項(xiàng)散列函數(shù)又稱為消息摘要函數(shù),哈希函數(shù)或者雜湊函數(shù)


實(shí)際應(yīng)用
  • 檢測(cè)軟件是否篡改

  • 基于口令的加密(PBE):原理是將口令和炎(偽隨機(jī)數(shù))混合后計(jì)算其散列值,然后將這個(gè)散列值用作加密密鑰

  • 消息認(rèn)證碼:檢測(cè)并防止通信過程中得錯(cuò)誤,篡改和偽裝

  • 數(shù)字簽名

  • 偽隨機(jī)數(shù)生成器

  • 一次性口令


消息認(rèn)證碼

消息的認(rèn)證是指:“消息來自正確的發(fā)送者”。通過使用消息認(rèn)證碼,我們就可以同時(shí)識(shí)別出篡改和偽裝,既可以確認(rèn)消息完整性,也可以進(jìn)行認(rèn)證。


消息認(rèn)證碼的輸入包括任意消息的長度和一個(gè)接受者和發(fā)送者之間的共享密鑰,輸出是固定長度,這個(gè)數(shù)據(jù)稱為MAC值。


消息認(rèn)證碼是一種與密鑰相關(guān)聯(lián)的單項(xiàng)散列函數(shù)。


如圖:

使用步驟:如圖


數(shù)字簽名

數(shù)字簽名就是將公鑰反過來用實(shí)現(xiàn)的。


公鑰加密就是用公鑰加密消息,用私鑰解密密文。


而數(shù)字簽名是用私鑰對(duì)消息生成簽名,傳輸數(shù)字簽名的密文,最后用公鑰解密驗(yàn)證簽名。


如圖所示:

解釋一下:用私鑰加密所得的密文,只能用公鑰才能解密。這就是說,如果某個(gè)公鑰成功解密了密文,那就證明這段密文是由與他配對(duì)的私鑰進(jìn)行加密所得的。


數(shù)字簽名方法
  • 直接對(duì)消息簽名

  • 對(duì)消息的散列值簽名
    如圖:





通過RSA實(shí)現(xiàn)數(shù)字簽名

簽名 = 消息的D次方 mod N  D和N就是簽名者的私鑰  有簽名求得的消息 = 簽名的E次方 mod N  E和N就是簽名者的公鑰

數(shù)字簽名無法解決的問題

公鑰必須屬于真正的發(fā)送者。即使數(shù)字簽名算法再強(qiáng)大,如果你得到的公鑰是偽造的,那么數(shù)字簽名也會(huì)完全失敗。我們需要使用一種社會(huì)性的基礎(chǔ)設(shè)施,即公鑰基礎(chǔ)設(shè)施。簡稱PKI。


見下文。


證書

公鑰證書和身份證,駕照很相似,里面有姓名,證件號(hào),地址等個(gè)人信息,以及屬于此人的公鑰,由認(rèn)證機(jī)構(gòu)施加數(shù)字簽名。只要看到公鑰證書,我們就可以知道認(rèn)證機(jī)構(gòu)認(rèn)定該公鑰的確屬于此人。公鑰證書簡稱證書。


證書應(yīng)用場景

如圖:


公鑰基礎(chǔ)設(shè)施(PKI)

公鑰基礎(chǔ)設(shè)施是為了能夠更有效地運(yùn)用公鑰而制定的一系列規(guī)范和規(guī)格的總稱。


PKI的組成要素
  • 用戶———使用PKI的人

  • 認(rèn)證機(jī)構(gòu)————頒發(fā)證書的人

  • 倉庫————保存證書的數(shù)據(jù)庫


用戶

分兩種:1.一種是使用PKI注冊(cè)自己的公鑰的人。
2.另一種是使用已注冊(cè)的公鑰的人。


認(rèn)證機(jī)構(gòu)(CA)

認(rèn)證機(jī)構(gòu)接受對(duì)證書進(jìn)行管理的人。認(rèn)證機(jī)構(gòu)具體行為如下:

  • 生成密鑰對(duì)

  • 在注冊(cè)公鑰時(shí)對(duì)本人進(jìn)行身份認(rèn)證

  • 生成并頒發(fā)證書

  • 作廢證書


倉庫

保管證書的數(shù)據(jù)庫,也叫證書目錄

PKI組成要素


密鑰,隨機(jī)數(shù)與應(yīng)用技術(shù)

什么是密鑰

  • 密鑰本身就是一個(gè)巨大的數(shù)字,數(shù)字大小不重要,重要的是密鑰空間的大小,也就是說可能出現(xiàn)密鑰的總數(shù)量。因?yàn)槊荑€空間越大,暴力破解就越困難。密鑰空間大小有密鑰長度決定。


  • 密鑰與明文是等價(jià)的,假如明文具有100萬的價(jià)值,那么這段密鑰也具有100萬的價(jià)值;假如明文值1億,密鑰也值1億。


  • 不要使用自己開發(fā)的密碼算法進(jìn)行加密,而是使用一個(gè)經(jīng)過全世界密碼雪茄共同驗(yàn)證的密碼算法。如果你使用了自己的密鑰,可能會(huì)出現(xiàn)你的密鑰被長時(shí)間破解了,你依然無法知曉。 信息的機(jī)密性不應(yīng)該依賴密碼算法本身,而是依賴于妥善保管的密鑰。


Diffie-Hellman 密鑰交換

Diffie-Hellman 密鑰交換算法,通信雙方僅通過交換一些可以公開的信息就能夠生產(chǎn)出共享密鑰的


基于口令的密碼(PBE)

基于口令的密碼就是一種根據(jù)口令生成的密鑰并用該密鑰進(jìn)行加密的方法。其中加密和解密使用同一種密鑰


PBE加密過程如圖:

3個(gè)步驟:

  1. 生成KEK

  2. 生成會(huì)話密鑰并加密

  3. 加密消息

PBE解密過程:
個(gè)人覺得是不是箭頭反了?

隨機(jī)數(shù)

#####隨機(jī)數(shù)的用途

  • 生成密鑰
    用于對(duì)稱密碼和消息認(rèn)證碼

  • 生成密鑰對(duì)
    用于公鑰密碼和數(shù)字簽名

  • 生成初始化向量(IV)
    用于分組密碼的CBC,CFB和OFB模式

  • 生成nonce
    用于防御重放攻擊以及分組密碼的CTR模式等

  • 生成鹽
    用于基于口令的密碼(PBE)等

其中生成密鑰和生成密鑰對(duì)是最重要的,即使密碼強(qiáng)度再高,只要攻擊者知道了密鑰,就會(huì)立刻變得形同虛設(shè)。因此我們需要用隨機(jī)數(shù)來生成密鑰,使之無法被攻擊者看穿。


隨機(jī)數(shù)的性質(zhì)
  • 隨機(jī)性

  • 不可預(yù)測(cè)性

  • 不可重現(xiàn)性

如圖


偽隨機(jī)數(shù)生成器

通過硬件生成的隨機(jī)數(shù)列是根據(jù)傳感器收集的熱量,聲音的變化等事實(shí)上是無法預(yù)測(cè)的。像這樣的設(shè)備就稱為隨機(jī)數(shù)生成器。


而可以生成隨機(jī)數(shù)的軟件則稱為偽隨機(jī)數(shù)生成器。因?yàn)檐浖o法生成真隨機(jī)數(shù)。


偽隨機(jī)數(shù)生成器具有“內(nèi)部狀態(tài)”,并根據(jù)外部輸入的“種子”來生成偽隨機(jī)數(shù)列


偽隨機(jī)數(shù)生成器的內(nèi)部狀態(tài)

偽隨機(jī)數(shù)生成器的內(nèi)部狀態(tài),是指偽隨機(jī)數(shù)生成器歲管理的內(nèi)存中的數(shù)值。


當(dāng)有一條偽隨機(jī)數(shù)的請(qǐng)求時(shí),偽隨機(jī)數(shù)生成器會(huì)根據(jù)內(nèi)存中的數(shù)值進(jìn)行技術(shù),并將結(jié)果輸出。隨后改變自己的內(nèi)部狀態(tài)。因此,根據(jù)內(nèi)部狀態(tài)計(jì)算偽隨機(jī)數(shù)的方法和改變內(nèi)部狀態(tài)的方法組合起來,就是偽隨機(jī)數(shù)生成的算法。


偽隨機(jī)數(shù)生成器的種子

偽隨機(jī)數(shù)的種子是用來對(duì)偽隨機(jī)數(shù)生成器的內(nèi)部狀態(tài)進(jìn)行初始化。偽隨機(jī)數(shù)生成器是公開的,但種子是需要自己保密的。由于種子不可以被攻擊者知道,因此不可以使用容易被預(yù)測(cè)的值。


PGP—密碼技術(shù)的完美組合

用PGP加密

用PGP解密

用PGP生成數(shù)字簽名

PGP驗(yàn)證數(shù)字簽名

PGP生成數(shù)字簽名并加密

PGP解密并驗(yàn)證數(shù)字簽名



來源:runningyoung.github.io

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
科普 | 密碼學(xué)極速入門,Part-1
揭開密碼的神秘面紗——同余運(yùn)算 Part V
一圖文讓你成為密碼算法安全專家:國密算法與國際算法揭秘
加密概述
“密碼學(xué)原理”
密碼故事(下)
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服