1、数字签名原理用RSA算法做数字签名,总的来说,就是签名者用私钥参数d加密,也就是签名;验证者用签字者的公钥参数e解密来完成认证。下面简要描述数字签名和认证的过程。(1)、生成密钥为用户随机生成一对密钥:公钥(e,n)和私钥(d,n).(2)、签名过程a)计算消息的散列值H(M).b)用私钥(d,n)加密散列值:s=(H(M))modn,签名结果就是s.c)发送消息和签名(M,s).(3)、认证过程a)取得发送方的公钥(e,n).b)解密签名s:h=smodn.c)计算消息的散列值H(M).d)比较,如果h=H(M),表示签名有效;否则,签名无效。根据上面的过程,我们可以得到RSA数字签名的框图如图