密碼學報告講解_第1頁
密碼學報告講解_第2頁
密碼學報告講解_第3頁
密碼學報告講解_第4頁
密碼學報告講解_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

基于RSA的數(shù)字簽名的設計與實現(xiàn)摘要隨著計算機網絡和信息技術的發(fā)展,信息安全在各領域發(fā)揮著越來越重要的作用,其中密碼學已成為信息安全技術的核心,本文主要介紹了信息加密技術的應用。RSA算法是目前公認的在理論和實際應用中最為成熟和完善的一種公鑰密碼體制,它是第一個既能用于數(shù)據加密也能用于數(shù)字簽名的算法,是公鑰密碼體制的代表。數(shù)字簽名是起到身份認證、核準數(shù)據完整性的一種信息安全技術。它通過認證技術來辨認真?zhèn)?。RSA數(shù)字簽名體制使用的是RSA公開密鑰密碼算法進行數(shù)字簽名。本文主要研究的內容包括:第一,對RSA算法進行了全面系統(tǒng)的介紹,包括RSA算法的應用現(xiàn)狀和原理—大素數(shù)的產生、密鑰對的產生、對明文的加密運算和密文的解密運算,為具體實現(xiàn)打下了理論基礎;第二,介紹了RSA數(shù)字簽名的一些基本概念和數(shù)字簽名的理論實現(xiàn)過程;第三,詳述了RSA數(shù)字簽名的設計與實現(xiàn),主要實現(xiàn)的模塊包括RSA密鑰的產生(一對公鑰和私鑰),RSA加密算法和解密算法的實現(xiàn),消息摘要MD的生成以及利用RSA算法實現(xiàn)數(shù)字簽名和簽名的驗證;第四,對該系統(tǒng)進行了整體的測試和分析改進;第五,分析了RSA數(shù)字簽名的安全性,指出了RSA數(shù)字簽名的發(fā)展方向。關鍵字:RSA算法加密解密RSA數(shù)字簽名一、課程設計目的1.1研究背景隨著電子信息技術的迅速發(fā)展,人類已步入信息社會。但是由于整個社會形成了一個巨大的計算機網絡,任何一個計算機網絡出現(xiàn)的安全問題,都會影響整個國家的網絡安全,所以信息安全、計算機網絡安全問題已引起了人類的高度重視。無論是在局域網還是在廣域網中,都存在著自然和人為等諸多因素的脆弱性和潛在威脅。故此,網絡的安全措施應是能全方位地針對各種不同的威脅和脆弱性,這樣才能確保網絡信息的保密性、完整性和可用性。針對網絡安全的威脅主要有三方面:(1)人為的無意失誤;(2)人為的惡意攻擊;(3)網絡軟件的漏洞和“后門”?,F(xiàn)代密碼學已成為信息安全技術的核心,密碼學是以研究通信安全保密的學科,即研究對傳輸信息采用何種秘密的變換以防止第三者對信息的竊取。密碼學包括兩個分支:密碼編碼學和密碼分析學。密碼編碼學主要研究對信息進行交換,以保護信息在信道的傳遞過程中不被他人竊取、解密和利用的方法,而密碼分析學則與密碼編碼學相反,它主要研究如何分析和破譯密碼。兩者之間既相互對立又相互促進。密碼體制的分類有很多,其中一種是根據加密算法和解密算法所使用的密鑰是否相同,可以將密碼體制分為對稱密鑰密碼體制(單鑰密碼體制)和非對稱密鑰密碼體制(公鑰密碼體制),這兩種密碼體制各有自己的長處和短處,因此現(xiàn)在采用了兩種的混合體,如PGP。公鑰密碼體制的特點是:接收方B產生一對密鑰(PK和SK);PK公開,SK保密;從PK推出SK是很困難的;A、B雙方通信時,A通過任何途徑取得B的公鑰,用B的公鑰加密信息,加密后的信息可通過任何不安全信道發(fā)送。B收到密文信息后,用自己私鑰解密恢復出明文。公鑰密碼體制已成為確保信息的安全性的關鍵技術。RSA公鑰密碼體制到目前為止還是一種被認可為安全的體制。RSA公鑰加密算法是第一個既能用于數(shù)據加密也能用于數(shù)字簽名的算法。它易于理解和操作,也十分流行。算法的名字以發(fā)明者的姓氏首字母命名:RonRivest,AdiShamir和LeonardAdleman。雖然自1978年提出以來,RSA的安全性一直未能得到理論上的證明,但它經歷了各種攻擊,至今(2006年)未被完全攻破。隨著越來越多的商業(yè)應用和標準化工作,RSA已經成為最具代表性的公鑰加密技術。VISA、MasterCard、IBM、Microsoft等公司協(xié)力制定的安全電子交易標準(SecureElectronicTransactions,SET)就采用了標準RSA算法,這使得RSA在我們的生活中幾乎無處不在。網上交易加密連接、網上銀行身份驗證、各種信用卡使用的數(shù)字證書、智能移動電話和存儲卡的驗證功能芯片等,大多數(shù)使用RSA技術。1.2研究意義隨著電子商務的發(fā)展,網絡上資金的電子交換日益頻繁,如何防止信息的偽造和欺騙成為非常重要的問題。在計算機通信系統(tǒng)中,維護電子文檔的安全也成為至關重要和非常敏感的問題。為保護信息的安全,數(shù)字簽名應運而生,它是現(xiàn)代密碼學主要研究的內容之一。目前關于數(shù)字簽名的研究主要集中點是基于公鑰密碼體制的數(shù)字簽名。在公鑰密碼體制中,解密和加密密鑰不同,解密和加密可分離,通信雙方無須事先交換密鑰就可建立起保密通信,因此它較好地解決了傳統(tǒng)密碼體制在網絡通信中出現(xiàn)的問題。手寫簽名的每一項業(yè)務都是數(shù)字簽名的潛在用場。數(shù)字簽名可以提供數(shù)據完整性、真實性和不可否認性。因而當需要對某一實體進行認證、傳輸具有有效性的密鑰以及進行密鑰分配時,便可以借助數(shù)字簽名來完成任務。數(shù)字簽名技術在身份識別和認證、數(shù)據完整性、抵賴等方面具有其它技術無法替代的作用,它在軍事、電子商務和電子政務等領域有著極廣泛的應用。而在公鑰體制中,RSA是一個較為完善的公鑰密碼算法,不僅能夠同時用于加密和數(shù)字簽名,而且易于理解和操作,是被廣泛研究的公鑰密碼算法。因此,基于RSA的數(shù)字簽名具有較強的研究性和實際應用意義。二、RSA算法和RSA數(shù)字簽名算法的基本概念和原理2.1RSA算法的基本概念和原理2.1.1RSA算法介紹與應用現(xiàn)狀RSA算法是一種公鑰密碼算法,實現(xiàn)RSA算法包括生成RSA密鑰,加密和解密數(shù)據。RSA算法是第一個能同時用于加密和數(shù)字簽名的算法,也易于理解和操作。RSA是被研究得最廣泛的公鑰算法,從提出到現(xiàn)在已近二十年,經歷了各種攻擊的考驗,逐漸為人們接受,普遍認為是目前最優(yōu)秀的公鑰方案之一。RSA的安全性依賴于大數(shù)的因子分解,但并沒有從理論上證明破譯RSA的難度與大數(shù)分解難度等價。即RSA的重大缺陷是無法從理論上把握它的保密性能如何,而且密碼學界多數(shù)人士傾向于因子分解不是NP-C問題。RSA的缺點主要有:A)產生密鑰很麻煩,受到素數(shù)產生技術的限制,因而難以做到一次一密。B)分組長度太大,為保證安全性,n至少也要600bits。RSA算法的時間復雜性取決于它所設計的幾個基本運算的時間復雜性。密鑰生成過程時間主要是生成隨機素數(shù)的時間及計算公鑰和私鑰的模乘法的時間。生成隨機素數(shù)的時間在于完成對隨機大數(shù)的Fermat測試的時間,F(xiàn)ermat測試的時間復雜度為O((log2n)3),n所測試的整數(shù)。模乘法的計算方法采取先計算兩個數(shù)的乘積,再取模n,時間復雜性為O((log2n)2)。RSA加密解密計算的時間主要是模冪運算的時間,即形式為xcmodn的函數(shù)的運算時間。模冪算法采取平方乘算法,設l是c的長度,則計算xcmodn至多需要2l次模乘法,因為1[log2n]+1,所以模冪運算能在時間O((log2n)3)內完成。因此,RSA的加密和解密均可在多項式時間內完成。RSA公開密鑰加密算法自20世紀70年代提出以來,已經得到了廣泛認可和應用。發(fā)展至今,電子安全領域的各方面已經形成了較為完備的國際規(guī)范。RSA作為最重要的公開密鑰算法,在各領域的應用數(shù)不勝數(shù)。RSA在硬件方面,以技術成熟的IC應用于各種消費類電子產品。RSA在軟件方面的應用,主要集中在Internet上、加密連接、數(shù)字簽名和數(shù)字證書的核心算法廣泛使用RSA。2.1.2RSA算法的實現(xiàn)原理1)隨機選擇兩個不同的素數(shù)p和q,它們的寬度是密鑰寬度的二分之一。2)計算出p和q的乘積n。3)在2和Φ(n)之間隨機選擇一個數(shù)e,e必須和Φ(n)互素,整數(shù)e用做加密密鑰(其中Φ(n)=(p-1)*(q-1))。4)從公式ed≡1modΦ(n)中求出解密密鑰d。5)得公鑰(e,n),私鑰(d,n)。6)公開公鑰,但不公開私鑰。7)將明文P(假設P是一個小于n的整數(shù))加密為密文C,計算方法為:C=P^emodn;8)將密文C解密為明文P,計算方法為:P=C^dmodn;然而只根據n和e(不是p和q)要計算出d是不可能的。因此,任何人都可對明文進行加密,但只有授權用戶(知道d)才可對密文解密。2.2RSA數(shù)字簽名基本概念和RSA數(shù)字簽名算法的實現(xiàn)原理2.2.1RSA數(shù)字簽名基本概念RSA數(shù)字簽名體制使用了RSA公開密鑰密碼算法進行數(shù)字簽名,鑒于RSA算法在實踐中已經被證明了的安全性,RSA數(shù)字簽名體制在許多安全標準中得以廣泛應用。ISO/IEC9796和ANSIX9.30-199X以及美國聯(lián)邦信息處理標準FIPS186-2已經將RSA作為推薦的數(shù)字簽名標準算法之一。RSA數(shù)字簽名算法,包括簽名算法和驗證簽名算法。它是利用的RSA算法的加密和解密算法的原理進行的一種數(shù)字簽名,實際上是通過一個哈希函數(shù)來實現(xiàn)的(本設計是通過的MD5算法)產生消息摘要MD來實現(xiàn)的所需加密的對象。數(shù)字簽名的特點是它代表了消息的特征,消息如果發(fā)生改變,數(shù)字簽名的值也將發(fā)生改變,不同的消息將得到不同的數(shù)字簽名。安全的數(shù)字簽名使接收方可以得到保證:消息確實來自發(fā)送方。因為簽名的私鑰只有發(fā)送方自己保存,他人無法做一樣的數(shù)字簽名,如果第三方冒充發(fā)送方發(fā)出一個消息,而接收方在對數(shù)字簽名進行解密時使用的是發(fā)送方的公開密鑰,只要第三方不知道發(fā)送方的私有密鑰,加密出來的數(shù)字簽名和經過計算的數(shù)字簽名必然是不相同的,這就提供了一個安全的確認發(fā)送方身份的方法,即數(shù)字簽名的真實性得到了保證。數(shù)字簽名通過認證技術來辨認真?zhèn)?。認證技術主要包括數(shù)字簽名認證、身份認證以及公開密鑰證明等。數(shù)字簽名認證機制提供了一種對數(shù)字簽名進行鑒別的方法;身份認證機制提供了辨別和確認通信雙方真實身份的方法;公開密鑰證明機制則對密鑰進行驗證。網絡時代中,人們驗證數(shù)字簽名來確定你正在和誰打交道,驗證你的文件是否已被黑客篡改。數(shù)據的安全性和真實性已成為網絡安全中至關重要的一部分。數(shù)字簽名類似手書簽名,它具有以下的性質:1)能夠驗證簽名產生者的身份,以及產生簽名的日期和時間;2)能用于證實被簽消息內容;3)數(shù)字簽名可由第三方驗證,從而能夠解決通信雙方的爭議。為了實現(xiàn)數(shù)字簽名的以上性質,它就應滿足下列要求:1)簽名是可信的:任何人都可以驗證簽名的有效性;2)簽名是不可偽造的:除了合法的簽名者外,任何人偽造其簽名是困難的;3)簽名是不可復制的:對一個消息的簽名不能通過復制變?yōu)榱硪粋€消息的簽名。如果一個消息的簽名是從別處復制得到的,則任何人都可以發(fā)現(xiàn)消息與簽名之間的不一致性,從而可以拒絕簽名的消息;4)簽名的消息是不可改變的:經簽名的消息不能篡改,一旦簽名的消息被篡改,任何人都可以發(fā)現(xiàn)消息與簽名之間的不一致性;5)簽名是不可抵賴的:簽名者事后不能否認自己的簽名。可以由第三方或仲裁方來確認雙方的信息,以做出仲裁。為了滿足數(shù)字簽名的這些要求,例如,通信雙方在發(fā)送消息時,既要防止接收方或其他第三方偽造,又要防止發(fā)送方因對自己的不利而否認,也就是說,為了保證數(shù)字簽名的真實性。數(shù)字簽名的原理是:(發(fā)送方和接收方根據要求各自產生自己的一對公鑰和私鑰)1)被發(fā)送文件采用某種算法對原始消息進行運算,得到一個固定長度的數(shù)字串,稱為消息摘要(MD),不同的消息得到的消息摘要各異,但是對相同的消息它的消息摘要卻是唯一的;2)發(fā)送方生成消息的消息摘要,用自己的私鑰對摘要進行加密來形成發(fā)送方的數(shù)字簽名;3)這個數(shù)字簽名將作為消息的附件和消息一同用接收方的公鑰進行加密,將加密后的密文一起發(fā)送給接收方;4)接收方首先把接收到的密文用自己的私鑰解密,得到原始消息和數(shù)字簽名,再用發(fā)送方的公鑰解密數(shù)字簽名,隨后用同樣的算法計算出消息摘要;5)如果計算出來的消息摘要和發(fā)送方發(fā)送給他的消息摘要(通過解密數(shù)字簽名得到的)是相同的,這樣接收方就能確認數(shù)字簽名確實是發(fā)送方的,否則就認為收到的消息是偽造的或是中途被篡改的。數(shù)字簽名的原理圖如2-1所示圖2-1數(shù)字簽名的原理簡圖2.2.2RSA數(shù)字簽名算法的實現(xiàn)原理一個數(shù)字簽名由兩部分組成:簽名算法和驗證算法。簽名算法是產生數(shù)字簽名的某種算法,而驗證算法是檢驗一個數(shù)字簽名是否有效(即是否由指定實體生成)的某種算法。例如A能夠使用一個簽名算法sign來為消息m簽名,簽名結果sign(m)隨后能夠使用一個公開的驗證算法ver得到驗證,驗證算法根據簽名是否有效而返回“真”或“假”。數(shù)字簽名的形式化定義:(1)系統(tǒng)初始化系統(tǒng)初始化產生簽名方案的基本參數(shù)(M,S,K,Sign,Ver),其中,M為消息空間,S為簽名空間,K為密鑰空間,包含私鑰和公鑰,Sign為簽名算法的集合,Ver為簽名驗證算法集合。(2)簽名產生過程對每一個k=(k1,k2)∈K,其中k1是公鑰,k2是私鑰,有簽名算法signk2∈Sign,signk2:M→S。對任意的消息m∈M,有s=signk2(m),且s∈S,那么s為消息的簽名,將簽名消息組(m,s)發(fā)送給簽名驗證者。(3)簽名驗證過程對于上述的k1∈K,有相應的簽名驗證算法:verk1:M×S→{TRUE,F(xiàn)ALSE},verk1∈Ver。簽名驗證者受到(m,s)后,計算verk1(m,s),若verk1(m,s)=TRUE,則簽名有效;否則簽名無效。對于每一個k∈K,簽名signk2和簽名驗證函數(shù)verk1是容易計算的。一般情況下,signk2可以公開也可以不公開,并且在簽名算法中要求保證私鑰的安全性;而驗證函數(shù)verk1是公開的,同時還要求對任意的消息m,從集合S中計算s使得verk1(m,s)=True是非常困難的,也就是說,攻擊者對消息m產生有效的簽名s是不可能的。三、RSA數(shù)字簽名的設計與實現(xiàn)3.1RSA數(shù)字簽名的總體設計3.1.1RSA數(shù)字簽名所需實現(xiàn)的功能在本軟件中需要實現(xiàn)的功能有以下幾個:(1)生成RSA密鑰:公鑰ke=(e,n),私鑰kd=(d,n);(2)利用Hash函數(shù)算法計算出消息摘要MD;(3)數(shù)字簽名的實現(xiàn):用私鑰d對消息摘要進行加密計算(RSA算法中的加密方法);(4)驗證數(shù)字簽名:用公鑰e對數(shù)字簽名進行解密計算(RSA算法中的解密方法),得到的解密結果與(2)步計算出的消息摘要比較,如果兩個消息摘要一樣則簽名成功。3.2各部分的設計實現(xiàn)3.2.1密鑰產生的實現(xiàn)在密鑰的產生部分中起決定性作用的是素數(shù)的選擇,

