資源簡介
以往的文件或書信可以通過親筆簽名來證明其真實(shí)性, 而通過計(jì)算機(jī)網(wǎng)絡(luò)傳輸?shù)男畔t可以通過數(shù)字簽名技術(shù)來實(shí)現(xiàn)其真實(shí)性的驗(yàn)證。
下面就以DSA算法為例,介紹數(shù)字簽名算法。DSA算法在1991年被美國國家標(biāo)準(zhǔn)與技術(shù)局(NIST)采納為聯(lián)邦數(shù)字簽名標(biāo)準(zhǔn),NIST稱之為數(shù)字簽名標(biāo)準(zhǔn)(DSS)。
(1) DSA中的參數(shù):
全局公鑰(p,q,g):
p為512~1024bit的大素?cái)?shù),
q是(p-1)的素因子,為160比特的素?cái)?shù),
g=h(p-1)/q mod p, 且1<h1
用戶私鑰x:x為0<x<q內(nèi)的隨機(jī)數(shù)
用戶公鑰y:y=gx mod p
用戶為待簽消息選取的秘密數(shù)k,k是滿足0<k<q的隨機(jī)數(shù)或偽隨機(jī)數(shù)。
(2) 簽名過程
用戶對(duì)消息M的簽名為(r, s),其中
r≡(gk mod p) mod q,
s≡[k-1(H(M)+xr)] mod q,
H(M)是由MD4、MD5 或SHA求出的雜湊值。
(3) 驗(yàn)證過程
設(shè)接收方收到的消息為M,簽名為(r,s)。計(jì)算:
w≡(s)-1 mod q,
u1≡[H(M)w] mod q
u2≡r w mod q,
v≡[(gu1yu2) mod p] mod q
檢查 v=r′ 是否成立,若成立,則認(rèn)為簽名有效。這是因?yàn)槿?M′,r′,s′)=(M,r,s),則:
代碼片段和文件信息
#include?“StdAfx.h“
#include?“BigInt.h“
//小素?cái)?shù)表
const?static?int?Primetable[550]=
{???3????5????7????11???13???17???19???23???29???31
????37???41???43???47???53???59???61???67???71???73
????79???83???89???97???101??103??107??109??113??127?
????131??137??139??149??151??157??163??167??173??179?
????181??191??193??197??199??211??223??227??229??233?
????239??241??251??257??263??269??271??277??281??283?
????293??307??311??313??317??331??337??347??349??353?
????359??367??373??379??383??389??397??401??409??419?
????421??431??433??439??443??449??457??461??463??467?
????479??487??491??499??503??509??521??523??541??547?
????557??563??569??571??577??587??593??599??601??607?
????613??617??619??631??641??643??647??653??659??661?
????673??677??683??691??701??709??719??727??733??739?
????743??751??757??761??769??773??787??797??809??811?
????821??823??827??829??839??853??857??859??863??877
????881??883??887??907??911??919??929??937??941??947?
????953??967??971??977??983??991??997??1009?1013?1019?
????1021?1031?1033?1039?1049?1051?1061?1063?1069?1087
????1091?1093?1097?1103?1109?1117?1123?1129?1151?1153?
????1163?1171?1181?1187?1193?1201?1213?1217?1223?1229?
????1231?1237?1249?1259?1277?1279?1283?1289?1291?1297?
????1301?1303?1307?1319?1321?1327?1361?1367?1373?1381
????1399?1409?1423?1427?1429?1433?1439?1447?1451?1453?
????1459?1471?1481?1483?1487?1489?1493?1499?1511?1523
????1531?1543?1549?1553?1559?1567?1571?1579?1583?1597?
????1601?1607?1609?1613?1619?1621?1627?1637?1657?1663?
????1667?1669?1693?1697?1699?1709?1721?1723?1733?1741?
????1747?1753?1759?1777?1783?1787?1789?1801?1811?1823?
????1831?1847?1861?1867?1871?1873?1877?1879?1889?1901?
????1907?1913?1931?1933?1949?1951?1973?1979?1987?1993?
????1997?1999?2003?2011?2017?2027?2029?2039?2053?2063
????2069?2081?2083?2087?2089?2099?2111?2113?2129?2131?
????2137?2141?2143?2153?2161?2179?2203?2207?2213?2221?
????2237?2239?2243?2251?2267?2269?2273?2281?2287?2293
????2297?2309?2311?2333?2339?2341?2347?2351?2357?2371
????2377?2381?2383?2389?2393?2399?2411?2417?2423?2437?
????2441?2447?2459?2467?2473?2477?2503?2521?2531?2539?
????2543?2549?2551?2557?2579?2591?2593?2609?2617?2621?
????2633?2647?2657?2659?2663?2671?2677?2683?2687?2689?
????2693?2699?2707?2711?2713?2719?2729?2731?2741?2749?
????2753?2767?2777?2789?2791?2797?2801?2803?2819?2833?
????2837?2843?2851?2857?2861?2879?2887?2897?2903?2909
????2917?2927?2939?2953?2957?2963?2969?2971?2999?3001
????3011?3019?3023?3037?3041?3049?3061?3067?3079?3083
????3089?3109?3119?3121?3137?3163
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件??????18257??2007-06-15?20:18??dsa\BigInt.cpp
?????文件???????2703??2007-06-15?20:19??dsa\BigInt.h
?????文件???????8316??2007-06-07?23:42??dsa\MD5.CPP
?????文件????????611??2007-06-07?23:42??dsa\MD5.H
?????文件???????3597??2007-06-07?21:06??dsa\ReadMe.txt
?????文件???????1468??2007-06-16?20:39??dsa\Resource.h
?????文件???????4980??2007-06-15?19:13??dsa\SHA1.CPP
?????文件???????1738??2007-06-07?23:42??dsa\SHA1.H
?????文件????????210??2007-06-07?21:06??dsa\StdAfx.cpp
?????文件???????1054??2007-06-07?21:06??dsa\StdAfx.h
?????文件??????22676??2011-05-25?18:47??dsa\數(shù)字簽名.aps
?????文件???????2219??2011-06-15?15:46??dsa\數(shù)字簽名.clw
?????文件???????2025??2007-06-10?07:25??dsa\數(shù)字簽名.cpp
?????文件???????5045??2007-06-11?22:04??dsa\數(shù)字簽名.dsp
?????文件????????524??2007-06-07?21:06??dsa\數(shù)字簽名.dsw
?????文件???????1292??2007-06-10?07:24??dsa\數(shù)字簽名.h
?????文件?????320512??2011-06-15?15:46??dsa\數(shù)字簽名.ncb
?????文件???????1408??2011-05-25?18:47??dsa\數(shù)字簽名.plg
?????文件???????7530??2007-06-16?20:39??dsa\數(shù)字簽名.rc
?????文件???????1818??2007-06-16?20:41??dsa\數(shù)字簽名Dlg.h
?????文件??????12375??2007-06-13?20:19??dsa\數(shù)字簽名DlgBK.cpp
?????文件??????13398??2009-06-10?09:26??dsa\數(shù)字簽名Dlg.cpp
?????文件???????2258??2010-06-03?10:59??dsa\DSA.CPP
?????文件?????377856??2011-06-15?15:45??dsa\Debug\vc60.idb
?????文件?????380928??2011-05-25?18:47??dsa\Debug\vc60.pdb
?????文件?????168010??2011-05-25?18:47??dsa\Debug\數(shù)字簽名.exe
?????文件????7235364??2009-06-09?13:16??dsa\Debug\數(shù)字簽名.pch
?????文件?????517120??2011-05-25?18:47??dsa\Debug\數(shù)字簽名.pdb
?????文件???????3688??2007-06-16?20:40??dsa\Debug\數(shù)字簽名.res
?????文件????1374868??2009-06-09?13:16??dsa\Debug\StdAfx.sbr
............此處省略24個(gè)文件信息
評(píng)論
共有 條評(píng)論