密碼學(xué)初探

概述

花了一天多粗略的翻了《圖解密碼技術(shù)》拳氢,圖解系列真是入門神書,能夠迅速的建立起一門學(xué)科的體系,強(qiáng)烈推薦圣蝎。


mark

一些基本的概念

密碼算法和密鑰

密碼算法和密鑰是分開的兩個(gè)概念。比如凱撒密碼中衡瓶,將字母表中的字母平移這個(gè)操作是密碼算法徘公,而平移的字母數(shù)量就是密鑰。

密鑰空間

在某個(gè)密碼算法下哮针,所有的密鑰就是密鑰空間关面。

暴力破解

將密鑰空間中所有的密鑰全部試一遍,就是暴力破解十厢。

重放攻擊

竊聽(tīng)并保存A發(fā)往B的通信包等太,重復(fù)發(fā)送給B。

mark

此時(shí)蛮放,Bob銀行會(huì)收到多次Alice銀行轉(zhuǎn)賬數(shù)據(jù)缩抡,且每次驗(yàn)證都是正確的。消息認(rèn)證碼包颁、數(shù)字簽名都不能防御

防御手段

  • 序號(hào):每個(gè)消息都有一個(gè)編號(hào)
  • 時(shí)間戳:發(fā)送者和接受者的時(shí)鐘必須一致缝其,而且考慮通信的延遲,必須在時(shí)間的判斷上留下緩沖徘六,于是多多少少還是會(huì)存在可以進(jìn)行重放攻擊的空間内边。
  • nonce:通信之前,接受者都向發(fā)送者發(fā)送一個(gè)一次性的隨機(jī)數(shù)待锈,稱為nonce漠其,發(fā)送者在消息中包含這個(gè)nonce并計(jì)算MAC值。

密碼學(xué)家的工具箱

在本書中,最重要的概念就是密碼學(xué)家的工具箱和屎,全書都是圍繞工具箱中的各個(gè)工具以及各個(gè)工具的相互關(guān)系來(lái)講述的拴驮。看懂了這個(gè)工具箱柴信,密碼學(xué)就入門了套啤,而后各個(gè)工具都是一門博大精深的學(xué)問(wèn),需要再花時(shí)間細(xì)細(xì)研讀随常。

  • 對(duì)稱密碼
  • 公鑰密碼
  • 單向散列函數(shù)
  • 消息認(rèn)證碼
  • 數(shù)字簽名
  • 偽隨機(jī)數(shù)生成器

下面是我認(rèn)為書中最重要的兩個(gè)圖:

mark

圖一:信息安全面臨的威脅和用來(lái)應(yīng)對(duì)的密碼技術(shù)

mark

圖二:各個(gè)密碼技術(shù)之間的關(guān)系

對(duì)稱密碼

定義

對(duì)稱密碼是指加密和解密時(shí)使用同一密鑰的方式潜沦。

例子

比如加密和解密都用異或的方式。(對(duì)同一個(gè)比特序列進(jìn)行兩次XOR之后就會(huì)回到最初的狀態(tài))

A是比特序列绪氛,B是隨機(jī)生成的比特序列:

  • 將明文A用密鑰B進(jìn)行加密唆鸡,得到密文(A XOR B)
  • 將密文(A XOR B)用密鑰B進(jìn)行解密,得到明文A

密碼算法

  • DES
  • 三重DES
  • AES

缺點(diǎn)

使用一種密鑰空間巨大枣察,且在算法上沒(méi)有弱點(diǎn)的對(duì)稱密碼争占,就可以通過(guò)密文來(lái)確保明文的機(jī)密性。巨大的密鑰空間能夠抵御暴力破解序目,算法上沒(méi)有弱點(diǎn)可以抵御其他類型的攻擊臂痕。但是對(duì)稱密碼仍然有弱點(diǎn):

  • 密鑰的配送問(wèn)題:如何將密鑰安全地發(fā)送給接受者。(通過(guò)公鑰解決)

公鑰密碼

公鑰密碼用于解決密鑰配送問(wèn)題猿涨。

公鑰密碼無(wú)需向接受者配送解密的密鑰握童,是密碼學(xué)上最偉大的發(fā)明。

公鑰和私鑰

  • 公鑰即加密密鑰嘿辟,可以任意公開舆瘪,使用時(shí)應(yīng)將公鑰發(fā)送給需要使用公鑰進(jìn)行加密的通信對(duì)象片效。
  • 私鑰即解密密鑰红伦,絕對(duì)不能公開。

密碼算法

  • RSA

