




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上實驗三 DSA數(shù)字簽名算法姓 名: 學 號: 學 院: 信息工程學院 指導老師: 鄭明輝 1. DSA算法原理 數(shù)字簽名是數(shù)據(jù)在公開行信道中傳輸?shù)陌踩U?,能夠?qū)崿F(xiàn)數(shù)據(jù)的公開、公正、不可抵賴等特點的方法,只能公開的密鑰、密碼簽名算法。國際供認的公開密鑰簽字算法主要有RSA算法、ElGAMAL算法或者其變形的簽名算法。DSA(Digite Signature Arithmotic )是Schnore和ElGamal算法的變型。美國國家標準技術(shù)研究所(NIST)1994年5月19日公布了數(shù)字簽名標準的(DSS),標準采用的算法便是DSA,密鑰長度為5121024位。密鑰長
2、度愈長,簽名速度愈慢,制約運算速度的只要因素是大數(shù)的模指數(shù)運算。2. DSA簽名中的參數(shù)參數(shù)描述:Digital Signature Algorithm (DSA)是Schnorr和ElGamal簽名算法的變種,被美國NIST作為DSS(DigitalSignature Standard)。算法中應用了下述參數(shù): p:L bits長的素數(shù)。L是64的倍數(shù),范圍是512到1024; q:p - 1的160bits的素因子; g:g = h(p-1)/q) mod p,h滿足h < p - 1, h(p-1)/q) mod p > 1; x:x < q,x為私鑰 ; y:y =
3、gx mod p ,( p, q, g, y )為公鑰; H( x ):One-Way Hash函數(shù)。DSS中選用SHA( Secure Hash Algorithm )。 p, q, g可由一組用戶共享,但在實際應用中,使用公共模數(shù)可能會帶來一定的威脅。簽名及驗證協(xié)議如下: 1. P產(chǎn)生隨機數(shù)k,k < q; 2. P計算 r = ( gk mod p ) mod q s = ( k(-1) (H(m) + xr) mod q 簽名結(jié)果是( m, r, s )。 3. 驗證時計算 w = s(-1)mod q u1 = ( H( m ) * w ) mod q u2 = ( r * w
4、 ) mod q v = ( gu1 * yu2 ) mod p ) mod q 若v = r,則認為簽名有效。 DSA是基于整數(shù)有限域離散對數(shù)難題的,其安全性與RSA相比差不多。DSA的一個重要特點是兩個素數(shù)公開,這樣,當使用別人的p和q時,即使不知道私鑰,你也能確認它們是否是隨機產(chǎn)生的,還是作了手腳。RSA算法卻做不到。3. 源碼描述 #include "stdafx.h"#include <string.h>#include <stdio.h>#include "BigInt.h"#include "sha1.h&
5、quot;#include "time.h"int shas1(const unsigned int x, unsigned char digest20)SHA1_CTX context;unsigned char buffer16384; /,digest20;/FILE *file; SHA1Init(&context);SHA1Update(&context, buffer, 1); SHA1Final(digest, &context); return 0;CBigInt sha(CBigInt y)SHA1_CTX context; CBi
6、gInt X;unsigned char buffer16384,digest20; CString str;char *t="ABCDEF"if(y.m_nLength=1)&&(y.m_ulValue0=0)str="0"X.Mov(0);return X;str="" int a; char ch='0'str.Insert(0,ch); X.Mov(y); while(X.m_ulValueX.m_nLength-1>0) a=X.Mod(16); ch=ta; str.Insert(0,
7、ch); X.Mov(X.Div(16); int i=0;while (stri>0) i+;for (a=i,i=0;i<a;i+)bufferi=stri;for (i=a;i<64;i+) bufferi='0' SHA1Init(&context);SHA1Update(&context, buffer, 1); SHA1Final(digest, &context); int len=str.GetLength(),k; X.Mov(0); for(i=0;i<20;i+) X.Mov(X.Mul(256);/ if(
8、digesti>='0')&&(digesti<='9') k=digesti;/ else if(digesti>='A')&&(digesti<='F')k=digesti-55;/ else if(digesti>='a')&&(digesti<='f')k=digesti-87;/ else k=0; X.Mov(X.Add(k); return X;CBigInt makerandnumber( unsig
9、ned int len)srand(time(NULL); CBigInt X;X.m_nLength=(len+31)/32;/ X.Mov(0);for (unsigned int j=0;j<X.m_nLength;j+)X.m_ulValuej=rand()*0x10000+rand();X.m_ulValue0=X.m_ulValue0|0x1; X.m_ulValuej-1=X.m_ulValuej-1|0x; return X;CBigInt pow2( const int x, int y)CBigInt p,q,t;p.Mov(1);q.Mov(x);while (y>0)if (y%2=0) q.Mov(q.Mul(q); y /= 2 ; else p.Mov(p.Mul(q); y -= 1; return p;CBigInt pow3(CBigInt x, CBigInt y, CBigInt m)CBigInt p,t;p.Mov(1);t.Mov(0);while (y.Cmp(t)>0)if (y.m_ulValue0&0x1=0) x.Mov(x.Mul(x); x.Mov(x.Mod(m); x.M
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 河南工學院《少兒合唱與指揮》2023-2024學年第一學期期末試卷
- 湖南工業(yè)大學科技學院《中國女性文學研究》2023-2024學年第一學期期末試卷
- 甘肅省張掖市甘州區(qū)2024-2025學年化學九年級第一學期期末質(zhì)量檢測模擬試題含解析
- 北京市石景山區(qū)景山學校2025屆八上物理期末綜合測試模擬試題含解析
- 重慶城市管理職業(yè)學院《大學英語基礎英語》2023-2024學年第一學期期末試卷
- 遼寧大學《現(xiàn)代化教育技術(shù)》2023-2024學年第一學期期末試卷
- 連云港師范高等??茖W校《油畫風景》2023-2024學年第一學期期末試卷
- 福建對外經(jīng)濟貿(mào)易職業(yè)技術(shù)學院《環(huán)境藝術(shù)與建筑設計作品鑒賞》2023-2024學年第一學期期末試卷
- 和田職業(yè)技術(shù)學院《土木工程中的有限元》2023-2024學年第一學期期末試卷
- 山東省寧津縣2025屆物理八年級第一學期期末考試試題含解析
- 2025年大學英語四級考試題及答案
- 財政國庫管理培訓課件
- 國際功能、殘疾和健康分類(ICF)及核心組合
- 企業(yè)管理考試題目和答案
- 質(zhì)量管理基礎知識培訓課件
- 2025年 陜西延長石油有限責任公司所屬單位招聘考試筆試試卷附答案
- 2025年電力系統(tǒng)與自動化專業(yè)考試試題及答案
- 3、焊縫(焊道、焊口)寬度計算公式
- 天車工考試考試試題
- 抗體藥物中試項目可行性研究報告寫作范文
- 【課件】1.1 集合的概念 課件-高一上學期數(shù)學人教A版(2019)必修第一冊
評論
0/150
提交評論