對隨機數(shù)作素性檢測,若通過則為素數(shù);否則增加一個步長后再做素性檢測,直到找出素數(shù)。素性檢測采用Fermat測試。這個算法的理論依據是費爾馬小定理:如果m是一個素數(shù),且a不是m的倍數(shù),那么根據費爾馬小定理有:am-1=1(modm)。實際應用時:am-1=1(modm)am=a(modm)a=am(modm),因此對于整數(shù)m,只需計算am(modm),再將結果與a比較,如果兩者相同,則m為素數(shù)。選取a=2,則a一定不會是任何素數(shù)的倍數(shù)。根據所選的素數(shù)的不同產生不同的密鑰。密鑰的理論產生模塊流程圖如圖3-1所示:產生任意素數(shù)產生任意素數(shù)p和q計算n=p*q計算t=(p-1)(q-1)選擇e作為公鑰計算d作為私鑰圖3-1密鑰產生3.2.2數(shù)字簽名的設計實現(xiàn)數(shù)字簽名的理論實現(xiàn)流程圖如圖3-2所示,數(shù)字簽名,就是通過在數(shù)據單元上附加數(shù)據,或對數(shù)據單元進行加密變換,從而使接收者可以確認數(shù)據來源和完整性。數(shù)字簽名是防止他人對傳輸?shù)奈募M行破壞,以及確定發(fā)信人的身份的手段。數(shù)字簽名中的加密算法就是應用的RSA加密原理,而它的驗證算法則是應用的RSA解密原理。結束開始結束開始得到數(shù)字簽名S得到消息摘要M用私鑰d加密M驗證數(shù)字簽名S圖3-2數(shù)字簽名的實現(xiàn)流程四、課程設計分析4.1RSA數(shù)字簽名的安全性分析對于一個完整的數(shù)字簽名系統(tǒng)而言,安全性是其要求的第一位,RSA體制的安全性決定于RSA公開密鑰密碼算法的安全性,在設計RSA數(shù)字簽名系統(tǒng)時為了保證其安全性,應注意以下幾個問題:1)根據被加密文件的重要程度和加密時間的要求來選擇n的長度。因為RSA的安全性則是依賴于分解大素數(shù)的難度。隨機選擇足夠大且相互之間差別比較大的素數(shù)p和q來提高系統(tǒng)的安全性(目前應在512位以上),解密密鑰d相對模n不應過小。因為若d達到n的1/4大小,且e比n小,則有方法可以恢復d;2)在使用RSA的通信網絡協(xié)議中,不應該使用公共模n,這是因為已經知道了對于一個加密/解密密鑰指數(shù)對,攻擊者就能分解這個模,也就可以不分解n來計算出別的加密/解密對;3)不要讓攻擊者得到原始的解密結果;4)相關的消息不要用相同的密鑰加密;5)在實際運用中不要對一個陌生人提交的隨機消息解密,不對自己一無所知的信息簽名,要先利用一個單向散列函數(shù)對消息進行散列hash(MD5)處理,盡管Hash(MD5)算法是公開的,但是根據hash(MD5)值計算出明文在統(tǒng)計學上是不可能的。因此僅重視RSA的實現(xiàn)是不夠的,實現(xiàn)細節(jié)也很重要??傊?,對一個數(shù)字簽名系統(tǒng)而言,重要的是從整體上研究,而不應局限于系統(tǒng)的一部分。僅有一個安全的算法是不夠的,整個密碼系統(tǒng)必須是安全的。4.2RSA數(shù)字簽名的前景展望基于RSA算法的數(shù)字簽名在2000年的第六屆國際密碼學會議上被推薦為公鑰密碼系統(tǒng)的加密算法中的一種,則RSA數(shù)字簽名有較好的發(fā)展空間。對于未來的加密、生成和驗證數(shù)字簽名的工具還需完善,只有用SSL(安全套接層)建立安全連接的Web瀏覽器,才會頻繁使用數(shù)字簽名,公司要對其員工在網絡上的行為進行規(guī)范,就要建立廣泛協(xié)作機制來支持數(shù)字簽名,支持數(shù)字簽名是Web發(fā)展的目標,確保數(shù)據保密性、數(shù)據完整性和不可否認性才能保證在線商業(yè)的安全交易。和數(shù)字簽名有關的復雜認證能力就像現(xiàn)在操作、應用環(huán)境中的口令保護一樣直接做進操作系統(tǒng)環(huán)境、應用、遠程訪問產品、信息系統(tǒng)等中,像Microsoft支持X.509的InternetExplorer4.0客戶機軟件及支持對象簽名檢查的JAVA虛擬機等。數(shù)字簽名作為一項信息加密和安全傳送技術,越來越得到人們的重視,其中它涉及到的關鍵技術也很多,并且很多新的協(xié)議,如網上交易安全協(xié)議SSL、SET協(xié)議都會涉及到數(shù)字簽名,因此數(shù)字簽名將得到廣泛的應用和人們的首選。但是運用越來越廣泛的網絡安全技術數(shù)字簽名,今后也很可能導致毫無私密可言。五、程序清單及注釋#include<stdio.h>intmod(inta,intb,intc)//進行模運算{ ints=1;b=b+1;while(b!=1) {s=s*a;s=s%c;b--; } returns;}intgcd(intx,inty)//判斷兩個數(shù)是否為素數(shù){intt;while(y) {t=x;x=y;y=t%y; }if(x==1)return0;elsereturn1;}intmain(){intp,q,e,d,n,t,m,i,h,s,c,y,x; printf("基于RSA的數(shù)字簽名方案\n"); printf("1.初始化\n");printf("請輸入兩個素數(shù)p,q:");scanf("%d%d",&p,&q);n=p*q;//計算得到nprintf("計算得n為%3d\n",n);t=(p-1)*(q-1);//歐拉函數(shù)tprintf("計算得t為%3d\n",t);printf("請輸入公鑰e:");scanf("%d",&e);if(e<1||e>t||gcd(e,t))//判斷輸入的隨機數(shù)e是否合格 {printf("e不合要求,請重新輸入:"); scanf("%d",&e); }d=1;while(((e*d)%t)!=1) {d++;}//得到私鑰dprintf("經計算d為%d\n",d); printf("========================================="); printf("====================================\n");printf("初始化完成!\n"); printf("公鑰為(n=%d,e=%d)\n",n,e); printf("私鑰為%d\n",d); printf("========================================="); printf("====================================\n"); printf("2.簽名過程\n"); printf("請輸入帶簽名的消息m:"); scanf("%d",&m); h=m;//哈希函數(shù)得消息的值 s=mod(h,d,n);//模運算得到數(shù)字簽名s c=mod(m,e,n);//模運算得到密文c printf("經計算s為%d\n",s);printf("經計算c為%d\n",c); printf("========================================="); printf("====================================\n");printf("簽名過程完成!\n"); printf("加密后密文為:%d\n",c); printf("數(shù)字簽名為:%d\n",s); printf("========================================="); printf("====================================\n"); printf("3.驗證過程"); printf("請輸入密文c:"); scanf("%d",&c); m=mod(c,d,n); printf("請輸入數(shù)字簽名s:"); scanf("%d",&s); y=mod(s,e,n);//計算s^emodn x=mod(h,1,n);//計算h(m)modnprintf("經計算m為%d\n",m); printf("經計算x為%d\n",x); printf("經計算y為%d\n",y);printf("========================================="); printf("====================================\n"); printf("3.驗證過程完成!\n");printf("解密后原文為:%d\n",m); if(x==y)//驗證過程, { printf("由于x與y相等!\n"); printf("驗證成功,簽名有效!\n"); } else{ printf("由于x與y不相等!\n"); pri

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論