利索能及
我要发布
收藏
专利号: 2020113832336
申请人: 南阳理工学院
专利类型:发明专利
专利状态:已下证
更新日期:2025-04-19
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种加密方法,其特征在于,所述方法包括:

获取待加密的明文、安全参数和加密所述待加密的明文所使用的公钥对,其中,所述安全参数用于表征字符串的长度;

基于所述待加密的明文和所述安全参数,确定第一预设长度的第一字符串和第二字符串;

随机获取第一预设长度的第三字符串,并基于第一哈希算法、所述第三字符串和所述待加密的明文,得到所述待加密的明文对应的第四字符串,其中,所述第一哈希算法用于将所述第一预设长度的字符串转换为第二预设长度的字符串,所述第二预设长度由所述安全参数和所述第一预设长度确定;

基于第二哈希算法、所述第四字符串和所述第三字符串,得到所述待加密的明文对应的第五字符串,其中,所述第二哈希算法用于将所述第二预设长度的字符串转换为所述第一预设长度的字符串;

对所述第四字符串和所述第五字符串进行拼接,并采用所述公钥对中的第一公钥组将拼接得到的第一拼接字符串转换为第六字符串;

对所述第六字符串、所述第一字符串和所述第二字符串进行拼接,并采用所述公钥对中的第二公钥组将拼接得到的第二拼接字符串转为第七字符串,得到所述待加密的明文对应的密文。

2.根据权利要求1所述的方法,其特征在于,所述获取加密所述待加密的明文所使用的公钥对的步骤,包括:在预设素数表中选择第一素数对和第二素数对,其中,所述第一素数对和所述第二素数对分别包括两个素数;

计算所述第一素数对中的两个素数的第一乘积以及所述第一乘积的欧拉函数值;计算所述第二素数对中的两个素数的第二乘积以及所述第二乘积的欧拉函数值;

在预设整数表中选择第三整数和第四整数,其中,所述第三整数大于1且小于所述第一乘积的欧拉函数值;且所述第三整数与所述第一乘积的欧拉函数值的最大公约数为1;所述第四整数大于1且小于所述第二乘积的欧拉函数值;且所述第四整数与所述第二乘积的欧拉函数值的最大公约数为1;

将所述第三整数和所述第一乘积作为所述公钥对中的第一公钥组,将所述第四整数和所述第二乘积作为所述公钥对中的第二公钥组。

3.根据权利要求2所述的方法,其特征在于,在所述将所述第三整数和所述第一乘积作为所述公钥对中的第一公钥组,将所述第四整数和所述第二乘积作为所述公钥对中的第二公钥组之后,所述方法还包括:基于所述第三整数、所述第一乘积的欧拉函数值,计算所述第三整数对于所述第一乘积的欧拉函数值的第一模反元素;

基于所述第四整数、所述第二乘积的欧拉函数值,计算所述第四整数对于所述第二乘积的欧拉函数值的第二模反元素;

将所述第一模反元素和所述第二模反元素作为与所述公钥对应的私钥对。

4.根据权利要求2或3所述的方法,其特征在于,所述第一乘积为所述安全参数所表征的字符串长度的字符串;所述第二乘积的字符串长度为基于所述安全参数和所述第一预设长度所确定的第三预设长度。

5.根据权利要求1所述的方法,其特征在于,所述基于所述待加密的明文和所述安全参数,确定第一预设长度的第一字符串和第二字符串,包括:采用第三哈希算法和第四哈希算法对所述待加密的明文进行哈希运算,得到所述待加密的明文对应的第一整数和第二整数,其中,所述第三哈希算法和所述第四哈希算法用于将所述第二预设长度的字符串转换为整数;

以所述第一整数和所述第二整数为直角坐标系中的第一坐标点,并基于所述第一坐标点和所述直角坐标系中的坐标原点,确定所述第一坐标点所处的直线;

在所述第一坐标点所处的直线中选择除所述第一坐标点外的非零的第二坐标点,将所述第二坐标点的横坐标和纵坐标转换为所述第一字符串和第二字符串。

6.根据权利要求1所述的方法,其特征在于,在所述采用所述公钥对中的第二公钥组将拼接得到的第二拼接字符串转为第七字符串,得到所述待加密的明文对应的密文之后,所述方法还包括:获取所述公钥对对应的私钥对,基于所述私钥对中的第二私钥和所述公钥对中的第二公钥组对所述密文进行解密,得到解密后的字符串;

从所述解密后的字符串中提取所述解密后的字符串的第一子字符串;

基于所述私钥对中的第一私钥和所述公钥对中的第一公钥组,对所述第一子字符串进行转化,得到转化后的子字符串;

基于所述转化后的子字符串和所述第二哈希算法,得到所述转化后的子字符串对应的第二子字符串;

基于所述转化后的子字符串、所述第二子字符串和所述第一哈希算法,得到解密后的明文。

7.根据权利要求1所述的方法,其特征在于,在所述采用所述公钥对中的第二公钥组将拼接得到的第二拼接字符串转为第七字符串,得到所述待加密的明文对应的密文之后,所述方法还包括:获取所述公钥对对应的私钥对,基于所述私钥对中的第二私钥和所述公钥对中的第二公钥组对待测试密文进行解密,得到解密后的字符串;

提取所述解密后的字符串中第三子字符串和第四子字符串;

基于所述第三子字符串、所述第四子字符串、所述第一字符串和所述第二字符串,确定所述待加密的明文和所述待测试密文对应的明文是否相同。

8.一种加密装置,其特征在于,所述装置包括:

公钥对获取模块,用于获取待加密的明文、安全参数和加密所述待加密的明文所使用的公钥对,其中,所述安全参数用于表征字符串的长度;

第一确定模块,用于基于所述待加密的明文和所述安全参数,确定第一预设长度的第一字符串和第二字符串;

第二确定模块,用于随机获取第一预设长度的第三字符串,并基于第一哈希算法、所述第三字符串和所述待加密的明文,得到所述待加密的明文对应的第四字符串,其中,所述第一哈希算法用于将所述第一预设长度的字符串转换为第二预设长度的字符串,所述第二预设长度由所述安全参数和所述第一预设长度确定;

第三确定模块,用于基于第二哈希算法、所述第四字符串和所述第三字符串,得到所述待加密的明文对应的第五字符串,其中,所述第二哈希算法用于将所述第二预设长度的字符串转换为所述第一预设长度的字符串;

第一拼接模块,用于对所述第四字符串和所述第五字符串进行拼接,并采用所述公钥对中的第一公钥组将拼接得到的第一拼接字符串转换为第六字符串;

第二拼接模块,用于对所述第六字符串、所述第一字符串和所述第二字符串进行拼接,并采用所述公钥对中的第二公钥组将拼接得到的第二拼接字符串转为第七字符串,得到所述待加密的明文对应的密文。

9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现权利要求1-7任一所述的方法步骤。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一所述的方法步骤。