• 大小: 3.62MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-12
  • 语言: C/C++
  • 标签: C++  DSA  

资源简介

以往的文件或书信可以通过亲笔签名来证明其真实性, 而通过计算机网络传输的信息则可以通过数字签名技术来实现其真实性的验证。 下面就以DSA算法为例,介绍数字签名算法。DSA算法在1991年被美国国家标准与技术局(NIST)采纳为联邦数字签名标准,NIST称之为数字签名标准(DSS)。 (1) DSA中的参数: 全局公钥(p,q,g): p为512~1024bit的大素数, q是(p-1)的素因子,为160比特的素数, g=h(p-1)/q mod p, 且1<h1 用户私钥x:x为0<x<q内的随机数 用户公钥y:y=gx mod p 用户为待签消息选取的秘密数k,k是满足0<k<q的随机数或伪随机数。 (2) 签名过程 用户对消息M的签名为(r, s),其中 r≡(gk mod p) mod q, s≡[k-1(H(M)+xr)] mod q, H(M)是由MD4、MD5 或SHA求出的杂凑值。 (3) 验证过程 设接收方收到的消息为M,签名为(r,s)。计算: w≡(s)-1 mod q, u1≡[H(M)w] mod q u2≡r w mod q, v≡[(gu1yu2) mod p] mod q 检查 v=r′ 是否成立,若成立,则认为签名有效。这是因为若(M′,r′,s′)=(M,r,s),则:

资源截图

代码片段和文件信息

#include “StdAfx.h“
#include “BigInt.h“

//小素数表
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

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      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\数字签名.aps

     文件       2219  2011-06-15 15:46  dsa\数字签名.clw

     文件       2025  2007-06-10 07:25  dsa\数字签名.cpp

     文件       5045  2007-06-11 22:04  dsa\数字签名.dsp

     文件        524  2007-06-07 21:06  dsa\数字签名.dsw

     文件       1292  2007-06-10 07:24  dsa\数字签名.h

     文件     320512  2011-06-15 15:46  dsa\数字签名.ncb

     文件       1408  2011-05-25 18:47  dsa\数字签名.plg

     文件       7530  2007-06-16 20:39  dsa\数字签名.rc

     文件       1818  2007-06-16 20:41  dsa\数字签名Dlg.h

     文件      12375  2007-06-13 20:19  dsa\数字签名DlgBK.cpp

     文件      13398  2009-06-10 09:26  dsa\数字签名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\数字签名.exe

     文件    7235364  2009-06-09 13:16  dsa\Debug\数字签名.pch

     文件     517120  2011-05-25 18:47  dsa\Debug\数字签名.pdb

     文件       3688  2007-06-16 20:40  dsa\Debug\数字签名.res

     文件    1374868  2009-06-09 13:16  dsa\Debug\StdAfx.sbr

............此处省略24个文件信息

评论

共有 条评论