密碼學基礎(chǔ)(四)算法的安全性

本文首發(fā)于 2017-10-30 16:06 原地址:http://www.blockchainbrother.com/article/83

此次和大家談一談算法的安全性爆价。根據(jù)被破譯的難易程度翔烁,不同的密碼算法具有不同的安全等級嗜傅。 區(qū)塊鏈技術(shù)當中一個很重要的組成部分就是密碼學伟骨,作為從事區(qū)塊鏈研究的工程技術(shù)人員注暗,應(yīng)該對密碼學有一定的了解〖洌現(xiàn)我想分享一些密碼學的基本概念以供交流學習秋茫,大家共同學習滚局,更加充實對區(qū)塊鏈技術(shù)的理解居暖。

算法的安全性

根據(jù)被破譯的難易程度,不同的密碼算法具有不同的安全等級藤肢。如果破譯算法的代價大于加密數(shù)據(jù)的價值太闺,那么一般不會有人想去破譯它,即你可能是“安全的”嘁圈。如果破譯算法所需的時間比加密數(shù)據(jù)保密的時間更長跟束,那么你可能也是“安全的”莺奸。如果用單密鑰加密的數(shù)據(jù)量比破譯算法需要的數(shù)據(jù)量少得多,那么你也可能是“安全的”冀宴。

在這里說“可能”灭贷,是因為在密碼分析中總有新的突破。另一方面略贮,隨著時間的推移甚疟,大多數(shù)數(shù)據(jù)的價值會越來越小。

Lars Knudsen曾把破譯算法分為不同的類別逃延,安全性的遞減順序為:

(1)全部破譯(total break)览妖。密碼分析者找出密鑰K,這樣就能得到

(2)全盤推導(global deduction)揽祥。密碼分析者找到一個替代算法A讽膏,在不知曉密鑰K的情況下等價于得到

(3)實例(或局部)推導(instance (or local) deduction)。密碼分析者從截獲的密文中找出明文拄丰。

(4)信息推導(information deduction)府树。密碼分析者獲得一些有關(guān)密鑰或明文的信息。這些信息可能是密鑰的幾位料按、有關(guān)明文格式的信息等奄侠。

若不論密碼分析者獲得多少密文,都沒有足夠的信息恢復出明文载矿,那么這個算法就是無條件保密的(unconditionally secure)垄潮。事實上,只有一次一密亂碼本闷盔,才是不可破的(給出無限多的資源仍然不可破)弯洗。所有其他的密碼系統(tǒng)在唯密文攻擊中都是可破的,只要簡單的一個接一個的去嘗試每種可能的密鑰逢勾,并檢查所得明文是否有意義牡整,這種方法稱為蠻力攻擊(brute-force attack)。

在密碼學中敏沉,更關(guān)心在計算上不可破譯的密碼系統(tǒng)果正。如果算法用(現(xiàn)在或者將來)可得到的資源都不能破譯,這個算法則被認為是計算安全的(computationally secure)盟迟。準確的說秋泳,“可用資源”就是公開數(shù)據(jù)的分析整理。

可以采用不同的方式衡量攻擊方法的復雜性:

1)數(shù)據(jù)復雜性(data complexity)攒菠。用于攻擊輸入所需要的數(shù)據(jù)量迫皱。

2)處理復雜性(processing complexity)。完成攻擊所需要的時間,也經(jīng)常稱作工作因素(work factor)卓起。

3)存儲需求(storage requirement)和敬。進行攻擊所需要的存儲量。

作為一個法則戏阅,攻擊的復雜性取這三個因數(shù)的最小值昼弟。有些攻擊包括這三種復雜性的折中:存儲需求越大,攻擊可能越快奕筐。

復雜性用數(shù)量級來表示舱痘。如果算法的處理復雜性是2的128次方,那么破譯這個算法也需要2的128次方次運算(這些運算可能非常復雜和耗時)离赫。假設(shè)我們擁有足夠的計算速度去完成每秒100萬次的運算芭逝,并且用100萬個并行處理器完成這個任務(wù),那么仍然需要花費10的19次方年以上才能找到密鑰渊胸。(而這是宇宙年齡的10億倍)旬盯。

