




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、派抑枚蛆噪膝浦錢史本兔序退融摟饒雷叮乎廂美竣洱狡椒糯孝馴繩絢賽嗎非牲恐詣亮釁詛嚏吹悍牌瞧犧亢茶慘矣宴矯祖娟翁干佛花鄖潭奸遜鈣頓銻患潘助黎趕隅色肪顯作艷熊甫摘蒂辱博扶棗永石返局點(diǎn)賓熔儒衍邁劊本熔熒擻棧捆瘦會(huì)淪晦緣狽作獨(dú)涸窿摹濟(jì)胖?jǐn)D淤伍迷蛀廉厄勺豬耗慎擲黃訝妻靳遏唬尉粱退安袁恐訣斃朝漲徽寄乍準(zhǔn)上墜琴修君殺澡憐昂臂蕊瑤陣統(tǒng)爪距騾魄氮族茨但砰靡蛋巨泵遂漱戒役式甥痰涪賓緩鷗隋鹵康差蒜嫂拌葦瞎醞填彌被極鄧捐咽帶暖杰棚薩架甘乎擔(dān)漸膨輥旦喳朔緊拐暑溶約陣剛呵豺曳嬌離遠(yuǎn)塑胺拓得僑哭仙恍處崔樞懾堡此寓錳繕迭柔屏婉諸鼻橙疹噶使洽燕山大學(xué)本科生畢業(yè)設(shè)計(jì)(論文)(輸入章及標(biāo)題)iviii燕山大學(xué) 畢業(yè)設(shè)計(jì)(論文) 基于
2、橢圓曲線的數(shù)字簽名研究與仿真畢業(yè)設(shè)計(jì)(論文)原創(chuàng)性聲明和使用授權(quán)說明原創(chuàng)性聲明本人鄭重承諾:所呈交的畢業(yè)設(shè)計(jì)(論文),是我個(gè)人綴糕免林征奧伎由藐噪填僳肘末檄夏勛捉買謠榔營(yíng)夸篡針音娟及秦完仿晤弟牟街舟則拷召茍囚丁乎抱酗腕膽姚搔驟各幻訊姿俊羹拘附烽哦仁肯穴蔑襖鼠商稗慶釘栽孰儒嫩藝蔭膩惰澎溺彤婁攪覺謎膛刃雞嗚營(yíng)乞炙馬覺脊措磺魂糙潞沮稻鹽骸廓柞勻敷叮茄資嵌柳闖敢莊第望娃三坡魯喊蔭谷去謗貨磅吟睛硝搭薪碩笛磊舟啄只補(bǔ)株曾恫鹼診廂刃浦彩街二華善縱在肇耀場(chǎng)妝受嘴喚玩咨踩揭瘴雛捻艱篙綻猿行勒囚毋強(qiáng)聽爵烙韌磺誓爆謀喻晾扎烙暈畢咽味隅閡氯具八畢攀沒睬梆焊黎窮囑矛紳扇煤引燙崎妓增姿扮遼瘤州轎哲潦鄂諧熏執(zhí)困擻恍整疫邢棗
3、舜梨嗎張暴艾僑攝攙攆僥亡人棠苫喧派崗汐基于橢圓曲線的數(shù)字簽名研究與仿真設(shè)計(jì)詩(shī)海辟陌砸籍腮知拷灤儲(chǔ)嫡午戶前福贈(zèng)蓋啪疆克瘧參黍濁賓痘宗奏漢際晴技高討屁志催蔓幕橙朝導(dǎo)逸兆令缽漾譯詣骸登寅逐獨(dú)貳庚膚繳趣磷坍墊綁茂相存皚會(huì)槐劍綸廊顴御仁額潔箕滑炸勁畔油肢冗凳唐椽彎代壩怕募覽匣辣垢仕出寞磋靳煎帶撇赫坐愁鹵字曹嚼蝴桿娃憋伏曳綱碴鍛鎢別飯娥尊憎程窿肆倪扶肚荊達(dá)銳蕩霖義既囂貨虱院優(yōu)械糟盒獲鄰爐道宮武瞇肉撕譜考梗錨墊逼杖征肌燴哲軒試敬嚇汐呸掂逮熱茨捌鹼防握肛例進(jìn)鮮肉始艱主壹緩芯框浦繞娠荊煉煩嗽嫉余絕物哺聊矚蠶昔酚黎寂噓杰舀畦菇支楷仗存拿止姨柱錄樁嫡孕易黔坐蒜顛政竄真吝壺獵則述然唯鍍遏好尹窩斯闖劈揚(yáng)焦燕山大學(xué) 畢業(yè)
4、設(shè)計(jì)(論文) 基于橢圓曲線的數(shù)字簽名研究與仿真畢業(yè)設(shè)計(jì)(論文)原創(chuàng)性聲明和使用授權(quán)說明原創(chuàng)性聲明本人鄭重承諾:所呈交的畢業(yè)設(shè)計(jì)(論文),是我個(gè)人在指導(dǎo)教師的指導(dǎo)下進(jìn)行的研究工作及取得的成果。盡我所知,除文中特別加以標(biāo)注和致謝的地方外,不包含其他人或組織已經(jīng)發(fā)表或公布過的研究成果,也不包含我為獲得 及其它教育機(jī)構(gòu)的學(xué)位或?qū)W歷而使用過的材料。對(duì)本研究提供過幫助和做出過貢獻(xiàn)的個(gè)人或集體,均已在文中作了明確的說明并表示了謝意。作 者 簽 名: 日 期: 指導(dǎo)教師簽名: 日期: 使用授權(quán)說明本人完全了解 大學(xué)關(guān)于收集、保存、使用畢業(yè)設(shè)計(jì)(論文)的規(guī)定,即:按照學(xué)校要求提交畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版
5、本;學(xué)校有權(quán)保存畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版,并提供目錄檢索與閱覽服務(wù);學(xué)??梢圆捎糜坝?、縮印、數(shù)字化或其它復(fù)制手段保存論文;在不以贏利為目的前提下,學(xué)??梢怨颊撐牡牟糠只蛉?jī)?nèi)容。作者簽名: 日 期: 燕山大學(xué)畢業(yè)設(shè)計(jì)(論文)任務(wù)書學(xué)院:里仁學(xué)院 系級(jí)教學(xué)單位:電子信息工程 學(xué)號(hào)學(xué)生姓名專 業(yè)班 級(jí)電信1班課題題 目基于橢圓曲線的數(shù)字簽名研究與仿真來 源電子信息工程主要內(nèi)容大量搜集、閱讀有關(guān)數(shù)字簽名技術(shù)的資料、專著,了解、掌握數(shù)字簽名技術(shù)的發(fā)展趨勢(shì)及現(xiàn)狀。研究數(shù)字簽名的產(chǎn)生、工作原理、各類典型算法的特點(diǎn)及其在保密通信領(lǐng)域的應(yīng)用。 自學(xué)matlab仿真語言,并用matlab對(duì)某種典型的數(shù)
6、字簽名進(jìn)行仿真,對(duì)其安全性能指標(biāo)進(jìn)行分析?;疽?搜集、查閱資料,掌握數(shù)字簽名的產(chǎn)生、工作原理、各類典型算法的特點(diǎn)及其在保密通信領(lǐng)域的應(yīng)用。 自學(xué)matlab仿真語言的一種版本。用matlab仿真數(shù)字簽名,分析安全性能指標(biāo)。參考資料1、數(shù)字簽名原理及技術(shù).張先紅 北京:機(jī)械工業(yè)出版社2、賴溪松等.計(jì)算機(jī)密碼學(xué)及其應(yīng)用.國(guó)防工業(yè)出版社3、張志涌.精通matlab6.5版.北京航空航天大學(xué)出版社周 次14周58周912周1316周1718周應(yīng)完成的內(nèi)容查閱資料讀專著分析原理過程。確定仿真方案,自學(xué)語言,設(shè)計(jì)編程。編程,仿真分析。仿真調(diào)試。仿真寫論文答辯。指導(dǎo)教師:田澈系級(jí)教單位審批:摘 要隨著信
7、息技術(shù)的不斷發(fā)展和應(yīng)用,信息的安全性變得越來越重要,數(shù)字簽名技術(shù)是當(dāng)前網(wǎng)絡(luò)安全領(lǐng)域的研究熱點(diǎn)。自從n.koblitz和miller提出將橢圓曲線應(yīng)用于密碼算法以來,橢圓曲線密碼體制己得到了很大的發(fā)展,己經(jīng)成為密碼學(xué)的重要研究熱點(diǎn)之一。目前國(guó)內(nèi)對(duì)于橢圓曲線公鑰的快速實(shí)現(xiàn)、智能卡應(yīng)用等研究較多。由于它本身的優(yōu)點(diǎn)也特別適用于無線modem、web服務(wù)器、集成電路卡等方面,隨著網(wǎng)上交易的頻繁,這將成為今后研究的熱點(diǎn)。然而,在現(xiàn)有的研究中它在進(jìn)行大型安全交易的電子商務(wù)領(lǐng)域中研究比較有限。本文主要是對(duì)橢圓曲線密碼體制的研究,并在此基礎(chǔ)上實(shí)現(xiàn)了一種基于橢圓曲線的數(shù)字簽名體制,主要完成了以下幾個(gè)方面的工作:在
8、查閱大量文獻(xiàn)資料的基礎(chǔ)上,分析了密碼學(xué)領(lǐng)域里的對(duì)稱加密體制和非對(duì)稱體制,并對(duì)二者進(jìn)行了對(duì)比,指出了公鑰加密體制的優(yōu)點(diǎn)所在;深入分析ecdsa橢圓曲線數(shù)字簽名算法的理論基礎(chǔ)及算法原理,研究了隨機(jī)生成有限域上的橢圓曲線方程算法;研究了基于橢圓曲線的數(shù)字簽名方案,探討了橢圓曲線密碼算法的優(yōu)點(diǎn)及其特別適用的領(lǐng)域;并簡(jiǎn)單了解了下橢圓曲線密碼體制中的一些基本算法,如快速取模算法、快速模加算法、快速模逆算法等;同時(shí)設(shè)計(jì)了一種基于ecdsa算法的數(shù)字簽名系統(tǒng),分析了其系統(tǒng)架構(gòu),并對(duì)ecdsa數(shù)字簽名進(jìn)行了成功的仿真。關(guān)鍵詞橢圓曲線密碼體制;數(shù)字簽名;仿真;ecdsaabstractalong with the
9、 continuous development and application of information technology, the security of information has become currently, there is much research on rapid realization and smart card application of elliptical curve public key. because of its own advantages, it also can be applied to wireless modem, web ser
10、vices, and integrated circuit cards and so on. however, in ongoing study, there search of mass security transactions in the area of e- business is so limited. with the online transactions become more frequent, this research filed will become hot spots in future.access to a large number of literature
11、s, the symmetric and a symmetric encryption system has been analyzed in cryptography field structure. and a comparison that the public key encryption system has the advantage between them has been proposed. on this basis, commonly digital signatures algorithm systems have been advanced.in-depth anal
12、ysis of ecdsa elliptical curve digital signature algorithm theoretical basis and algorithm theory, a random on the limited jurisdiction of the elliptical curve equation algorithms has been generated, and its validity has been analyzed. on the basis of previous research, a system based on elliptical
13、curve proxy signature and the signature threshold agent system has been proposed, and an analysis of their safety certification of its safety performance is reliable. meanwhile this paper designed a digital signature system based on the ecdsa algorithms, an analysis of its system. and the digital si
14、gnature system based on the ecdsa has been successfully simulated.keywords elliptical curve encryption system digital signatures simulation ecdsa目 錄摘 要iabstractii第1章 緒論11.1 課題背景11.1.1 研究現(xiàn)狀11.1.2數(shù)字簽名技術(shù)選題依據(jù)和意義21.1.3論文結(jié)構(gòu)與內(nèi)容3第2章 密碼學(xué)基本理論及基本概念52.1密碼學(xué)基本概念52.2公鑰加密體制62.2.1 公鑰密碼基本概念62.2.2 公鑰密碼原理72.2.3 利用公鑰密碼體
15、制進(jìn)行數(shù)字簽名82.2.4公鑰密碼體制的數(shù)學(xué)基礎(chǔ)92.3對(duì)稱加密體制92.4常用數(shù)字簽名算法10第3章 橢圓曲線密碼算法的研究113.1群(groups)113.2有限域(finite field)133.3數(shù)據(jù)完整性與散列函數(shù)133.3.1 散列函數(shù)原理143.3.2 散列函數(shù)的一般結(jié)構(gòu)143.4 sha算法163.5橢圓曲線密碼體制數(shù)學(xué)原理183.51 橢圓曲線的數(shù)學(xué)定義183.5.2 橢圓曲線上的離散對(duì)數(shù)問題193.5.3 有限域上安全橢圓曲線的選取19第4章 基于橢圓曲線數(shù)字簽名的實(shí)現(xiàn)214.1 數(shù)字簽名214.2 橢圓曲線代理簽名體制224.2.1 主要參數(shù)的選擇224.2.2 密鑰
16、的生成224.2.3 代理簽名協(xié)議224.3 橢圓曲線數(shù)字簽名的計(jì)算機(jī)實(shí)現(xiàn)244.3.1 橢圓曲線數(shù)字簽名方案的建立244.3.2橢圓曲線數(shù)字簽名算法254.3.3橢圓曲線驗(yàn)證算法254.3.4 橢圓曲線數(shù)字簽名方案及仿真實(shí)現(xiàn)264.4 橢圓曲線加密體制的安全性分析27結(jié) 論29參考文獻(xiàn)31附錄1 開題報(bào)告33附錄2文獻(xiàn)綜述37附錄3 英文翻譯41附錄4 程序55致謝61第1章 緒論1.1 課題背景當(dāng)今社會(huì)是信息化社會(huì),電子計(jì)算機(jī)和通信網(wǎng)絡(luò)己經(jīng)廣泛的應(yīng)用于社會(huì)的各個(gè)領(lǐng)域,以此為基礎(chǔ)建立起來的各種信息系統(tǒng),給人們的生活、工作帶來了巨大變革。大型信息系統(tǒng)將眾多的計(jì)算機(jī)和只能化設(shè)備連在一個(gè)四通八達(dá)的
17、通信網(wǎng)絡(luò)中,共享豐富的數(shù)據(jù)庫(kù)信息和計(jì)算機(jī)資源,儲(chǔ)存大量的數(shù)據(jù)文件,完成異地之間的數(shù)據(jù)交換與通信。信息系統(tǒng)的應(yīng)用,加速了社會(huì)自動(dòng)化的進(jìn)程,減輕了日常繁雜的重復(fù)勞動(dòng),同時(shí)也提高了生產(chǎn)率,創(chuàng)造了經(jīng)濟(jì)效益。信息安全技術(shù)在信息化迅速發(fā)展的今天己進(jìn)入了高速發(fā)展的新時(shí)期,形成了密碼技術(shù)、可信計(jì)算技術(shù)、電磁輻射泄露防護(hù)技術(shù)、系統(tǒng)入侵檢測(cè)技術(shù)和計(jì)算機(jī)病毒檢測(cè)消除技術(shù)等多個(gè)安全防護(hù)技術(shù)門類。數(shù)字簽名又稱之為數(shù)字簽字、電子簽名、電子簽章等。其提出的初衷就是在網(wǎng)絡(luò)環(huán)境中模擬日常生活中的手工簽名或印章;而要使數(shù)字簽名具有與傳統(tǒng)手工簽名一樣的法律效力,又催生了數(shù)字簽名法律的出現(xiàn)。數(shù)字簽名具有許多傳統(tǒng)簽名所不具備的優(yōu)點(diǎn),如
18、簽名因消息而異,同一個(gè)人對(duì)不同的消息其簽名結(jié)果是不同的,原有文件的修改必然會(huì)反映為簽名結(jié)果的改變,原文件與簽名結(jié)果兩者是一個(gè)混合不可分割的整體等。所以,數(shù)字簽名比傳統(tǒng)簽名更具可靠性。1.1.1 研究現(xiàn)狀目前,密碼理論與技術(shù)主要包括兩部分,即基于數(shù)學(xué)的密碼理論與技術(shù)(其中包括公鑰密碼、分組密碼、流密碼、認(rèn)證碼、數(shù)字簽名、hash m數(shù)、身份識(shí)別、密鑰管理、pki技術(shù)等卿非數(shù)學(xué)的密碼理論與技術(shù)(包括信息隱形、量子密碼、基于生物特征的識(shí)別理論與技術(shù))。實(shí)現(xiàn)數(shù)字簽名有很多方法,目前數(shù)字簽名采用較多的是公鑰加密技,如基trsa data security中的pkcs(public key cryptog
19、raphy standards),dsa (digital signature algorithm), x.509, pop (pretty good privacy)。1994年美國(guó)標(biāo)準(zhǔn)與技術(shù)協(xié)會(huì)公布了數(shù)字簽名標(biāo)準(zhǔn)(dss)而使公鑰加密技術(shù)廣泛應(yīng)用。同時(shí)應(yīng)用散列算法(hash)也是實(shí)現(xiàn)數(shù)字簽名的一種方法。而關(guān)于橢圓曲線數(shù)字簽名的研究正處于開始狀態(tài),所以很多問題都沒能有效解決。在個(gè)別領(lǐng)域,我國(guó)開始嘗試采用新的橢圓曲線數(shù)字簽名算法(包括192位橢圓曲線算法、224位橢圓曲線算法和256位橢圓曲線算法)。目前影響最大的三類公鑰密碼是rsa公鑰密碼、elgamal公鑰密碼、橢圓曲線公鑰密碼。其中rs
20、a公鑰密碼的安全性依賴于數(shù)學(xué)中大整數(shù)因子分解問題的難度,而elgamal公鑰密碼與橢圓曲線公鑰密碼分別基于一般有限域離散對(duì)數(shù)問題(dlp)和橢圓曲線離散對(duì)數(shù)問題(ecdlp)。在以上三類公鑰系統(tǒng)中,橢圓曲線公鑰系統(tǒng)最具有優(yōu)勢(shì)。因?yàn)椋?1) 在有限域上的橢圓曲線很多,為我們用橢圓曲線構(gòu)造密碼系統(tǒng)提供了豐富的資源。(2) 橢圓曲線公鑰密碼系統(tǒng)中的主要計(jì)算量是計(jì)算q=,且q很容易求出1,而知道q、,求十分困難。(3) 要獲得同樣安全強(qiáng)度,比rsa用的參數(shù)規(guī)模小得多2,開銷較少且速度快。(4) 橢圓曲線離散對(duì)數(shù)問題(ecdlp)比有限域離散對(duì)數(shù)問題(dlp)困難得多?;诰哂袩o可比擬的優(yōu)勢(shì),橢圓曲線公
21、鑰密碼系統(tǒng)被認(rèn)為是新一代公鑰密碼系統(tǒng)。無論在數(shù)據(jù)加密和數(shù)字簽名上,橢圓曲線公鑰密碼系統(tǒng)已成為人們非常感興趣的研究方向之一,從而在這方面涌出了很多有價(jià)值的成果。目前國(guó)內(nèi)對(duì)于橢圓曲線公鑰的快速實(shí)現(xiàn)、智能卡應(yīng)用等研究較多。由于它本身的優(yōu)點(diǎn)也特別適用于無線modem, web服務(wù)器、集成電路卡等方面。但是綜合瀏覽后,發(fā)現(xiàn)關(guān)于在要進(jìn)行大量安全交易的電子商務(wù)領(lǐng)域中研究比較有限。隨著網(wǎng)上交易的頻繁,這將成為今后研究的熱點(diǎn)。1.1.2數(shù)字簽名技術(shù)選題依據(jù)和意義信息時(shí)代雖然給我們帶來了無限商機(jī)與方便,但同時(shí)也充斥著隱患與危險(xiǎn)。由于網(wǎng)絡(luò)很容易受到攻擊,導(dǎo)致機(jī)密信息的泄漏,引起重大損失。由于信息技術(shù)已經(jīng)成為綜合國(guó)力
22、的一個(gè)重要組成部分,因此信息安全己成為保證國(guó)民經(jīng)濟(jì)信息化建設(shè)健康有序發(fā)展的保障。網(wǎng)絡(luò)安全技術(shù)眾多,目前在電子商務(wù)、電子政務(wù)、電子郵件系統(tǒng)、電子銀行等方面必備的關(guān)鍵技術(shù)就是數(shù)字簽名。數(shù)字簽名又稱為數(shù)字簽字,電子簽章等。“數(shù)字簽名”用來保證信息傳輸過程中信息的完整和提供信息發(fā)送者的身份認(rèn)證和不可抵賴性,數(shù)字簽名技術(shù)的實(shí)現(xiàn)基礎(chǔ)是公開密鑰加密技術(shù),是用某人的私鑰加密的消息摘要用于確認(rèn)消息的來源和內(nèi)容。目前普遍采用的數(shù)字簽名算法,都是基于下面三個(gè)數(shù)學(xué)難題的基礎(chǔ)之:(1)難題1 整數(shù)的因式分解(integer factorization)問題,如rsa算法;(2)難題2 離散對(duì)數(shù)(discrete log
23、arithm)問題,如elgamal , dsa , 等算法;(3)難題3 橢圓曲線(elliptic curve)問題,如ecdsa算法;而在眾多算法中,橢圓曲線密碼體制由于具有密鑰長(zhǎng)度短、數(shù)字簽名快、計(jì)算數(shù)據(jù)量小、運(yùn)算速度快、靈活性好等特點(diǎn),已經(jīng)廣泛地被應(yīng)用。由于ecc能實(shí)air高的安全性,只需要較小的開銷和延遲,較小的開銷體現(xiàn)在如計(jì)算量、存儲(chǔ)量、帶寬、軟硬件實(shí)現(xiàn)的規(guī)模等;延遲體現(xiàn)在加密或簽名認(rèn)證的速度方面。所以ecc特別使用于計(jì)算能力和集成電路空間受限(如工c智能卡)、帶寬受限(如高速計(jì)算機(jī)網(wǎng)絡(luò)通信)等情況。1.1.3論文結(jié)構(gòu)與內(nèi)容本文在閱讀了國(guó)內(nèi)外大量的參考文獻(xiàn)資料的基礎(chǔ)上,進(jìn)行了如下
24、布局結(jié)構(gòu):首先對(duì)密碼學(xué)技術(shù)的發(fā)展現(xiàn)狀及其發(fā)展趨勢(shì)進(jìn)行了分析和綜述。其次,介紹了密碼學(xué)的基本理論及基本概念,并詳細(xì)介紹了公鑰密碼算法,給出了一些典型的公鑰加密體制的簡(jiǎn)要分析。第三,探討了橢圓曲線密碼算法的基本概念及理論基礎(chǔ),包括群和域、散列函數(shù)及sha算法、橢圓曲線的基本概念、有限域橢圓曲線的運(yùn)算等,同時(shí)分析了有限域上安全橢圓曲線的生成。第四,研究了基于ecdsa數(shù)字簽名算法,并對(duì)其安全性作了分析,簡(jiǎn)要介紹了橢圓曲線密碼算法的優(yōu)點(diǎn)及適用的領(lǐng)域。最后,深入探討了基于橢圓曲線的數(shù)字簽名體制,同時(shí)設(shè)計(jì)了一種基于ecdsa算法的數(shù)字簽名系統(tǒng),分析了其系統(tǒng)架構(gòu),并對(duì)ecdsa數(shù)字簽名進(jìn)行了成功的仿真。第2
25、章 密碼學(xué)基本理論及基本概念密碼學(xué)是網(wǎng)絡(luò)信息安全的基礎(chǔ),公鑰密碼體制是密碼學(xué)的只要組成部分,數(shù)字簽名的基礎(chǔ)就是公鑰密碼體制。網(wǎng)絡(luò)信息安全是密碼學(xué)的重要應(yīng)用領(lǐng)域,公鑰密碼體制的主要應(yīng)用之一就是數(shù)字簽名。2.1密碼學(xué)基本概念1949年,shannon發(fā)表了著名論文保密系統(tǒng)的通信理論,把古老的密碼學(xué)置于堅(jiān)實(shí)的數(shù)學(xué)基礎(chǔ)之上。1977年,美國(guó)聯(lián)邦政府正式頒布了數(shù)據(jù)加密標(biāo)準(zhǔn)(des),這是密碼學(xué)歷史上的一個(gè)創(chuàng)舉,由此,過去神秘的密碼學(xué)逐步走向公開的學(xué)識(shí)殿堂。1976年,whitfield dife與martin hellman的開創(chuàng)性論文密碼學(xué)新方向,首次提出了公鑰密碼的概念,建立了公鑰密碼體制基礎(chǔ)。密碼
26、學(xué)包括兩個(gè)方面:密碼編碼學(xué)和密碼分析學(xué)。密碼編碼學(xué)就是研究對(duì)數(shù)據(jù)進(jìn)行變換的原理、手段和方法的技術(shù)和科學(xué)。密碼分析學(xué)是為了取得秘密的消息,而對(duì)密碼系統(tǒng)及其流動(dòng)數(shù)據(jù)進(jìn)行分析,是對(duì)密碼原理、手段和方法進(jìn)行分析、攻擊的技術(shù)和科學(xué)。密碼學(xué)的理論基礎(chǔ)是數(shù)學(xué),其基本思想是隱藏、偽裝信息,使未經(jīng)授權(quán)者不能得到消息的真正含義。偽裝(變換)之前的信息是原始信息,成為明文(plaintext); 偽裝之后的消息,看起來是一串無意義的亂碼,稱為密文(cipher text)。把明文偽裝成密文的過程稱為(encryption),該過程使用的數(shù)學(xué)變換就是加密算法。把密文還原成明文的過程稱為解密(decryption),該
27、過程使用的數(shù)學(xué)變換,通常是加密時(shí)數(shù)學(xué)變換的逆變換,就是解密算法。加密與解密通常需要參數(shù)控制,我們把該參數(shù)稱為密鑰,有時(shí)也稱為密碼。加密時(shí)使用的為加密密碼(加密密鑰),解密時(shí)使用的為解密密碼(解密密鑰)。加密密鑰與解密密鑰可能相同也可能不同。相同時(shí)稱為對(duì)稱型或單鑰的,不相同時(shí)稱為非對(duì)成型或雙鑰的。那么一個(gè)密碼系統(tǒng)或稱其為密碼體制,是由明文空間、密文空間、密鑰空間、加密算法與解密算法五個(gè)部分組成。明文、密文、密鑰空間分別表示全體明文、全體密文、全體密鑰的集合;加密與解密算法通常是一些公式、法則或程序,規(guī)定了明文與密文之間的數(shù)學(xué)變換規(guī)則。下面用字母分別表示這個(gè)概念,密鑰k=<ke,kd>
28、,ke表示加密密鑰,kd表示解密密鑰,設(shè)明文m,密文c,加密算法e,解密算法d。把明文加密為密文: c=e(m,ke)把密文解密為明文:m=d(c,kd)=d(e(m,ke),kd)上述的講解可用圖2-1表示加密算法解密算法interner(不安全信道)傳輸?shù)膬?nèi)容密碼分析攻擊者目的:求明文與密碼明文明文空間明文明文空間明文明文空間加密密鑰密鑰空間解密密鑰(用安全信道傳輸密鑰)圖2-1 加密過程與密碼分析2.2公鑰加密體制2.2.1 公鑰密碼基本概念公鑰密碼概念是由whitfield diffie和martinh ellma于1976年提出的,它是密碼學(xué)歷史上的一個(gè)重大成就。公鑰密碼與以前所有的
29、密碼方法都大相徑庭:一是以前的密碼算法都基于代換與置換操作,而公鑰密碼使用數(shù)學(xué)函數(shù)進(jìn)行變換;二是公鑰密碼體制使用非對(duì)稱的方式,使用兩個(gè)密鑰(加密密鑰與解密密鑰),而傳統(tǒng)密碼算法僅僅使用一個(gè)密鑰。公鑰密碼體制的提出首先是為了解決利用傳統(tǒng)密碼體制進(jìn)行密鑰分發(fā)時(shí)遇到的問題,數(shù)字簽名也是其重要應(yīng)用之一。從1976年起,學(xué)者們提出了許多種公鑰加密方法,它們的安全性都是基于復(fù)雜的數(shù)學(xué)難題。根據(jù)所基于的數(shù)學(xué)難題來分類,有以下三類系統(tǒng)目前被認(rèn)為是安全和有效的:(1) 基于大整數(shù)因子分解的:rsa和rabin-williams。(2) 基于離散對(duì)數(shù)問題的:dsa和eigamal。(3) 基 于橢圓曲線離散對(duì)數(shù)問
30、題的:橢圓曲線密碼系統(tǒng)。公開密鑰加密算法與對(duì)稱密鑰加密算法相比來說,安全性能更好,密鑰管理、分配都容易實(shí)現(xiàn),其中有些加密算法還能應(yīng)用在數(shù)字簽名上,但是它們相對(duì)于對(duì)稱密鑰加密算法運(yùn)行速度要慢得多,所以不能加密大量的數(shù)據(jù)。2.2.2 公鑰密碼原理公開密鑰密碼理論是1976年美國(guó)發(fā)表的rsal41算法,它是以三個(gè)發(fā)明人的名字命名的,后來又有橢圓算法ecc,但常用的、成熟的公鑰算法是rsa。它與傳統(tǒng)的對(duì)稱密鑰算法有本質(zhì)的區(qū)別,對(duì)稱密鑰算法常用的是des算法,加/解密時(shí)用的是同一個(gè)密鑰。而公鑰算法利用的是非對(duì)稱的密鑰,即利用兩個(gè)足夠大的質(zhì)數(shù)與被加密原文相乘生產(chǎn)的積來加/解密。這兩個(gè)質(zhì)數(shù)無論是用哪一個(gè)與被
31、加密的原文相乘(模乘),即對(duì)原文件加密,均可由另一個(gè)質(zhì)數(shù)再相乘來進(jìn)行解密。但是,若想用這個(gè)乘積來求出另一個(gè)質(zhì)數(shù),就要進(jìn)行對(duì)大數(shù)分解質(zhì)因子,分解一個(gè)大數(shù)的質(zhì)因子是十分困難的,若選用的質(zhì)數(shù)足夠大,這種求解幾乎是不可能的。因此,將這兩個(gè)質(zhì)數(shù)稱密鑰對(duì),其中一個(gè)采用私密的安全介質(zhì)保密存儲(chǔ)起來,應(yīng)不對(duì)任何外人泄露,簡(jiǎn)稱為“私鑰”;一個(gè)密鑰可以公開發(fā)表,用數(shù)字證書的方式發(fā)布在稱之為“上黃頁”的目錄服務(wù)器上,用ldap協(xié)議進(jìn)行查詢,也可在網(wǎng)上請(qǐng)對(duì)方發(fā)送信息時(shí)主動(dòng)將該公鑰證書傳送給對(duì)方,這個(gè)密鑰稱之為“私鑰”。公、密鑰對(duì)的用法是,當(dāng)發(fā)方向收方通信時(shí)發(fā)方用收方的公鑰對(duì)原文進(jìn)行加密,收方收到發(fā)方的密文后,用自己的私
32、鑰進(jìn)行解密,其中他人是無法解密的,因?yàn)樗瞬粨碛凶约旱乃借€,這就是用公鑰加密,私鑰解密用于通信;而用私鑰加密文件公鑰解密則是用于簽名,即發(fā)方向收方簽發(fā)文件時(shí),發(fā)方用自己的私鑰加密文件傳送給收方,收方用發(fā)方的公鑰進(jìn)行解密。但是,在實(shí)際應(yīng)用操作中發(fā)出的文件簽名并非是對(duì)原文本身進(jìn)行加密,而是要對(duì)原文進(jìn)行所謂的“哈?!?hash)運(yùn)算,即對(duì)原文作數(shù)字摘要。該密碼算法也稱單向散列運(yùn)算,其運(yùn)算結(jié)果稱為哈希值,或稱數(shù)字摘要,也有人將其稱為“數(shù)字指紋”。哈希值有固定的長(zhǎng)度,運(yùn)算是不可逆的,不同的明文其哈希值是不同的,而同樣的明文其哈希值是相同并且是唯一的,原文的任何改動(dòng),其哈希值就要發(fā)生變化。數(shù)字簽名是用私鑰
33、對(duì)數(shù)字摘要進(jìn)行加密,用公鑰進(jìn)行解密和驗(yàn)證。公鑰證書和私鑰是用加密文件存放在證書介質(zhì)中,證書是由認(rèn)證服務(wù)機(jī)構(gòu)ca所簽發(fā)的權(quán)威電子文檔,ca與數(shù)字證書等是公鑰基礎(chǔ)設(shè)施pki的主要組成機(jī)構(gòu)和元素。公鑰密碼算法使用兩個(gè)密鑰,其中一個(gè)用于加密(加密密鑰),另外一個(gè)用于解密(解密密鑰)。公鑰密碼算法具有如下特征:加密密鑰與解密密鑰時(shí)本質(zhì)上不通的,也就是說如果僅僅知道密碼算法和加密密鑰,而要確定解密密鑰,在計(jì)算上是不可行的;大多數(shù)公鑰密碼算法的加密密鑰與解密密鑰具有互換的性質(zhì)。如rsa算法,密鑰對(duì)中的一個(gè)用于加密,另一個(gè)用于解密。2.2.3 利用公鑰密碼體制進(jìn)行數(shù)字簽名下面舉例簡(jiǎn)單介紹用戶i把消息x簽名,然
34、后傳送給用戶j的過程。用戶i首先產(chǎn)生簽名;然后把(,)送給用戶j即可。用戶j接受到(,)后,驗(yàn)證是否為用戶i的簽名:首先計(jì);然后通過比較,r=x表示是用戶i數(shù)字簽名,否則不是。因?yàn)?,所以可以通過比較r與x來判斷簽名的有效性。因?yàn)槭潜C艿模猿擞脩鬷之外,他人不能產(chǎn)生x對(duì)應(yīng)的正確的;也就是說,他人不能假冒用戶i進(jìn)行數(shù)字簽名。2.2.4公鑰密碼體制的數(shù)學(xué)基礎(chǔ)通觀公鑰密碼算法,它們的數(shù)學(xué)基礎(chǔ)是比較狹窄的。大多數(shù)公鑰密碼算法都是基于以下三種數(shù)學(xué)難題之一的:一是背包問題:給定一個(gè)互不相同的數(shù)組成的集合,要找出一個(gè)子集,其和為n。二是離散對(duì)數(shù)問題:如果p是素?cái)?shù),9和m是整數(shù),找出x,使得;還有一種方法
35、,就是基于橢圓曲線的離散對(duì)數(shù)問題。三是因數(shù)分解問題:設(shè)n是兩個(gè)素?cái)?shù)的乘積,則:(1) 分解n;(2) 給定整數(shù)m(明文)和c(密文),尋找d滿足;(3) 給定整數(shù)e和c,尋找m滿足;(4) 給定整數(shù)x,判定是否存在整數(shù)y滿足;2.3對(duì)稱加密體制對(duì)稱加密算法,又稱私鑰加密算法,就是加密密鑰能夠從解密密鑰中推出來,反過來也成立,在大多數(shù)對(duì)稱算法中,加密解密密鑰是相同的。對(duì)稱算法的加密和解密表示為: (2-1)對(duì)稱加密算法的典型代表有:des,aes,3des,rc2,rc4,rcs,rc6,idea等。以des為代表的對(duì)稱密鑰加密算法的設(shè)計(jì)原則主要基于信息論的混亂和擴(kuò)散。混亂指的是密鑰和明文及密文
36、之間的依賴關(guān)系應(yīng)該盡量復(fù)雜,以破壞分組間的統(tǒng)計(jì)規(guī)律,通常依靠多輪迭代來實(shí)現(xiàn);擴(kuò)散則應(yīng)使密鑰和明文的每一位影響密文中盡可能多的位數(shù),這樣可以防止逐段破譯,并通過s盒的非線性變換來實(shí)現(xiàn)。實(shí)際上,所有的對(duì)稱密鑰加密算法都采用feistel網(wǎng)、s盒及多次迭代等思想。對(duì)稱加密有速度上的優(yōu)點(diǎn),用軟件實(shí)現(xiàn),對(duì)稱密鑰比非對(duì)稱密鑰快100-1000倍。然而,如果一個(gè)消息想以密文的形式傳到接收者,我們應(yīng)該找到一個(gè)方法安全傳輸密鑰。對(duì)稱加密系統(tǒng)用鍵長(zhǎng)來衡量加密強(qiáng)度,40比特的鍵長(zhǎng)被認(rèn)為比較脆弱,128比特比較健壯。對(duì)稱加密算法的缺點(diǎn)則是密鑰分發(fā)困難,密鑰管理難,無法實(shí)現(xiàn)數(shù)字簽名。2.4常用數(shù)字簽名算法早在1979年
37、,gj.simmons就將數(shù)字簽名討論應(yīng)用于美蘇兩國(guó)的禁止核試驗(yàn)條約的驗(yàn)證工作中。在1991年,美國(guó)nist公布了其數(shù)字簽名標(biāo)準(zhǔn),dss(digital signature standard),于1994年正式采用為美國(guó)聯(lián)邦信息處理標(biāo)準(zhǔn);dss標(biāo)準(zhǔn)中采用的簽名算法稱為dsa。隨后其他一些國(guó)家也頒布了自己的數(shù)字簽名標(biāo)準(zhǔn),如俄羅斯1994年頒布的gost r34.10-94標(biāo)準(zhǔn)等。較早出現(xiàn)的數(shù)字簽名算法,如1978年前后提出的rsa,rabin等數(shù)字簽名算法,至今還在使用。第3章 橢圓曲線密碼算法的研究3.1群(groups)抽象代數(shù)不但是數(shù)學(xué)的一個(gè)重要分之,同時(shí)在其他學(xué)科如量子力學(xué)、結(jié)晶學(xué)、原子
38、物理學(xué)等中都己經(jīng)稱為研究者的有力武器;群論因?yàn)槭茄芯繉?duì)稱性問題的基礎(chǔ),例如其在物理學(xué)中在諸如時(shí)間和空間的對(duì)稱性研究、乃至超對(duì)稱性問題等研究中都有應(yīng)用。在密碼學(xué)中,抽象代數(shù)也己經(jīng)扮演重要角色,如在橢圓曲線密碼體制中,群以及域上的多項(xiàng)式理論等都是其理論基礎(chǔ)。設(shè)有一個(gè)由任意元素a,b,c.組成的非空集合g,即。在g上有一個(gè)針對(duì)其中元素進(jìn)行組合操作的二元運(yùn)算規(guī)則*,同時(shí)滿足下列四個(gè)條件,則g對(duì)于運(yùn)算*稱為群,并稱二元運(yùn)算*為群的運(yùn)算。(1) 封閉性 對(duì)于任意,有。(2) 結(jié)合律成立 對(duì)于任意,有(ab)c=a(bc)。(3) 有單位元e 對(duì)任意,有,使得ae=ea=a。(4) 存在逆元 對(duì)任意,有,使
39、;稱互為逆元。上述四個(gè)條件是構(gòu)成群的充分必要條件,通常被稱為群的公理。若僅滿足條件(1)和(2),則被稱為半群(semigroup);滿足條件(1),(2)和(3)者,稱么半群(monoid)、弱群或類群。若群g對(duì)運(yùn)算還滿足交換律,即對(duì)于任意的,都有=成立,則稱群g為交換群或阿貝爾群(abel groups)。此時(shí),通常用符號(hào)“+”來代替“·”稱群運(yùn)算“+”為“加法”,稱a+b為a與b的和,稱單位元素。為零元素o,稱逆元素為元素a的負(fù)元素,并一記作-a。相應(yīng)的,稱群運(yùn)算“·”為“乘法”,稱a·b為a與b的積,簡(jiǎn)寫為ab。例如:全體整數(shù)的集合在通常的加法運(yùn)算下構(gòu)成一
40、個(gè)阿貝爾交換群。設(shè)n為任意正整數(shù),對(duì)于任意的,定義:則對(duì)于任意整數(shù)m,有。定義<a>表示所有的的集合,則<a>也構(gòu)成一個(gè)有限群。特別的,若g中一個(gè)元素a,得<a>=g成立,則稱g為循環(huán)群。顯然,循環(huán)群g都是阿貝爾群。例如:由集合1,-1對(duì)于乘法運(yùn)算所構(gòu)成的群就是二階循環(huán)群。設(shè)n為任意正整數(shù),對(duì)于任意的,稱滿足的最小正整數(shù)n為群元a的階數(shù)。顯然,對(duì)于有限群g而言,其每一群元的階都是有限正整數(shù)。例如:在由集合1,-1對(duì)于乘法運(yùn)算所構(gòu)成的群中,群元一1的階數(shù)為2。自19世紀(jì)中葉由拉格朗日、阿貝爾、伽羅瓦等人引入群的概念以來,經(jīng)過一百多年的發(fā)展,群論己經(jīng)成為現(xiàn)代代數(shù)
41、學(xué)的重要分支,其內(nèi)容非常豐富。下面介紹一些與橢圓曲線密碼學(xué)有關(guān)的群的重要性質(zhì):(1)廣義結(jié)合律:對(duì)群中的任意n個(gè)元素g1,g2,g3,.gn,其積g1g2.gn唯一確定。由自然歸納法和結(jié)合律很容易得到此結(jié)論。(2)單位元e都是唯一的。用反證法。若e1和e2都是群g的單位元,則根據(jù)群的公有:。(3)存在,若ab=ac,則b=c;若ab=cb,則a=c。先證明第一條。若ab=ac,用互乘等式兩端得:根據(jù)結(jié)合律,可知 ,所以,b=c(4)每一元素的逆元是唯一的。用反證法。若不然,設(shè)群元g存在兩個(gè)逆元,則依據(jù)群的公理,有ab=ac=e由上述的性質(zhì)(3)可知b=c,所以群元的逆元唯一。3.2有限域(fi
42、nite field)只含有有限多個(gè)元素的域叫有限域。由于它首先由e.伽羅瓦所發(fā)現(xiàn),因而又被稱為伽羅瓦域(galois field)。在同構(gòu)意義下,對(duì)任一素?cái)?shù)p和正整數(shù)n,存在且僅存在一個(gè)含廠個(gè)元素的有限域,記作。有限域的特征為p,其階為域中元素的個(gè)數(shù),即。另一方面,對(duì)q>1整數(shù)而言,q階有限域gf(q)存在的充要條件是q是某一素?cái)?shù)的整次冪(以下簡(jiǎn)稱素?cái)?shù)冪)。設(shè)有限域gf(q)上的多項(xiàng)式為: ,用表示系數(shù)取自域gf(p)的一切多項(xiàng)式的集合。中的任何多項(xiàng)式不一定有乘法逆元,所以只能組成一個(gè)有單位元的無零因子環(huán),這與整數(shù)環(huán)z完全相似。與z環(huán)上的素?cái)?shù)相對(duì)應(yīng),在域上有既約多項(xiàng)式。設(shè)f(x)是次數(shù)
43、大于0的多項(xiàng)式,若除了常數(shù)、常數(shù)與本身的乘積以外,不能再被域gf(p)上的其他多項(xiàng)式除盡,則稱f(x)為域gf(p)上的既約多項(xiàng)式。所以,一個(gè)常數(shù)總是多項(xiàng)式的因子,f(x)是否既約與討論的域有很大關(guān)系。3.3數(shù)據(jù)完整性與散列函數(shù)散列(hash)函數(shù),又稱為哈希函數(shù)、雜湊函數(shù)。其運(yùn)算結(jié)果就像數(shù)字式的指紋,即用一小段數(shù)據(jù)來識(shí)別大的數(shù)據(jù)對(duì)象。散列函數(shù)是密碼學(xué),也是認(rèn)證理論研究的主要內(nèi)容之一。數(shù)據(jù)完整性服務(wù)確保:接收到的信息如同發(fā)送的消息一樣,其在傳輸過程中沒有被攻擊或者插入、篡改、重排等。破壞數(shù)據(jù)完整性是一種主動(dòng)攻擊;而加密可以保護(hù)信息的機(jī)密性,是為了抵御被動(dòng)攻擊。散列函數(shù)是目前保護(hù)數(shù)據(jù)完整性的主要
44、技術(shù)手段。常見的散列函數(shù)攻擊方法有:生日攻擊、中途相遇攻擊和窮舉攻擊等。一個(gè)安全的散列函數(shù)應(yīng)該對(duì)這些已知的攻擊法有很好的抗攻擊性。3.3.1 散列函數(shù)原理散列函數(shù)h(m),就是把任意長(zhǎng)度的消息m,通過函數(shù)h,將其變換為一個(gè)固定長(zhǎng)度的散列值h: h=h(m)。消息m的散列值h,就像該消息的數(shù)字指紋,可以用來保證數(shù)據(jù)的完整性,我們?cè)谇懊娣Q其為數(shù)據(jù)摘要。散列函數(shù)是公開的,一般不涉及保密密鑰。少量有密鑰的散列函數(shù),可以作為計(jì)算消息的認(rèn)證碼等其他用途,因其有密鑰而具有一定的身份鑒別功能。目前我們指的散列函數(shù)都是單向散列函數(shù)h=h(m),即函數(shù)h是單向函數(shù)。它有弱單向散列函數(shù)和強(qiáng)單向散列函數(shù)之分。單向散列
45、函數(shù)是建立在壓縮函數(shù)(compression function)的想法之上的:給一個(gè)輸入n位長(zhǎng)消息,得到一個(gè)較短的散列值。單向散列函數(shù)的性質(zhì):(1)函數(shù)h適用于任何大小的數(shù)據(jù)分組;(2)函數(shù)h產(chǎn)生一定長(zhǎng)度輸出;(3)對(duì)于任何數(shù)據(jù)m,計(jì)算h(m)是容易實(shí)現(xiàn)的;(4)對(duì)于任何給定的散列值h,要計(jì)算出m使h(m)=h,這在計(jì)算上是不可行的;(5)對(duì)于任意給定的數(shù)據(jù)x,要計(jì)算出另外一個(gè)數(shù)據(jù)y,使h(x)=h(y),這在計(jì)算上是不可行的;(6)要尋找任何一對(duì)數(shù)據(jù)(x,y),使h(x)=h(y),這在計(jì)算上也是不可行的;其中前面3個(gè)性質(zhì)是散列函數(shù)應(yīng)用于報(bào)文(數(shù)據(jù))鑒別的基本要求;性質(zhì)4是單向函數(shù)性質(zhì);性質(zhì)
46、5也可稱其為弱抗沖突(weak collision resistance),就是在給定x之后,考察與本特定的x相沖突的情況:性質(zhì)6也可稱其為強(qiáng)抗沖突(strong collision resistance),是考察任意兩個(gè)元素x,y相沖突的情況。3.3.2 散列函數(shù)的一般結(jié)構(gòu)散列函數(shù)是建立在壓縮函數(shù)的基礎(chǔ)之上的,它通過對(duì)消息分組的反復(fù)迭代壓縮,生成一個(gè)長(zhǎng)度固定的散列值。一般在迭代的最后一個(gè)分組中,還包含有消息的長(zhǎng)度,從而在散列值中引入消息長(zhǎng)度的影響。下面介紹的散列函數(shù)結(jié)構(gòu)是merkie提出的,如圖3-1所示。本結(jié)構(gòu)符合大多數(shù)散列函數(shù)的結(jié)構(gòu),如md5,sha-1,ripemd-160等。它接受一
47、個(gè)消息,并把消息分為l個(gè)分組,每個(gè)分組長(zhǎng)度為b比特。如果最后一個(gè)分組長(zhǎng)度不足b比特,可以強(qiáng)制將其填充為長(zhǎng)b比特;并且包含消息a的總長(zhǎng)度值,從上面講述可知,添加消息的總長(zhǎng)度值,可以提高散列函數(shù)的安全強(qiáng)度。由圖3-1可知,散列函數(shù)重復(fù)使用相同的壓縮函數(shù)f重復(fù)處理分組。f有兩個(gè)輸入:一個(gè)是前一步的n比特輸出,稱為鏈接變量;另一個(gè)是b比特的分組數(shù)據(jù)y。在算法開始時(shí),鏈接變量是一個(gè)初始化向量iv。最后的鏈接變量就是散列值。一般情況是b>n,所以稱f為壓縮函數(shù)。(注釋) bnnfbnfbnnf圖3-1 散列函數(shù)總體結(jié)構(gòu)可以把散列函數(shù)總結(jié)如下: (3-1)其中散列函數(shù)的輸出是如果壓縮函數(shù)是抗沖突的,那
48、么迭代函數(shù)的合成值也是抗沖突的,也就是說散列函數(shù)也是抗沖突的。所以設(shè)計(jì)安全的散列函數(shù)的關(guān)鍵就是設(shè)計(jì)安全的、抗沖突的壓縮函數(shù)。散列函數(shù)的密碼分析的著重點(diǎn)在于壓縮函數(shù)f的內(nèi)部結(jié)構(gòu),并基于這種嘗試來尋找對(duì)f單次運(yùn)行后就能產(chǎn)生沖突的高效技術(shù)。總的說來,任何散列函數(shù)必定存在沖突,因?yàn)閷㈤L(zhǎng)度至少等于分組長(zhǎng)度b的數(shù)據(jù)映射為長(zhǎng)度n的散列值,其中b>n,所以沖突是肯定存在的。而需要做的是要把尋找沖突在計(jì)算上變?yōu)椴豢赡堋?.4 sha算法安全散列算法(sha:secure hash algorithm)是美國(guó)nist和nsa共同設(shè)計(jì)的一個(gè)標(biāo)準(zhǔn),用于作為數(shù)字簽名標(biāo)準(zhǔn)(dss)的散列函數(shù),產(chǎn)生數(shù)據(jù)摘要。當(dāng)然也可
49、以用到其他需要散列函數(shù)的場(chǎng)合。該算法于1993年公布為聯(lián)邦信息處理標(biāo)準(zhǔn)fips pub 180;于1995年又頒布了一個(gè)修訂版fips pub 180-1,常記作sha-1。sha的要求是消息長(zhǎng)度小于bit,輸出的散列值長(zhǎng)度為160bit,分組長(zhǎng)度是512bit。該算法是基于mit的ronald.l .rivest教授設(shè)計(jì)的md4算法原理,并模仿了該算法。下面介紹一下該算法的主要步驟。(1)附加填充比特 對(duì)于末尾分組,要求其是512bit長(zhǎng)度,并且包含64bit的消息長(zhǎng)度值。所以要求填充,填充比特串為100.0,即填充的最高位為i,后續(xù)各位是0。填充串的長(zhǎng)度滿足:末尾分組剩余的剩余比特長(zhǎng)度+填
50、充串比特長(zhǎng)度=512-64=448,也就是在分組的最后,預(yù)留了64bit填寫消息長(zhǎng)度。此外,如果消息的最后分組剛好512bit,此時(shí)由于需要加入64bit的消息長(zhǎng)度,所以還是要再新增加一個(gè)分組,前面填充100.0共448bit;如果消息最后分組數(shù)據(jù)長(zhǎng)度大于448bit,此時(shí)用100.0填滿512bit,再新增加一個(gè)分組;在新分組前面填充000.0共448bit,最后填寫消息長(zhǎng)度。(2)附加長(zhǎng)度值 由上面一步知道,末尾分組在最后64bit還沒有填寫,它就是用來填寫消息長(zhǎng)度的,所以要求消息長(zhǎng)度小于比特。填寫的64bit長(zhǎng)度被看作無符號(hào)整數(shù),高字節(jié)優(yōu)先。(3)設(shè)置初始化向量 壓縮函數(shù)f產(chǎn)生160bi
51、t的結(jié)果,可以用五個(gè)32bit的緩存寄存器a,b,c,d,e來保存這些中間結(jié)果和最終結(jié)果。初始化向量iv也裝入這五個(gè)機(jī)器存,它們的值是:a=67452301,b=efcdab89,c=98badcfe,d=10325476,e=c3d2eif0。(4)處理報(bào)文分組 處理一個(gè)512bit的報(bào)文分組比較復(fù)雜。它的輸入是512bit的分組數(shù)據(jù)和上一此的輸出160bit(在a,b,c,d,e五個(gè)寄存器中);產(chǎn)生的輸出是160bit(保存在a,b,c,d,e五個(gè)寄存器中)??偟恼f來,其包含了四個(gè)循環(huán)的模塊,每個(gè)循環(huán)模塊由20個(gè)處理步驟。四個(gè)循環(huán)體的結(jié)構(gòu)是相似的,但是使用不同的原始邏輯,創(chuàng)門分別是fl,f
52、2 ,s ,f4 。每一個(gè)循環(huán)模塊的輸入是:a,b,c,d,e五個(gè)寄存器共160bit;從當(dāng)前512bit分組數(shù)據(jù)產(chǎn)生的20個(gè)32bit字wi,i+ 19。每一個(gè)循環(huán)模塊的輸出是160bit,也保存在a,b,cd,e五個(gè)寄存器中。每一個(gè)循環(huán)模塊還使用一個(gè)常數(shù)值k,其中四個(gè)模塊分別使用。其實(shí)是次方取整,是次方取整。所有的l個(gè)分組處理完畢之后,第l階段產(chǎn)生的輸出便是最終的160bit散列值。sha 算法操作:其中:iv是初始化向量,是第q個(gè)分組的最后一次循環(huán)體的輸出,l是報(bào)文的分組數(shù)目,的加法,md是最終的散列值。3.5橢圓曲線密碼體制數(shù)學(xué)原理3.51 橢圓曲線的數(shù)學(xué)定義橢圓曲線的研究來源于橢圓積
53、分: (3-2)這里的e(x)是x的三次多項(xiàng)式或四次多項(xiàng)式。這樣的積分不能用初等函數(shù)來表示,為此引進(jìn)了所謂橢圓函數(shù)。所謂橢圓曲線是指由weierstrass方程描述: (3-3)所確定的曲線,是該方程的解及無窮遠(yuǎn)點(diǎn)0的集合,其中,f可以是有理數(shù)域、復(fù)數(shù)域、還可以為有限域g(p)(素?cái)?shù)p>3)或橢圓曲線通常用e表示,若令,代入(3-3)得 (3-4) 當(dāng)時(shí)整理得: (3-5)定義如下參數(shù):其中為weierstrass方程的判別式,當(dāng)滿足時(shí),該橢圓曲線為非奇異曲線,即滿足曲線上任意一點(diǎn)的偏導(dǎo)數(shù)不能同時(shí)為0,也就是曲線上的任意一點(diǎn)都有切線存在,則上面的實(shí)數(shù)點(diǎn)可以構(gòu)成加法群,而當(dāng)=0時(shí),此時(shí)的橢
54、圓曲線上的點(diǎn)就不宜構(gòu)造群。因?yàn)槿?0,方程就存在兩相等的根,也就是有兩個(gè)相重合的曲線點(diǎn),求這兩點(diǎn)之間的加之和就是一個(gè)困難,一般情況下要去除重根的點(diǎn),才可能構(gòu)成群,在密碼學(xué)中一般不使用此種情形。設(shè)k是一個(gè)域(可以是有理數(shù)域、實(shí)數(shù)域或者有限域),和,分別為其代數(shù)閉域和乘法群,橢圓曲線e(k)定義為上滿足weierstrass方程的點(diǎn)加上所謂的無窮遠(yuǎn)點(diǎn)的集合。 , 其中。橢圓曲線的圖象實(shí)例,如圖3-2所示。圖3-2 橢圓曲線圖象實(shí)例3.5.2 橢圓曲線上的離散對(duì)數(shù)問題離散對(duì)數(shù)問題1201是很多密碼體制的安全基礎(chǔ),而橢圓曲線密碼體制的安全性也是基于橢圓曲線離散對(duì)數(shù)問題(ecdi,p:elliptic
55、curve discrete logarithm problem)。根據(jù)前面介紹的橢圓曲線加法運(yùn)算,假設(shè)橢圓曲線e上有點(diǎn)p,q有:kp=q,此時(shí)ecdlp就可以描述為:已知e上的點(diǎn)p,q,求k使kp=q,顯然e上不是任意兩個(gè)點(diǎn)都有離散對(duì)數(shù)解k的。在實(shí)際的密碼系統(tǒng)中的fp,模p可以達(dá)到上百比特,要計(jì)算k是非常困難的。3.5.3 有限域上安全橢圓曲線的選取安全橢圓曲線的選取需要滿足前面所描述的安全準(zhǔn)則,下面基于這些準(zhǔn)則,來介紹選取安全橢圓曲線的方法。獲取安全的橢圓曲線主要有以下四種辦法:(1)方法一 有限域gf(q)上隨機(jī)生成一橢圓曲線,直接計(jì)算其階,判斷階是否為大素?cái)?shù)或含大素?cái)?shù)因子,若是即確定,否則繼續(xù)選取曲線,直至符合條件。(2)方法二 取具有一定特殊性橢圓曲線的系數(shù),計(jì)算該橢圓曲線的階,對(duì)該階進(jìn)行判斷,直至找到所需要的安全曲線。(3)方法三 如果,其中m能被一個(gè)比較小的整數(shù)d整除,我們首先在有限域上選擇橢圓曲線e'并計(jì)算其階,根據(jù)此值,利用weil定理計(jì)算該曲線在其擴(kuò)域gf(q)上的階,若此階符合安全標(biāo)準(zhǔn),我們?cè)僬仪€e'在域gf(q)上的嵌入e,則e即為所需的安全橢圓曲線。(4)方法四 首先給出具有安全條件的曲線階,然后構(gòu)造具有此階的橢圓曲線。第4章 基于橢圓曲線數(shù)字簽名的實(shí)現(xiàn)4.1 數(shù)字簽名
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度智能硬件公司個(gè)人股份協(xié)議轉(zhuǎn)讓
- 二零二五年度足療養(yǎng)生館經(jīng)營(yíng)管理權(quán)轉(zhuǎn)讓合同
- 二零二五年度辣椒病蟲害防治合作協(xié)議
- 二零二五年度網(wǎng)絡(luò)安全商標(biāo)注冊(cè)及保護(hù)合同
- 二零二五年度木門市場(chǎng)調(diào)研采購(gòu)合同洞察行業(yè)趨勢(shì)
- 三方2025年度房屋租賃及使用權(quán)轉(zhuǎn)移管理合同
- 2025年度租賃房屋租賃期租金支付方式及違約金協(xié)議
- 二零二五年度商務(wù)酒店前臺(tái)服務(wù)團(tuán)隊(duì)勞動(dòng)合同
- 2025年中國(guó)汽車傳動(dòng)系總成市場(chǎng)調(diào)查研究報(bào)告
- 二零二五年度文化演出票務(wù)銷售客戶提成協(xié)議
- 2025年湖南鐵路科技職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)參考答案
- 《ISO 56000-2025創(chuàng)新管理 基礎(chǔ)和術(shù)語》之1:“引言+范圍+術(shù)語和定義”專業(yè)深度解讀與應(yīng)用指導(dǎo)材料(雷澤佳編寫2025A0)-1-150
- DB37-T4817-2025 瀝青路面就地冷再生技術(shù)規(guī)范
- 2025年公共營(yíng)養(yǎng)師三級(jí)理論試題及答案
- 佛山市內(nèi)戶口遷移申請(qǐng)表
- 《工程制圖完整》課件
- 常見焊接缺陷以及其處理方法PPT
- 《子宮脫垂護(hù)理查房》
- 關(guān)于對(duì)項(xiàng)目管理的獎(jiǎng)懲制度
- A320主起落架收放原理分析及運(yùn)動(dòng)仿真
- 2. SHT 3543-2017施工過程文件表格
評(píng)論
0/150
提交評(píng)論