RSA加密解密和签名验证机制以及其区别和联系
2017-04-03 18:16
281 查看
1.RSA的加密解密机制原理
RSA公钥加密体制包含如下3个算法:KeyGen(密钥生成算法),Encrypt(加密算法)以及Decrypt(解密算法)。详细如下:
所以,从算法描述中我们也可以看出:公钥用于对数据进行加密,私钥用于对数据进行解密。当然了,这个也可以很直观的理解:公钥就是公开的密钥,其公开了大家才能用它来加密数据。私钥是私有的密钥,谁有这个密钥才能够解密密文。否则大家都能看到私钥,就都能解密,那不就乱套了。
2.RSA的签名认证机制原理
签名体制同样包含3个算法:KeyGen(密钥生成算法),Sign(签名算法),Verify(验证算法)。其中秘钥生成算法和RSA加密解密中的秘钥生成算法是一样的。
对于签名和认证的M,可以是原始的信息的报文摘要。在https中,CA对也是对证书的某些信息的报文摘要进行签名的。
所以,在签名算法中,私钥用于对数据进行签名,公钥用于对签名进行验证。这也可以直观地进行理解:对一个文件签名,当然要用私钥,因为我们希望只有自己才能完成签字。验证过程当然希望所有人都能够执行,大家看到签名都能通过验证证明确实是我自己签的。
3.RSA加密解密机制和签名认证机制的区别和联系
假设RSA加密解密系统中,将加密函数称为E,将解码函数称为D。在加密过程中,我们使用公钥PK和E函数,将报文加密,然后在对端使用私钥SK和D函数将密文解密,得到原始的报文。
而在签名认证的过程中,我们使用私钥SK和D函数进行报文的签名,然后在对端使用公钥PK和E函数进行认证。注意的是,这里的D和E和上面的D和E函数是一样的。
因为,在RSA加密系统中,以任意顺序 应用D和E函数时,两者都会相互抵消。因此E(D(stuff))=stuff,就像D(E(stuff))=stuff一样。只是习惯上,E和D在加密过程中,称为加密函数和解码函数;而在签名认证过程中,称为签名函数和认证函数,其实是一样的。
参考资料来源于:
https://www.zhihu.com/question/25912483
RSA公钥加密体制包含如下3个算法:KeyGen(密钥生成算法),Encrypt(加密算法)以及Decrypt(解密算法)。详细如下:
所以,从算法描述中我们也可以看出:公钥用于对数据进行加密,私钥用于对数据进行解密。当然了,这个也可以很直观的理解:公钥就是公开的密钥,其公开了大家才能用它来加密数据。私钥是私有的密钥,谁有这个密钥才能够解密密文。否则大家都能看到私钥,就都能解密,那不就乱套了。
2.RSA的签名认证机制原理
签名体制同样包含3个算法:KeyGen(密钥生成算法),Sign(签名算法),Verify(验证算法)。其中秘钥生成算法和RSA加密解密中的秘钥生成算法是一样的。
对于签名和认证的M,可以是原始的信息的报文摘要。在https中,CA对也是对证书的某些信息的报文摘要进行签名的。
所以,在签名算法中,私钥用于对数据进行签名,公钥用于对签名进行验证。这也可以直观地进行理解:对一个文件签名,当然要用私钥,因为我们希望只有自己才能完成签字。验证过程当然希望所有人都能够执行,大家看到签名都能通过验证证明确实是我自己签的。
3.RSA加密解密机制和签名认证机制的区别和联系
假设RSA加密解密系统中,将加密函数称为E,将解码函数称为D。在加密过程中,我们使用公钥PK和E函数,将报文加密,然后在对端使用私钥SK和D函数将密文解密,得到原始的报文。
而在签名认证的过程中,我们使用私钥SK和D函数进行报文的签名,然后在对端使用公钥PK和E函数进行认证。注意的是,这里的D和E和上面的D和E函数是一样的。
因为,在RSA加密系统中,以任意顺序 应用D和E函数时,两者都会相互抵消。因此E(D(stuff))=stuff,就像D(E(stuff))=stuff一样。只是习惯上,E和D在加密过程中,称为加密函数和解码函数;而在签名认证过程中,称为签名函数和认证函数,其实是一样的。
参考资料来源于:
https://www.zhihu.com/question/25912483
相关文章推荐
- openssl 非对称加密 RSA 加密解密以及签名验证签名
- RSA加密解密及RSA签名和验证
- RSA加密解密及RSA签名和验证
- RSA加密解密及RSA签名和验证
- C#中RSA加密解密和签名与验证的实现
- 跨语言平台的RSA加密、解密、签名、验证算法的实现
- WSE3.0构建Web服务安全(2):非对称加密、公钥、密钥、证书、签名的区别和联系以及X.509 证书的获得和管理
- RSA加密解密及RSA签名和验证(转)
- C#中RSA加密解密和签名与验证的实现
- 转载:C#中RSA加密解密和签名与验证的实现
- java程序实现加密解密以及签名和签名验证
- 第二周__“RSA”、“数字签名”、“公钥”、“DES”等4个名词的解释以及公钥加密 与 数字签名 之间的联系与区别
- RSA加密解密及RSA签名和验证
- RSA应用之---加密、解密、数据签名、数据签名验证、哈希值签名、哈希值签名验证
- WSE3.0构建Web服务安全(2):非对称加密、公钥、密钥、证书、签名的区别和联系以及X.509 证书的获得和管理
- C#中RSA加密解密和签名与验证的实现
- RSA加密与解密、数字签名与验证数字签名
- C#中RSA加密解密和签名与验证的实现
- C#中RSA加密解密和签名与验证的实现
- C#中RSA加密解密和签名与验证的实现