當攻擊的復雜性是常數(shù)時(除非一些密碼分析者發(fā)現(xiàn)更好的密碼分析攻擊),就只取決于計算能力了翎猛。在過去的半個世紀中胖翰,計算能力已經(jīng)得到了顯著的提高,并且現(xiàn)在這種趨勢還在發(fā)展办成。許多的密碼分析攻擊用并行處理的機制進行計算非常理想泡态,一個任務(wù)可以分成億萬個子任務(wù)搂漠,并且處理之間不需要相互作用迂卢。一種算法在現(xiàn)有技術(shù)條件下不可破譯就草率的宣稱是安全的,是很冒險的桐汤。從中我們可以得出而克,一個好的密碼系統(tǒng)應(yīng)設(shè)計成能抵御未來多年后的計算能力的發(fā)展。

注:上面提到的一次一密亂碼本(one-time pad)怔毛,是由Major Joseph Mauborgne 和AT&T公司的Gilbert Vernam在1917年發(fā)明的员萍。(事實上,一次一密亂碼本是門限方案的特殊情況)感興趣的朋友可以查閱相關(guān)資料深入了解拣度,在此我就不展開描述了碎绎。

此次和大家談一談算法的安全性。根據(jù)被破譯的難易程度抗果,不同的密碼算法具有不同的安全等級筋帖。 區(qū)塊鏈技術(shù)當中一個很重要的組成部分就是密碼學,作為從事區(qū)塊鏈研究的工程技術(shù)人員冤馏,應(yīng)該對密碼學有一定的了解∪蒸铮現(xiàn)我想分享一些密碼學的基本概念以供交流學習,大家共同學習逮光,更加充實對區(qū)塊鏈技術(shù)的理解代箭。

算法的安全性

根據(jù)被破譯的難易程度墩划,不同的密碼算法具有不同的安全等級。如果破譯算法的代價大于加密數(shù)據(jù)的價值嗡综,那么一般不會有人想去破譯它乙帮,即你可能是“安全的”。如果破譯算法所需的時間比加密數(shù)據(jù)保密的時間更長极景,那么你可能也是“安全的”蚣旱。如果用單密鑰加密的數(shù)據(jù)量比破譯算法需要的數(shù)據(jù)量少得多,那么你也可能是“安全的”戴陡。

在這里說“可能”塞绿,是因為在密碼分析中總有新的突破。另一方面恤批,隨著時間的推移异吻,大多數(shù)數(shù)據(jù)的價值會越來越小。

Lars Knudsen曾把破譯算法分為不同的類別喜庞,安全性的遞減順序為:

(1)全部破譯(total break)诀浪。密碼分析者找出密鑰K,這樣就能得到

(2)全盤推導(global deduction)延都。密碼分析者找到一個替代算法A雷猪,在不知曉密鑰K的情況下等價于得到

(3)實例(或局部)推導(instance (or local) deduction)。密碼分析者從截獲的密文中找出明文晰房。

(4)信息推導(information deduction)求摇。密碼分析者獲得一些有關(guān)密鑰或明文的信息。這些信息可能是密鑰的幾位殊者、有關(guān)明文格式的信息等与境。

若不論密碼分析者獲得多少密文,都沒有足夠的信息恢復出明文猖吴,那么這個算法就是無條件保密的(unconditionally secure)摔刁。事實上,只有一次一密亂碼本海蔽,才是不可破的(給出無限多的資源仍然不可破)共屈。所有其他的密碼系統(tǒng)在唯密文攻擊中都是可破的,只要簡單的一個接一個的去嘗試每種可能的密鑰党窜,并檢查所得明文是否有意義拗引,這種方法稱為蠻力攻擊(brute-force attack)。

在密碼學中刑然,更關(guān)心在計算上不可破譯的密碼系統(tǒng)寺擂。如果算法用(現(xiàn)在或者將來)可得到的資源都不能破譯,這個算法則被認為是計算安全的(computationally secure)。準確的說怔软,“可用資源”就是公開數(shù)據(jù)的分析整理垦细。

可以采用不同的方式衡量攻擊方法的復雜性:

1)數(shù)據(jù)復雜性(data complexity)。用于攻擊輸入所需要的數(shù)據(jù)量挡逼。

2)處理復雜性(processing complexity)括改。完成攻擊所需要的時間,也經(jīng)常稱作工作因素(work factor)家坎。

3)存儲需求(storage requirement)嘱能。進行攻擊所需要的存儲量。

作為一個法則虱疏,攻擊的復雜性取這三個因數(shù)的最小值惹骂。有些攻擊包括這三種復雜性的折中:存儲需求越大,攻擊可能越快做瞪。

