[发明专利]基于SSL标准的跨平台的RSA算法有效
申请号: | 201811431811.1 | 申请日: | 2018-11-28 |
公开(公告)号: | CN109600229B | 公开(公告)日: | 2022-03-22 |
发明(设计)人: | 董志忠 | 申请(专利权)人: | 董志忠 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/30;H04L9/08;H04L9/40 |
代理公司: | 北京纽乐康知识产权代理事务所(普通合伙) 11210 | 代理人: | 白明珠 |
地址: | 100083 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 ssl 标准 平台 rsa 算法 | ||
本发明公开了一种基于SSL标准的跨平台的RSA算法,采用SSL标准生成RSA秘钥对;建立基于SSL标准的PEM流,通过RSA密码生成器分别生成公共秘钥对象和私有秘钥对象,将公共秘钥对象和私有秘钥对象输入PEM流后分别输出公钥字符串和私钥字符串;将公钥字符串和私钥字符串分别装载公钥和私钥;利用公钥对数据进行加密,生成密文;利用私钥对密文进行解密,获取明文数据;利用私钥对明文数据进行签名,生成签名密文;利用公钥对明文数据及签名密文分别进行验证。本发明有益效果:通过RSA算法实现跨平台使用,便于各个平台之间相互调用和兼容。
技术领域
本发明涉及通信技术领域,具体来说,涉及一种基于SSL标准的跨平台的RSA算法。
背景技术
RSA算法是一种非对称密码算法,在使用该算法时,首先选择两个素数作为RSA算法的第一私钥元素与第二私钥元素,然后使用这两个私钥元素生成包含公钥和私钥的密钥对;使用密钥对中的公钥对数据进行加密时,只有使用私钥才能对加密后的数据进行解密,同样的,使用密钥对中的私钥对数据进行签名时,只有使用公钥才能对签名后的数据进行认证。
Java、python、JS、android等互不兼容,不能跨平台使用,MD5和SHA1已经不破解,降低其安全性。
针对相关技术中的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中的上述技术问题,本发明提出一种基于SSL标准的跨平台的RSA算法,能够解决了平台系统间无法通用和兼容等问题。
为实现上述技术目的,本发明的技术方案是这样实现的:
一种基于SSL标准的跨平台的RSA算法,包括以下步骤:
S1:采用SSL标准生成RSA秘钥对;
S2:建立基于SSL标准的PEM流,通过RSA密码生成器分别生成公共秘钥对象和私有秘钥对象,将公共秘钥对象和私有秘钥对象输入PEM流后分别输出公钥字符串和私钥字符串;
S3:将公钥字符串和私钥字符串分别装载公钥和私钥;
S4:利用公钥对数据进行加密,生成密文;利用私钥对密文进行解密,获取明文数据;
S5:利用私钥对明文数据进行签名,生成签名密文;
S6:利用公钥对明文数据及签名密文分别进行验证。
进一步地,所述步骤S1中采用SSL标准生成RSA秘钥对具体包括:
S11获取随机数生成器,设置秘钥助记词作为给定的种子补充剂;
S12将密码随机数生成器和秘钥大小作为初始数据,通过RSA密码生成器的initialize方法进行初始化处理;
S13通过RSA密码生成器的generateKeyPair方法生成秘钥对。
进一步地,所述步骤S3中将公钥字符串和私钥字符串分别装载公钥和私钥,具体包括:
S31将公钥字符串和私钥字符串分别转化为字节数组;
S32基于字节数组创建缓冲字符输入流,基于缓冲字符输入流建立PEMParser对象;
S33通过PEMParser对象中readObject方法分别获取PublicKeyInfo对象和PEMKeyPair对象;
S34基于PublicKeyInfo对象和PEMKeyPair对象,通过PEMKeyConverter分别获取公共秘钥对象和私有秘钥对象。
进一步地,所述步骤S4中利用公钥对数据进行加密,生成密文,具体包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于董志忠,未经董志忠许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811431811.1/2.html,转载请声明来源钻瓜专利网。