資源描述:
《網(wǎng)絡(luò)安全-09:公鑰密碼學(xué)與RSA》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、Chapter9公鑰密碼學(xué)與RSA《密碼編碼學(xué)與網(wǎng)絡(luò)安全》§9.1公鑰密碼體制的基本原理傳統(tǒng)密碼體制只使用一個(gè)密鑰收發(fā)雙方共享這個(gè)單一的密鑰密鑰是對(duì)稱的,雙方是對(duì)等的;因此,不能確保接收方偽造信息,并聲稱是該信息是發(fā)送方發(fā)送的2021/7/202西安電子科技大學(xué)計(jì)算機(jī)學(xué)院對(duì)稱密碼體制的缺陷2021/7/203西安電子科技大學(xué)計(jì)算機(jī)學(xué)院公鑰密碼體制密碼學(xué)發(fā)展歷史中最偉大的一次革命采用兩個(gè)密鑰:一個(gè)公鑰,一個(gè)私鑰參與方不對(duì)等,所以是非對(duì)稱的;基于數(shù)論中的結(jié)論是私鑰密碼的補(bǔ)充而不是代替2021/7/204西安電子科技大學(xué)計(jì)算機(jī)學(xué)院為什么需要公鑰密碼?兩個(gè)考慮:密鑰分配-
2、KDC數(shù)字簽名公認(rèn)該發(fā)明屬于StanfordUni的WhitfieldDiffie和MartinHellman,于1976年。"NewDirectionsinCryptography",IEEETrans.InformationTheory,IT-22,pp644-654,Nov1976JamesEllis(UKCESG)在1970年曾提出此概念2021/7/205西安電子科技大學(xué)計(jì)算機(jī)學(xué)院公鑰密碼體制公鑰/雙鑰/非對(duì)稱密碼都是指使用兩個(gè)密鑰:公鑰:可以對(duì)任何人公開的密鑰,用于加密消息或驗(yàn)證簽名。私鑰:只能由接收者私存,用于解密消息或簽名。非對(duì)稱用于加密消息或驗(yàn)證
3、簽名的人不能進(jìn)行消息的加密或消息的簽名。2021/7/206西安電子科技大學(xué)計(jì)算機(jī)學(xué)院公鑰密碼體制2021/7/207西安電子科技大學(xué)計(jì)算機(jī)學(xué)院2021/7/208西安電子科技大學(xué)計(jì)算機(jī)學(xué)院公鑰密碼體制特點(diǎn)公鑰密碼算法依賴于:僅僅知道算法和加密密鑰,推導(dǎo)解密密鑰計(jì)算上是不可行的已知加解密密鑰時(shí),進(jìn)行加解密運(yùn)算計(jì)算上是容易的兩個(gè)密鑰中的任何一個(gè)都可以用來加密,而另一個(gè)用來解密。書上6個(gè)條件p1962021/7/209西安電子科技大學(xué)計(jì)算機(jī)學(xué)院單向陷門函數(shù)單向陷門函數(shù):若k和X已知,則容易計(jì)算Y=fk(X).若k和Y已知,則容易計(jì)算X=fk-1(Y).若Y已知但k未知
4、,則計(jì)算出X=fk-1(Y)是不可行的.尋找合適的單向陷門函數(shù)是公鑰密碼體制應(yīng)用的關(guān)鍵單向陷門函數(shù)舉例:離散對(duì)數(shù)大整數(shù)分解背包問題2021/7/2010西安電子科技大學(xué)計(jì)算機(jī)學(xué)院公鑰密碼體制:保密性和認(rèn)證2021/7/2011西安電子科技大學(xué)計(jì)算機(jī)學(xué)院公鑰算法分類Public-KeyDistributionSchemes(PKDS)用于交換秘密信息(依賴于雙方主體)常用于對(duì)稱加密算法的密鑰PublicKeyEncryption(PKE)用于加密任何消息任何人可以用公鑰加密消息私鑰的擁有者可以解密消息任何公鑰加密方案能夠用于密鑰分配方案PKDS許多公鑰加密方案也是數(shù)
5、字簽名方案SignatureSchemes用于生成對(duì)某消息的數(shù)字簽名私鑰的擁有者生成數(shù)字簽名任何人可以用公鑰驗(yàn)證簽名2021/7/2012西安電子科技大學(xué)計(jì)算機(jī)學(xué)院公鑰密碼體制的應(yīng)用分為三類:加密/解密(提供保密性)數(shù)字簽名(提供認(rèn)證)密鑰交換(會(huì)話密鑰)一些算法可用于上述三類,而有些只適用用于其中一類或兩類。2021/7/2013西安電子科技大學(xué)計(jì)算機(jī)學(xué)院2021/7/2014西安電子科技大學(xué)計(jì)算機(jī)學(xué)院公鑰密碼體制安全性分析一樣存在窮舉攻擊但所使用的密鑰一般都非常大(>512bits)安全性基于容易(加解密)和困難(破譯)之間巨大的差別許多算法沒有得到證明是安全
6、的。(包括RSA)需要采用一些特別大的數(shù)字與私鑰密碼體制相比,速度慢。2021/7/2015西安電子科技大學(xué)計(jì)算機(jī)學(xué)院§9.2RSA1977由MIT的Rivest,Shamir和Adleman發(fā)明已知的且被廣泛使用的公鑰密碼方案有限域中的乘方運(yùn)算乘方運(yùn)算需要O((logn)3)操作(容易的)使用一些大的整數(shù)(例如.1024bits)安全性基于大數(shù)的素因子分解的困難性素因子分解需要O(elognloglogn)操作(困難的)2021/7/2016西安電子科技大學(xué)計(jì)算機(jī)學(xué)院2021/7/2017西安電子科技大學(xué)計(jì)算機(jī)學(xué)院2021/7/2018西安電子科技大學(xué)計(jì)算機(jī)學(xué)院
7、RSA密鑰的建立每一個(gè)用戶通過以下方法產(chǎn)生一個(gè)公鑰/私鑰對(duì):隨機(jī)地選擇兩個(gè)大的素?cái)?shù)p,q計(jì)算方案中的模數(shù)n=p.q?(n)=(p-1)(q-1)隨機(jī)地選擇一個(gè)加密密鑰e滿足18、一定要比模