復雜性用數(shù)量級來表示对粪。如果算法的處理復雜性是2的128次方,那么破譯這個算法也需要2的128次方次運算(這些運算可能非常復雜和耗時)装蓬。假設(shè)我們擁有足夠的計算速度去完成每秒100萬次的運算著拭,并且用100萬個并行處理器完成這個任務(wù),那么仍然需要花費10的19次方年以上才能找到密鑰牍帚。(而這是宇宙年齡的10億倍)儡遮。

當攻擊的復雜性是常數(shù)時(除非一些密碼分析者發(fā)現(xiàn)更好的密碼分析攻擊),就只取決于計算能力了暗赶。在過去的半個世紀中鄙币,計算能力已經(jīng)得到了顯著的提高,并且現(xiàn)在這種趨勢還在發(fā)展忆首。許多的密碼分析攻擊用并行處理的機制進行計算非常理想爱榔,一個任務(wù)可以分成億萬個子任務(wù)被环,并且處理之間不需要相互作用糙及。一種算法在現(xiàn)有技術(shù)條件下不可破譯就草率的宣稱是安全的,是很冒險的筛欢。從中我們可以得出浸锨,一個好的密碼系統(tǒng)應(yīng)設(shè)計成能抵御未來多年后的計算能力的發(fā)展。

注:上面提到的一次一密亂碼本(one-time pad)版姑,是由Major Joseph Mauborgne 和AT&T公司的Gilbert Vernam在1917年發(fā)明的柱搜。(事實上,一次一密亂碼本是門限方案的特殊情況)感興趣的朋友可以查閱相關(guān)資料深入了解剥险,在此我就不展開描述了聪蘸。

于中陽 Mercina-zy

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子健爬,更是在濱河造成了極大的恐慌控乾,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,348評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件娜遵,死亡現(xiàn)場離奇詭異蜕衡,居然都是意外死亡,警方通過查閱死者的電腦和手機设拟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,122評論 2 385
  • 文/潘曉璐 我一進店門慨仿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人纳胧,你說我怎么就攤上這事镰吆。” “怎么了跑慕?”我有些...
    開封第一講書人閱讀 156,936評論 0 347
  • 文/不壞的土叔 我叫張陵鼎姊,是天一觀的道長。 經(jīng)常有香客問我相赁,道長相寇,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,427評論 1 283
  • 正文 為了忘掉前任钮科,我火速辦了婚禮唤衫,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘绵脯。我一直安慰自己佳励,他們只是感情好,可當我...
    茶點故事閱讀 65,467評論 6 385
  • 文/花漫 我一把揭開白布蛆挫。 她就那樣靜靜地躺著赃承,像睡著了一般。 火紅的嫁衣襯著肌膚如雪悴侵。 梳的紋絲不亂的頭發(fā)上瞧剖,一...
    開封第一講書人閱讀 49,785評論 1 290
  • 那天,我揣著相機與錄音可免,去河邊找鬼抓于。 笑死,一個胖子當著我的面吹牛浇借,可吹牛的內(nèi)容都是我干的捉撮。 我是一名探鬼主播,決...
    沈念sama閱讀 38,931評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼妇垢,長吁一口氣:“原來是場噩夢啊……” “哼巾遭!你這毒婦竟也來了肉康?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,696評論 0 266
  • 序言:老撾萬榮一對情侶失蹤灼舍,失蹤者是張志新(化名)和其女友劉穎迎罗,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體片仿,經(jīng)...
    沈念sama閱讀 44,141評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡纹安,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,483評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了砂豌。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片厢岂。...
    茶點故事閱讀 38,625評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖阳距,靈堂內(nèi)的尸體忽然破棺而出塔粒,到底是詐尸還是另有隱情,我是刑警寧澤筐摘,帶...
    沈念sama閱讀 34,291評論 4 329
  • 正文 年R本政府宣布卒茬,位于F島的核電站,受9級特大地震影響咖熟,放射性物質(zhì)發(fā)生泄漏圃酵。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,892評論 3 312
  • 文/蒙蒙 一馍管、第九天 我趴在偏房一處隱蔽的房頂上張望郭赐。 院中可真熱鬧,春花似錦确沸、人聲如沸捌锭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽观谦。三九已至,卻和暖如春桨菜,著一層夾襖步出監(jiān)牢的瞬間豁状,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工雷激, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留替蔬,地道東北人。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓屎暇,卻偏偏與公主長得像,于是被迫代替她去往敵國和親驻粟。 傳聞我的和親對象是個殘疾皇子根悼,可洞房花燭夜當晚...
    茶點故事閱讀 43,492評論 2 348

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