缺點(diǎn)

  • 公鑰密碼的處理速度只有對(duì)稱密碼的幾百分之一淀衣。(通過(guò)混合密碼系統(tǒng)解決)
  • 公鑰認(rèn)證問(wèn)題:需要判斷得到的公鑰是否合法昙读。(通過(guò)證書解決)

混合密碼系統(tǒng)

混合密碼系統(tǒng)即用對(duì)稱密碼來(lái)加密明文,用公鑰密碼來(lái)加密對(duì)稱密碼中所使用的密鑰膨桥。

會(huì)話密鑰:為本次通信而生成的臨時(shí)密鑰蛮浑,一般是通過(guò)偽隨機(jī)數(shù)生成器生成的。會(huì)話密鑰是對(duì)稱密碼的密鑰只嚣,同時(shí)也是公鑰密碼的明文沮稚。

加密圖:

mark

解密圖:

mark

單向散列函數(shù)

單向散列函數(shù)用于檢測(cè)文件的完整性,即文件有沒(méi)有被篡改册舞。

性質(zhì)

  • 根據(jù)任意長(zhǎng)度的消息計(jì)算出固定長(zhǎng)度的散列值
  • 能夠快速計(jì)算出散列值
  • 消息不同散列值也不同:抗碰撞性
  • 單向性:無(wú)法通過(guò)散列值反算出消息

算法

  • MD4
  • MD5
  • SHA-1

缺點(diǎn)

  • 無(wú)法識(shí)別偽裝:無(wú)法檢查出發(fā)送者的身份的真實(shí)性蕴掏。(通過(guò)消息認(rèn)證碼解決)

消息認(rèn)證碼(對(duì)稱密鑰+單向散列)

使用消息認(rèn)證碼可以判斷消息是否被篡改,以及是否有人偽裝成發(fā)送者發(fā)送了該消息。

可以這么理解:消息認(rèn)證碼是一種與密鑰相關(guān)的單向散列函數(shù)盛杰。輸入包括任意長(zhǎng)度的數(shù)據(jù)和一個(gè)發(fā)送者與接收者之間共享的密鑰挽荡,輸出固定長(zhǎng)度的數(shù)據(jù),這個(gè)數(shù)據(jù)稱為MAC值即供。

認(rèn)證

要計(jì)算MAC值必須持有共享密鑰定拟,沒(méi)有共享密鑰的人就無(wú)法計(jì)算MAC值,消息認(rèn)證碼是利用這種性質(zhì)來(lái)完成認(rèn)證的逗嫡。

完整性

和單向散列函數(shù)的散列值一樣青自,哪怕消息中發(fā)生1比特的變化,MAC值也會(huì)發(fā)生變化祸穷,消息認(rèn)證碼正式利用這一性質(zhì)來(lái)確認(rèn)完整性的性穿。

算法

  • HMAC

缺點(diǎn)

  • 依然存在密鑰配送問(wèn)題
  • 無(wú)法防止否認(rèn)(通過(guò)數(shù)字簽名來(lái)解決)

數(shù)字簽名(公鑰+單向散列)

數(shù)字簽名是將公鑰加密和解密反過(guò)來(lái)用。即用私鑰加密雷滚,用公鑰解密需曾。

用私鑰加密相當(dāng)于生成簽名
用公鑰解密相當(dāng)于驗(yàn)證簽名

數(shù)字簽名的方法

  • 直接對(duì)消息簽名
  • 對(duì)消息的散列值簽名
mark

圖中省略了Alice發(fā)送公鑰給Bob的過(guò)程。

缺點(diǎn)

  • 無(wú)法驗(yàn)證公鑰是屬于真正的發(fā)送者的(通過(guò)證書來(lái)解決)

證書

所謂證書祈远,就是將公鑰當(dāng)做一條消息呆万,由一個(gè)可信的第三方對(duì)其簽名后所得到的公鑰。

證書用來(lái)對(duì)公鑰的合法性進(jìn)行證明车份。

具體步驟

下圖中默認(rèn)Alice持有的認(rèn)證機(jī)構(gòu)的公鑰是可信的谋减。

mark

PKI

PKI即公鑰基礎(chǔ)設(shè)施(public-key infrastructure)是為了能夠更有效的運(yùn)行公鑰而制定的一系列規(guī)范和規(guī)格的總稱。
組成元素:

  • 用戶:使用PKI的人
  • 認(rèn)證機(jī)構(gòu)(certificate authority):頒發(fā)證書的人
  • 倉(cāng)庫(kù):保證證書的數(shù)據(jù)庫(kù)

