碧波液压网 欢迎你,游客。 登录 注册

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

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

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

  1 RSA算法及数字证书

  1.1 RSA 算法简介

  (1)密钥的生成

  密钥的生成过程:

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

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

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

  ④计算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文件保存,一个用于保存公钥,一个用于保存私钥;

  2.3 系统流程

  系统具体流程如图1 所示。

  

图1 系统流程

  3 系统实现

  据软件功能模块设计,系统定义了三个公共类:MDE5散列算法类(MD5_CTX)、哈希类(CHash)、RSA 算法类(CRsa)。

  系统中主要有的函数有:Encrypt(char *OutFile,char *InFile,char *RsaKeySTr,char*RsaModStr):根据

  4 安全性的分析

  RSA 算法所用的密钥来自生成的证书,当申请者填入相关信息后生成两个txt 文件,一个存放私钥,一个存放公钥。

  其中私钥用口令加密了,保证了私钥的安全。公钥文件,进行了自签名,这样就保证了其完整性。密钥的管理也更加方便。

  5 结语

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论