文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

RSA加密/解密

2023-08-31 10:16

关注

一、RSA加密/解密在线教程

1.1、RSA算法介绍

RSA加密算法是一种可逆的非对称加密算法,即RSA加密时候用的密钥(公钥)和RSA解密时用的密钥(私钥)不是同一把。基本原理是将两个很大的质数相乘很容易得到乘积,但是该乘积分解质因数却很困难。RSA算法被广泛的用于加密解密和RSA签名/验证等领域。

1.2、RSA算法的速度与安全性

比起AES等其它对称算法来说,RSA运算更为复杂,所以要慢得多。

从安全角度来讲,一般建议RSA密钥长度至少为2048位。世界上还没有任何可靠的攻击RSA算法的方式,如果密钥足够长或者没有密钥,想要RSA解密或者破解RSA解密基本是不可能的。RSA从提出到现在已近二十年,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。

1.3、RSA存储格式

DER是RSA密钥的二进制格式,PEM是DER转码为Base64的字符格式,由于DER是二进制格式,不便于阅读和理解。一般而言,密钥都是通过PEM的格式进行存储的,本工具所选择的RSA密钥格式也就是PEM编码存储的格式。

PKCS #1 标准主要用于 RSA密钥,RSA公钥和RSA私钥PEM格式:

// PKCS#1公钥格式-----BEGIN RSA PUBLIC KEY-----BASE64 DATA...-----END RSA PUBLIC KEY-----// PKCS#1私钥格式-----BEGIN RSA PRIVATE KEY-----BASE64 DATA...-----END RSA PRIVATE KEY-----

PKCS#8 标准定义了一个密钥格式的通用方案,其公钥和私钥PEM格式:

// PKCS#8公钥格式-----BEGIN PUBLIC KEY-----BASE64 DATA...-----END PUBLIC KEY-----// PKCS#8私钥格式-----BEGIN PRIVATE KEY-----BASE64 DATA...-----END PRIVATE KEY-----

经过对比,我们可以明显看到,PKCS #8 格式是没有rsa字样的,因为PKCS#8是一个通用型的密钥格式方案,它不仅为RSA算法所使用,同样也可以被其它加密解密算法所使用。

二、RSA加密/解密使用场景

本在线工具参考国际标准和行业惯例,列出五种主流的使用场景。虽然很多系统或函数默认使用公钥加密、私钥解密,但是RSA算法也支持私钥加密、公钥解密。因此从跨平台和兼容性考虑,一般推荐使用前者。

2.1、场景一:生成RSA公钥和私钥

首先输入证书密码(一般为空,无须输入),然后选择密钥格式和密钥长度,最后点击按钮即可得到对应的RSA密钥对,你可以预览、复制和下载RSA密钥对到本地。

2.2、场景二:使用RSA公钥加密文本

RSA加密解密算法支持三种填充模式,分别是ENCRYPTION_OAEP、ENCRYPTION_PKCS1、ENCRYPTION_NONE,RSA填充是为了和公钥等长。

2.3、场景三:使用RSA私钥解密文本

主要用于RSA解密,具体RSA解密的操作方式为:

首先选择填充模式,当填充模式选择ENCRYPTION_OAEP时,必须选择参数Hash和MGFHash。如果证书设置了密码,则必须输入密码,然后输入RSA解密文本和RSA私钥。其中RSA解密文本必须为Base64编码后的字符串,最后点击按钮进行RSA解密。RSA解密时间受文本和网络影响,请耐心等待,RSA解密成功即可得到加密前的原始文本。

2.4、场景四:使用RSA私钥生成数字签名

RSA签名/验证算法支持两种填充模式,分别是SIGNATURE_PSS、SIGNATURE_PKCS1。

2.5、场景五:使用RSA公钥验证数字签名

首先选择填充模式,当填充模式选择SIGNATURE_PSS时,必须选择参数Hash和MGFHash,填充模式为SIGNATURE_PKCS1时,必须选择参数Hash,然后输入需要验证的原始文本、RSA公钥和数字签名即可。其中参数、原文和数字签名匹配时,则验证结果返回true,否则返回false。

 本教程引自《试试吧 - 领先的在线工具平台》,主打原创,全部免费,打开浏览器搜:试试吧,全网排名第一的就是本站,敬请 收藏和分享,快来试试吧:RSA加密/解密 - 在线工具

来源地址:https://blog.csdn.net/arnodev/article/details/129629892

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-服务器
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