freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)字簽名算法及實現(xiàn)-資料下載頁

2025-11-24 21:53本頁面
  

【正文】 要求使用隨機數(shù),同時使用的隨機數(shù) k不能泄露,不然攻擊者還是有可能求解出用戶的私鑰參數(shù) x。 DSA數(shù) 字簽名算法 19 Digital Signature Algorithm(DSA)是 Schnorr 和 ElGamal簽名算法的變種,被美國 NIST 作為 DSS( Digital Signature Standard) 數(shù)字簽名標準。 DSS是由美國國家標準化研究院和國家安全局共同開發(fā)的。 DSA它的安全性是基于離散對數(shù)問題的。 1. DSA算法 構(gòu)造參數(shù): 其中 p, q, g 作為全局參數(shù),共所有用戶共同使用; x 是簽名者的私鑰; y 是簽名者的公鑰。對消息 M的簽名結(jié)果是兩個數(shù) ),( rs 。每一次簽名都使 用了隨機數(shù) k,要求每次使用的 k都不同。 簽名過程 對消息 M 的簽名過程可以用如下步驟表示: ( 1)生成隨機數(shù) k, 。0 qk?? ( 2)計算 r: 。m o d)m o d( qpgr k? ( 3)算 s: ,m o d)))((( 1 qxrMHks ?? ? 到此,消息 M 的簽字結(jié)果就是 ),( rs ; ( 4)發(fā)送消息和簽名結(jié)果 ),( srM 。 認證過程 接收者在收到 ),( srM 之后,按照如下步 驟驗證簽名的有效性。 ( 1)取得發(fā)送者的公鑰 y; ( 2)計算 w: qsw mod1?? ; ( 3)計算 1u : 1u 。m od))((( qwMH? ( 4)計算 2u : 2u qrw mod)(? ; ( 5)計算 v: qpygv uu m o d)m o d)(( 21? ; ( 6)比較 r, v,如果 r=v,表示簽名有效;否則簽名無效。 接收方計算 v值來與收到的 r 比較,以確定簽名的有效性。 v 是發(fā)送者的公鑰,消息的散列值,全局參數(shù)和接收到 s 的函數(shù)。 2. DSA的安全性 DSA 簽名算法處理自己的 — 些重要信息時,我們建議采用的密鑰長度為 1024 位,的 k;而不是 512 位。雖然當(dāng)前 512 位密鑰是安全的,但是隨著計算機處理速度的提高,還是應(yīng)該著眼于把秘密保留得更長久 — 點。 ( 1)隨機數(shù)產(chǎn) 生器與攻擊隨機數(shù) 下面談 — 下攻擊隨機數(shù) k。簡單地講,如果攻擊者獲知了簽名時使用的 k,那么它可以計算出簽名者的私鑰參數(shù) x;如果攻擊者 獲得了兩個簽名消息,而這兩個簽名消息使用的相同的 k,即使攻擊者不知道確切的 k 值,他還是可以計算出簽名者的私鑰參數(shù) x;如果你的隨機數(shù)產(chǎn)生器具有較大的缺點,攻擊者可以通過你的隨機數(shù)產(chǎn)生器的某些特征,而恢復(fù)出你所使用的隨機數(shù) k,所以在 DSA簽名算法的實現(xiàn)中,設(shè)計一個好的隨機數(shù)產(chǎn)生器也是非常重要的。 20 ( 2) 全局參數(shù) ( 共享模數(shù) ) 的危險 在 DSS 公布之初,人們反對其使用共享模數(shù) p, q。確實,如果共享模數(shù) p, q 的分析,對破解私鑰參 x有所益的話,那將是對攻擊者的莫大幫助。但是,經(jīng)過密碼學(xué)界多年來的研究,還沒有其有明顯漏洞的 報道。 ( 3) DSA中的潛信道 DSA算法的潛信道最早有 Simmons 發(fā)現(xiàn)的,它可以在簽名 (r, x)中可以傳遞額外的少量信息。該潛信道是否是 DSA 預(yù)先設(shè)下的,還是一種巧合,我們無法考證。當(dāng)然如果是使用到重要場所,就不要采用非信任團體實現(xiàn)的 DSA簽名系統(tǒng)。 隨著計算機網(wǎng)絡(luò)的迅速發(fā)展,相互之間進行通信的用戶數(shù)量的增多, RSA 與 ELGamal 公鑰密碼體制的公鑰位數(shù)較大(一般為 512 比特以上)的弱點逐漸暴露出來。 1985 年 Koblitz 和 Miller 分別獨立地提出利用橢圓曲線上離散 對數(shù)代替有限域上離散對數(shù),可以 構(gòu)造 公鑰位數(shù)較小的 ELGamal類公鑰密碼。 ECDSA的簽名算法 簽名的時候,自然有待簽署的消息 m;全局參數(shù) ),,( hnGbaFRqD ? 還有簽名者的公鑰私鑰對 ),( dQ 。 簽名的步驟描述如下: (1)選擇一個隨機數(shù) k, ? ?1,1 ?? nk ; (2)計算 )。,( 11 yxkG? (3)計算 ,0。m o d1 ?? rnxr 如果 則回到步驟( 1); (4)計算 。mod1 nk? (5)計算 )。(1 mSHAe? (6)計算 ,0,m o d)(1 ??? ? sndreks 如果則回到步驟( 1); (7)對消息的簽名為 ),( sr 。 最后簽名者就可以把消息 m 和簽名 ),( sr 發(fā)送給接收者。 ECDSA的認證算法 當(dāng)接收者收到消息 m 和簽名 ),( sr 之后,驗證對消息簽名的有效性,需要取得這些參數(shù);全局參數(shù) ),,( hnGbaFRqD ? 發(fā)送者的公鑰 Q。我們建議接收者利用前面的合法性檢查算法,也對參數(shù) D 和 Q 的合法性進行檢測。 認證算法可以描述如下: (1)檢查 r, s,要求 ? ?1,1, ?? nsr ; 21 (2)計算 )。(1 mSHAe? (3)計算 nsw mod1?? ; (4)計算 nrwunewu m o d。m o d 21 ?? ; (5)計算 QuGuX 21 ?? ; (6)如果 。m o d),(,0 11,1 nxvyxXX ??? 計算表示簽名無發(fā)效;否則 (7)如果 ,rv? 表示簽名有效;否則表示簽名無效。 可以說, ECDSA算法就是在橢圓曲線上實現(xiàn)了 DSA算法。 橢圓曲線密碼體制( ECC: Elliptic Curve Cryptosytem)的研究歷史較短,但是由其 優(yōu)點突出,已經(jīng)得到了密碼學(xué)界的重視并廣泛應(yīng)用。其是目前己知的所有公鑰密碼體制中能 夠提供最高比特強度 (strengthperbit)的 — 種公鑰密碼體制。 我們將橢圓曲線加密算法很多技術(shù)優(yōu)點: (1 )安全性能更高 橢圓曲 線加密算法有著;加密算法的安全性能一般通過該算法的抗攻擊強度來反映。 ECC 和其他另外幾種公鑰系統(tǒng)相比,其抗攻擊性具有絕對的優(yōu)勢。橢圓曲線的離散對數(shù)問題 (ECDLP)計算困難在計算復(fù)雜度目前完全是指數(shù)級的,而 RSA是亞指數(shù)級的。這體現(xiàn)為 ECC比 DSA每 bit安全性能更高。 (2) 計算量小和處理速度快 在相同的計算資源條件下,雖然在 RSA 中可以通過選取較小的公鑰 (可以小到 3)的方法提高公鑰處理速度,即提高加密和簽名驗證的速度,使其在加密和簽名驗證速度上與 ECC有可比性。但在私鑰的處理速度上 (解密和簽名 ), ECC遠比 RSA, DSA快得多,因此 ECC總的速度比 RSA, DSA 要快得多。同時 ECC 系統(tǒng)的密鑰生成速度比 RSA快百倍以上。因此在相同條件下, ECC則有更高的加密性能: (3) 存儲空間占用小 ECC的密鑰尺寸利系統(tǒng)參數(shù)與 DSA, RSA相比要小得多。 160位 ECC與 1024值 RSA、 DSA具有相同的安全強度, 210位 ECC則與 2048位 RSA、 DSA具有相同的安全強度。意味 薦它所占的存儲空間要小得多。這對于加密算法在資源受限環(huán)境上 (如智能卡等 )的應(yīng)用具 有特別重要的意義。 (4 )帶寬要求低 當(dāng) 對長消息進行加解密時, ECC、 RSA、 DSA 三類密碼系統(tǒng)有相同的帶寬要求,但應(yīng)用于短消息時 ECC帶寬要求卻低得多。而公鑰加密系統(tǒng)多用于短消息,例如用于數(shù)字簽名和用于 對對稱密碼系統(tǒng)的會話密鑰加密傳遞,帶寬要求低使 ECC在無線網(wǎng)絡(luò)領(lǐng)域具有更加廣泛的應(yīng)用前景。 22 數(shù)字簽名的一般的工作流程 數(shù)字簽名的使用通常包括如下這些過程,這些過程是由數(shù)字簽署消息的簽名者或接收者完成的: ; (例如,以電子郵件消息的形式); 希算法來準備“消息摘要”,數(shù)字簽名的創(chuàng)建使用了哈希結(jié)果,這個哈希結(jié)果從所簽署的消息和給定的私鑰中派生而來,并且對于它們而言是惟一的。為了保證哈希結(jié)果的安全必須存在著極?。珊雎裕┑目赡苄?,即通過任何其他消息或私鑰的組合可以創(chuàng)建相同的數(shù)字簽名; ,私鑰使用一種數(shù)學(xué)算法應(yīng)用到消息摘要文本中,數(shù)字簽名包含了被加密的消息摘要; ,發(fā)送者把自己的數(shù)字簽名粘貼或添加到消息中; (未加密過或加密過)消息以電子方式發(fā)送給接收者; 驗發(fā)送者的數(shù)字簽名。使用發(fā)送者的公鑰進行的檢驗證明了該消息專門來自于發(fā)送者; ,接收者也為該消息創(chuàng)建了“消息摘要”; 。如果它們相同,則接收者就知道在簽署消息之后就沒有更改過。即使當(dāng)消息中的一位數(shù)據(jù)在簽署消息之后進行了改動,接收者所創(chuàng)建的消息摘要就會與發(fā)送者所創(chuàng)建的消息摘要不同; (或者通過消息的原創(chuàng)者),這就確認了發(fā)送者消息上的數(shù)字簽名。通常情況下,認證權(quán)威機構(gòu)是可信的第三方,它管理了數(shù)字簽名系統(tǒng)中的證書。該證書中包 含了公鑰和發(fā)送者的名字(以及其他可能的信息),這個證書是由認證權(quán)威機構(gòu)以數(shù)字方式進行簽名的。 數(shù)字簽名中的問題 上面數(shù)字簽名的方法是相當(dāng)簡單和理想化的,具體應(yīng)用中還是有一些問題需要解決的。 。如果簽字后的文件是一張支票,接收方很容易多次用該電子支票兌換現(xiàn)金,為此發(fā)送方需要在文件中加上一些該支票的特有的憑證,如時間戳(但時間戳?xí)幸粋€時間是否同步的問題)等,以防止上述情況發(fā)生。 RSA算法是基于大數(shù)的因子分解難題,由于計算水平的提高,人們逐漸可以 用計算機分解更大的數(shù)。因此 RSA 算法的密鑰也就越來越長,人們在使用 PGP 時至少要選擇700 比特以上的密鑰。在電子商務(wù)的 SET 協(xié)議中,規(guī)定用戶使用 1024 比特的 RSA密鑰,認證中心CA 使用 2048 比特的 RSA 密鑰。長密鑰帶來兩個問題,一是運算速度較慢,另一個是密鑰存儲和23 管理問題。如果用 16 位的 IC 卡實現(xiàn)電子錢包,使用 1024 比特的 RSA 算法速度就很慢,要以秒計算。而固化 RSA算法的 IC 卡或 32 位的 IC 卡價格則較貴。 ,不易用于長文件的加密,為此我們采用 Hash 函數(shù),將原文件M 通過一 個單向( oneway)的 Hash 函數(shù)作用,生成相當(dāng)短的(僅幾十或幾百 bits)的輸出 H,即Hash ( M ) =H,這里由 M可以很快生成 H,但由于 H 幾乎不可能生成 P,然后再將公鑰算法作用在H 上生成“簽字”,記為 Ak kSHEA ,)( ?為 A的公鑰, A將 (M, S)傳給 B, B 收到 (M, S)后,需要驗證S 是 A的簽字。 若我們有 )()(, MH a shSDHHBKBA ?? 即,我們才能認為S就是A的簽字。 ash 簽名使用一個密鑰K,讓知道此密鑰K的人才能使用H ash 函數(shù),即用 H (M,K)代替 H(M),則可以增加 Hash 函數(shù)的安全性。 以上方法實際上就是把簽字過程從原文件轉(zhuǎn)移到一個很短的H ash 值上,大大地提高效率,可以在現(xiàn)代的電子商務(wù)中被廣泛的使用。 數(shù)字簽名的前景與擔(dān)憂 數(shù)字簽名作為一項信息加密和安全傳送技術(shù),越來越得到人們的重視,其中它涉及到的關(guān)鍵技術(shù)也很多,并且很多新的協(xié)議,如網(wǎng)上交易安全協(xié)議 SSL, SET 協(xié)議都會涉及到數(shù)字簽名,究竟使用哪種算法,哪種 Hash 函數(shù),以及數(shù)字簽名管理、在通信實體與可能有的第三方之間使用協(xié)議等等問題都可以作為新的課題。 同時,數(shù)字簽名也 給人們 帶來 了 擔(dān)憂,運用越來越廣泛的網(wǎng)絡(luò)安全技術(shù)數(shù)字簽名,今后很可能導(dǎo)致毫無私密可言。數(shù)字簽名將擴大政府跟蹤和身份盜用的可能性。數(shù)字簽名是為互聯(lián)網(wǎng)用戶提供的受密鑰保護的唯一身份證明,該密鑰向第三方證明文件、信息或交易對象的真實身份。雖然數(shù)字簽名能打消很多客戶的疑慮, 但是 相信數(shù)字簽名同時也引發(fā)了問題。 今后,數(shù)字簽名使政府很容易跟蹤網(wǎng)絡(luò)用戶的在線活動。這些標識符號只會越來越危險,你所做的每一件事都能被自動跟蹤。相信不久以后這些標識你身份的符號就像安裝在你身上的一個類似電話和監(jiān)視器的計算機。 24 5 基 于 RSA算法的數(shù)字簽名的實現(xiàn) 開發(fā)環(huán)境介紹 ,世界級的工具支持,操作簡易性,擴展性,安全性等等優(yōu)點,迅速的風(fēng)靡全球,隨著使用者的越來越多,數(shù)字簽名的問題就越來越受關(guān)注。 C 是 .NET 的關(guān)鍵性語言,它整個 .NET平臺是的基礎(chǔ)。 C語言概述 在過去的 20年里, C 和 C++已經(jīng)成為在商業(yè)軟件的開發(fā)領(lǐng)域中使用最廣泛的語言。他們?yōu)槌绦騿T提供了十分靈活的操作,不過同時也犧牲了一定的效率。與諸如 Microsoft Visual Basic 等語言相比,同等級別的 C/C++應(yīng)用程序往往需要更長時間來開發(fā)。由于 C/C++語言的復(fù)雜性,許多程序員都試圖尋找一種新的語言,希望能在功能與效率之間找到一個更為理想的平衡點。 對于 C/C++用戶來說,最理想的解決方案無疑是在快速開發(fā)的同時又可以調(diào)用底層平臺的所有功能。他們想要一種和最新的網(wǎng)絡(luò)標準保持同步并且能和已有的應(yīng)用程序良好整合的環(huán)境。另外,一些 C/C++開發(fā)人員還需要在必要的時候進行一些底層的編程。 C是微軟對這一問題的解決方案。 C是一種最新的,面向?qū)ο蟮木幊陶Z言,他使得程序員可以快速地編寫各種基于 平臺的應(yīng)用程序。 提供了一系列的工具和服務(wù)來最大程度地開發(fā)利用計算與通信領(lǐng)域。 正是由于 C面向?qū)ο蟮淖吭皆O(shè)計,使他成為構(gòu)建各類組件的理想之選,無論是高級的商業(yè)對象還是系
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1