关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于证书的RSA签名系统的设计与实现

基于证书的RSA签名系统的设计与实现

作者:时间:2011-03-30来源:网络收藏

办公自动化OA(Office AutomatizatiON)从最初的以大规模采用复印机等办公设备为标志的初级阶段,发展到今天的以运用网络和计算机为标志的现阶段,对企业办公方式的改变和效率的提高起到了极大的促进作用。该采用了独立的算法确保了办公过程中公文流转的真实性和有效性。

本文引用地址:http://www.eepw.com.cn/article/202463.htm

  1 算法及数字证书

  1.1 算法简介

  (1)密钥的生成

  密钥的生成过程:

  ①选择两个大素数p,q,(p,q 为互异素数,需要保密);

  ②计算n = p×q,φ(n) = (p-1)×(q-1);

  ③选择整数 e 使 (φ(n),e) =1, 1e φ(n);

  ④计算d,使d = e-1mod φ(n), 得到:公钥KU={e,n};私钥KR={d,n}。

  (2)加密用(e,n)加密用(e,n):明文:M n,密文C = Me(mod n)。

  (3)解密用(d,n)解密用(d,n):密文C,明文M = Cd(mod n)。

  1.2 数字证书

  数字证书是一个经证书授权中心签名的包含公开密钥拥有者及公开密钥的文件。最简单的证书包含一个公开密钥、名称以及证书授权中心的签名。一般情况下证书还包含密钥的有效时间,发证机关,该证书的序列号等信息。

  2 分析与设计

  2.1 的工作原理

  (1)签名过程

  对要签名的文档,首先进行散列运算(SHA1 或MD5)得到文档摘要,从证书中得到要签名的私钥,然后对获取到的散列值进行签名。

  (2)验证过程

  验证过程是签名过程的逆。当验收者收到签名文件时,首先用指明的散列函数对原始文件进行散列,然后导入签名者的公钥对签名值进行RSA 解密,最后对该解密值与散列值进行比较。

  2.2 模块设计

  软件系统主要有证书生成模块、摘要处理模块、签名模块和验证模块组成。

  证书生成模块:负责提供签名所需的密钥,用两个txt文件保存,一个用于保存公钥,一个用于保存私钥;摘要处理模块:对要签名的文档生成散列的摘要,该系统提供生成16 个字节的MD5 算法,和生成20 个字节的SHA1 算法;签名模块:通过RSA 算法对对文档摘要进行签名,将签名后的结果以txt 文档保存;验证模块:用RSA 算法对签名后的txt 文档进行验证,并返回验证结果。


上一页 1 2 下一页

关键词: RSA 系统

评论


相关推荐

技术专区

关闭