官术网_书友最值得收藏!

1.5 密碼算法分類和抽象化

我們將密碼算法分為兩大類。

對稱密碼(密鑰密碼)——算法只有一個密鑰。如果多個參與者都知道該密鑰,該密鑰也稱為共享密鑰。

非對稱密碼(公鑰密碼)——參與者對密鑰的可見性是非對稱的。例如,一些參與者僅知道公鑰,而另一些參與者同時知道公鑰和私鑰。

雖然對稱密碼和非對稱密碼并不是密碼學(xué)中僅有的兩類原語,但是由于我們很難對密碼學(xué)的其他的子類進行劃分,所以本書的大部分篇幅都是關(guān)于對稱和非對稱密碼原語的。當(dāng)今廣泛應(yīng)用的密碼算法都包含在這兩類原語中。另一種劃分密碼學(xué)原語的方式如下。

基于數(shù)學(xué)理論構(gòu)造——這種密碼算法的構(gòu)造都建立在諸如因子分解之類的數(shù)學(xué)困難問題上。基于RSA算法的數(shù)字簽名和非對稱加密就屬于這種構(gòu)造。

基于啟發(fā)式構(gòu)造——這種算法的構(gòu)造依賴于密碼分析者的觀察和統(tǒng)計分析。AES算法就是這種構(gòu)造的典型案例。

這種分類方式還考慮到算法效率因素,基于數(shù)學(xué)理論構(gòu)造通常比基于啟發(fā)式構(gòu)造的密碼算法要慢得多。我們可以得出這樣的結(jié)論:對稱密碼大多數(shù)都是基于啟發(fā)式構(gòu)造的,而非對稱密碼主要是基于數(shù)學(xué)理論構(gòu)造的。

我們很難嚴格地對密碼學(xué)涉及的所有算法進行準(zhǔn)確分類。事實上,每本書或每門課程對密碼學(xué)定義和分類都有所不同。其實,這些定義和分類對我們來說并不重要,因為我們只會將這些密碼學(xué)原語看作獨特且具有各自的安全聲明的工具。反過來,我們可以把這些工具當(dāng)作構(gòu)造安全協(xié)議的基礎(chǔ)原語。對于實現(xiàn)協(xié)議安全,了解這些工具的工作原理以及提供的安全聲明才是重中之重。出于這種考慮,本書的第一部分主要介紹常用的密碼原語及其安全屬性。

本書中的許多概念在初次使用時可能比較難懂。但與學(xué)習(xí)和理解其他知識一樣,對這些概念了解得越多,在具體語境中見到的次數(shù)越多,我們就越能把它們抽象出來,理解起來也就愈加自然。本書的作用就是幫助讀者建立起密碼算法構(gòu)造的抽象思維模型,理解把各類密碼算法組合在一起形成安全協(xié)議的方法。本書會反復(fù)提到各類密碼原語構(gòu)造的接口,給出它們在現(xiàn)實世界的實際使用示例。

密碼學(xué)以前的定義很簡單,其原理類似于Alice和Bob想要交換秘密信息。當(dāng)然,現(xiàn)在密碼學(xué)的定義已經(jīng)有了變化。當(dāng)今,密碼學(xué)圍繞著新的發(fā)現(xiàn)、突破和實際需求演變成一門非常復(fù)雜的學(xué)科。歸根結(jié)底,密碼學(xué)的真正目的在于增強協(xié)議安全性,使協(xié)議在敵手存在的情況下仍能安全運行。

為了準(zhǔn)確地理解密碼學(xué)使協(xié)議變得安全的原理,厘清協(xié)議所要達到的一系列安全目標(biāo)至關(guān)重要。本書涉及的密碼原語至少滿足下面性質(zhì)中的一條。

機密性——掩藏和保護一些不想讓別人看到的消息。例如,加密就可以掩蓋傳輸中的消息。

認證性——確定通信另一方的身份。例如,認證技術(shù)可以讓我們確信接收到的消息確實是由Alice發(fā)送來的。

當(dāng)然,這里只是對密碼學(xué)所能提供的算法功能進行了簡化。在大多數(shù)情況下,每個密碼原語的安全定義中都包含對算法功能的詳細說明。密碼原語的使用方式不同,協(xié)議產(chǎn)生的安全屬性也會不同。

在本書中,我們將會學(xué)習(xí)一些新的密碼原語,同時還會學(xué)習(xí)將它們組合起來實現(xiàn)滿足機密性或認證性等安全屬性的方法。請認識到這樣一個事實:密碼學(xué)是一門在敵手存在的環(huán)境下為協(xié)議提供安全保護的技術(shù)。雖然本書對“敵手”還沒給出明確的定義,但是我們可以把企圖破壞協(xié)議的參與者、觀察者、中間人都當(dāng)作敵手。這些角色反映了現(xiàn)實生活中敵手可能的身份。畢竟,密碼學(xué)是一個實用的領(lǐng)域,它最終對抗的壞人是有血有肉的。

主站蜘蛛池模板: 西畴县| 通渭县| 高陵县| 板桥市| 淮安市| 汉源县| 固原市| 枣强县| 枣强县| 云南省| 察隅县| 临沧市| 博白县| 清新县| 安徽省| 额尔古纳市| 玉门市| 潞西市| 东方市| 余庆县| 双桥区| 合山市| 镇赉县| 甘德县| 会东县| 宜丰县| 出国| 旺苍县| 江都市| 广河县| 阿鲁科尔沁旗| 西平县| 周至县| 呼和浩特市| 凤翔县| 红桥区| 临江市| 筠连县| 霍城县| 崇州市| 武清区|