用戶

  • 希望使用PKI注冊(cè)自己的公鑰的人
  • 希望使用已注冊(cè)的公鑰的人扫沼。

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

  • 生成密鑰對(duì)(也可由用戶生成)
  • 在注冊(cè)公鑰時(shí)對(duì)本人身份進(jìn)行認(rèn)證
  • 生成并頒發(fā)證書
  • 作廢證書

倉(cāng)庫(kù)

證書的層級(jí)結(jié)構(gòu)

認(rèn)證機(jī)構(gòu)的公鑰也需要認(rèn)證出爹,所以用一個(gè)認(rèn)證機(jī)構(gòu)來(lái)驗(yàn)證另一個(gè)認(rèn)證機(jī)構(gòu)的公鑰,這樣的關(guān)系可以迭代好幾層缎除。最終我們需要一個(gè)“可信的種子”严就,因?yàn)椴豢赡茉谕耆豢尚诺臓顟B(tài)下創(chuàng)造出信任關(guān)系。

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末器罐,一起剝皮案震驚了整個(gè)濱河市梢为,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌轰坊,老刑警劉巖铸董,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異肴沫,居然都是意外死亡粟害,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門颤芬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)悲幅,“玉大人孽文,你說(shuō)我怎么就攤上這事《峒瑁” “怎么了芋哭?”我有些...
    開封第一講書人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)郁副。 經(jīng)常有香客問(wèn)我减牺,道長(zhǎng),這世上最難降的妖魔是什么存谎? 我笑而不...
    開封第一講書人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任拔疚,我火速辦了婚禮,結(jié)果婚禮上既荚,老公的妹妹穿的比我還像新娘稚失。我一直安慰自己,他們只是感情好恰聘,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開白布句各。 她就那樣靜靜地躺著,像睡著了一般晴叨。 火紅的嫁衣襯著肌膚如雪凿宾。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,631評(píng)論 1 305
  • 那天兼蕊,我揣著相機(jī)與錄音初厚,去河邊找鬼。 笑死孙技,一個(gè)胖子當(dāng)著我的面吹牛产禾,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播牵啦,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼亚情,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了蕾久?” 一聲冷哼從身側(cè)響起势似,我...
    開封第一講書人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤拌夏,失蹤者是張志新(化名)和其女友劉穎僧著,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體障簿,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡盹愚,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了站故。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片皆怕。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡毅舆,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出愈腾,到底是詐尸還是另有隱情憋活,我是刑警寧澤,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布虱黄,位于F島的核電站悦即,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏橱乱。R本人自食惡果不足惜辜梳,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望泳叠。 院中可真熱鬧作瞄,春花似錦、人聲如沸危纫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)种蝶。三九已至属韧,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蛤吓,已是汗流浹背宵喂。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留会傲,地道東北人锅棕。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像淌山,于是被迫代替她去往敵國(guó)和親裸燎。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 前言 《圖解密碼技術(shù)》一書介紹了很多關(guān)于密碼的知識(shí)泼疑,通讀一遍需要不少時(shí)間德绿。為了方便學(xué)習(xí),我對(duì)書中關(guān)鍵的部分進(jìn)行了總...
    咖枯閱讀 7,188評(píng)論 1 25
  • 對(duì)稱加密與非對(duì)稱加密 按照密鑰的使用形式退渗,加密算法可以分為對(duì)稱加密和非對(duì)稱加密(又叫公鑰加密)移稳。對(duì)稱加密在加密和解...
    邱振源的博客閱讀 1,205評(píng)論 0 2
  • 對(duì)稱加密: DES DES是1977年美國(guó)聯(lián)邦信息處理標(biāo)準(zhǔn)中使用的一種對(duì)稱密碼技術(shù),曾今被美國(guó)和其他國(guó)家政府銀行使...
    十三億少女夢(mèng)丶閱讀 1,120評(píng)論 0 10
  • 密碼學(xué)是學(xué)習(xí)區(qū)塊鏈技術(shù)最重要的課程之一会油。 因?yàn)閰^(qū)塊鏈技術(shù)个粱,包括比特幣,它們之所以這么安全翻翩,最重要的基石就是密碼都许,包...
    黃星七年閱讀 835評(píng)論 1 22
  • 這篇文章主要講述在Mobile BI(移動(dòng)商務(wù)智能)開發(fā)過(guò)程中稻薇,在網(wǎng)絡(luò)通信、數(shù)據(jù)存儲(chǔ)胶征、登錄驗(yàn)證這幾個(gè)方面涉及的加密...
    雨_樹閱讀 2,436評(píng)論 0 6