`
hougbin
  • 浏览: 502423 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

RSA MD5 签名验证

阅读更多

1 何为RSA with MD5算法?

    在项目中遇到这样的问题,别人用RSA with MD5加密一段数据后,我们接收签名和原文,我们需要根据他们提供的公钥来对他们发过来的数据进行数字签名合法性的验证。

 

2 银行端 RSA with MD5生成签名的过程如下:

假设 原文为X,

先用MD5算法将原文进行散列,即y=h(x)

然后银行用私钥,使用RSA算法将y进行编码,即z=d(y),即得到签名

 

3 客户端签名验证步骤:

1)      使用公钥进行签名的逆运算,即E(明文)

2)      使用标准MD5算法运算原文,即H(签名)

3)      比较1)2)结果。 即比较 E(明文)  ?= H(签名)

 

4 算法公式

 

E(X)表示用RSA算法对明文X加密(即用公钥编码),

D(X)表示用RSA算法对密文X解密(即用私钥编码),

H(X)表示用MD5(或其它散列算法)对X散列:
对文档X签名:

R   =   D(H(X));

验证文档X和签名R是否一致:
H(X)   ==   E(R)

由于D要用私钥而E只用公钥,结果只有私钥持有者可以签名,而所有的公钥持有者都可以进行验证。

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    使用RSA、MD5对参数生成签名及接收方验签

    本文将详细讲解如何使用RSA和MD5算法来生成签名以及接收方如何进行验证。 首先,让我们了解这两种算法的基础知识。RSA是一种非对称加密算法,由Ron Rivest、Adi Shamir和Leonard Adleman在1977年提出,它基于大素数...

    RSA算法和MD5算法实现的数字签名

    本文将深入探讨两种常用的算法——RSA和MD5,以及它们如何协同工作来实现数字签名。 RSA(Rivest-Shamir-Adleman)是一种非对称加密算法,由Ron Rivest、Adi Shamir和Leonard Adleman在1977年提出。其核心原理是...

    MD5withRSA签名和验证签名(php>5.5)

    MD5withRSA签名和验证签名(php>5.5)MD5withRSA签名和验证签名(php>5.5)

    RSA加密解密与签名验证

    RSA加密解密与签名验证是信息安全领域中的重要技术,它基于数论原理,尤其是大整数因子分解的困难性。RSA是由Ron Rivest、Adi Shamir和Leonard Adleman三位科学家在1977年提出的,因此得名RSA。这种公钥密码体制在...

    delphi XE6 RSA加密解密签名 MD5WithRSA签名 Java通用

    MD5WithRSA签名是一种结合了MD5哈希函数和RSA加密的签名方法。它先对原始数据进行MD5哈希,然后用私钥对哈希值进行加密,得到的签名可以用公钥验证。在Delphi中,可以使用Indy库中的TIdHashMD5和TRsa对象完成这一...

    linux C实现MD5withRSA签名

    本资源涉及的核心知识点是"MD5withRSA"签名,这是一种结合了MD5哈希函数和RSA公钥密码系统的安全机制,常用于数据完整性验证和身份认证。下面将详细讲解这个主题。 MD5(Message-Digest Algorithm 5)是一种广泛...

    RSA签名验签工具

    这个工具支持RSA和RSA2算法,以及MD5哈希算法,能够帮助开发者生成验证密钥对,进行签名和验签操作。在本文中,我们将深入探讨这些关键概念。 首先,RSA是一种非对称加密算法,由Ron Rivest、Adi Shamir和Leonard ...

    RSA、MD5对参数生成签名及接收方验签代码(MD5RSASign).rar

    在给定的"MD5RSASign"压缩包中,我们关注的是如何使用这两种技术来生成和验证签名。签名是数字签名,它在电子通信中起到了纸质文档上手写签名的作用,确保信息未被篡改且发送者身份可验证。 1. **MD5**:MD5...

    DESC RSA MD5等加密解密例子

    本文将深入探讨标题"DESC RSA MD5等加密解密例子"所涉及的关键概念,包括DES、RSA、MD5和数字签名,以及它们在实际应用中的作用。 首先,DES(Data Encryption Standard)是一种经典的对称加密算法,它使用相同的...

    RSA和RSA2签名算法区别.md

    首先,通过对需要签名的数据进行摘要处理(如使用MD5等哈希算法),得到一个固定长度的摘要结果;其次,利用签名者的私钥对该摘要结果进行加密,生成最终的签名。此签名将随数据一起传输,在接收方验证时,需先用...

    Delphi RSA 加密解密签名验签控件 RSA_Component(1.0.0.0).rar

    但是没有提供Delphi使用的RSA支持,delphi开发者使用起来还是有些麻烦,特别是RSA加解密及签名验证等等,因此我们开发了这个RSA控件,秩序简单的几个API就可以立即实现RSA的加解密及签名验证等功能。

    Java实现DES、RSA、MD5

    B收到这个加密的MD5值后,用RSA的公钥解密,对比解密得到的MD5值与自己计算的MD5值是否一致,以此确认文件的完整性和未被篡改。 在Java程序中,这个过程可能包含以下步骤: 1. 创建并加载RSA的公钥和私钥。 2. A...

    MD5加密+签名算法Sign生成 工具类

    MD5加密和签名算法在IT领域中扮演着重要的角色,特别是在数据安全、用户验证和通信完整性方面。MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,它能够将任意长度的数据转换为固定长度的摘要,通常为...

    使用RSA、MD5对参数生成签名与验签

    在这个场景中,"使用RSA、MD5对参数生成签名与验签"涉及到的是两种核心的加密技术:RSA公钥加密算法和MD5消息摘要算法。 **RSA算法** 是一种非对称加密算法,由Ron Rivest、Adi Shamir和Leonard Adleman在1977年...

    RSA数字签名设计与实现

    本文将对RSA数字签名的设计与实现进行详细的介绍,包括RSA算法的原理、RSA数字签名的安全性、MD5算法的基本原理、RSA数字签名的设计与实现等方面。 一、RSA算法的原理 RSA算法是一种非对称加密算法,由Ron Rivest...

    Qt利用OpenSSl实现RSA数字签名

    在数字签名中,RSA用于确保信息的完整性和发送者的身份验证。 首先,要在Qt项目中使用OpenSSL,你需要下载并安装OpenSSL库,如压缩包中的"Win32OpenSSL-1_0_2L.exe",这适用于Windows 32位系统。安装后,你需要将...

    ASP基于RSA的数字签名的设计与实现(源代码+论文).zip

    3. 创建消息摘要:对要发送的信息生成一个固定长度的摘要,通常使用哈希函数(如MD5或SHA系列)来完成,这有助于减小签名的大小并增强抗攻击能力。 4. 使用私钥签名:发送者使用私钥对消息摘要进行加密,形成数字...

    基于MD5+RSA的数字签名算法的python应用 py文件 源程序 源代码

    3.验证数字签名:对方收到信息后,使用RSA私钥对数字签名进行解密,得到原始的MD5哈希值。同时,对方也对接收到的明文内容进行MD5摘要处理,得到一个新的哈希值。 4.比较验证:将解密后得到的MD5哈希值与对明文重新...

    RSA选择证书签名验证

    1.regist-dll/np_regist 为注册DLL到系统由浏览器调用沙海RSA选择证书签名控件(IE和chrome45及其低版本支持) 2.csp-rsa/CSP-RSA.html 为测试控件的网页 3.ShaHaiSignVerify.* 为服务器端...现在支持:MD5,SHA, SHA1

    基于MD5+RSA的数字签名算法的python应用

    ### 基于MD5+RSA的数字签名算法的Python应用 #### 背景与意义 在当今信息化社会中,信息安全变得尤为重要。随着互联网技术的发展,数据传输和存储的安全问题日益凸显。为了确保信息的完整性和真实性,数字签名技术...

Global site tag (gtag.js) - Google Analytics