密文等值测试方法、装置、电子设备、存储介质及系统制造方法及图纸

技术编号:25001695 阅读:25 留言:0更新日期:2020-07-24 18:02
本发明专利技术实施例提供了一种密文等值测试方法、装置、电子设备、存储介质及系统,该方法包括:基于提取的第一密文的第二密文段、第五密文段以及测试私钥,确定第一密文对应的测试字符串;基于提取的第二密文的第二密文段、第五密文段以及测试私钥,确定第二密文对应的测试字符串;将第一密文对应的测试字符串转换为第一坐标点;将第二密文对应的测试字符串转换为第二坐标点;在第一坐标点与坐标原点构成的直线的第一斜率,与第二坐标点与坐标原点构成的直线的第二斜率相同时,确定第一密文对应的明文与第二密文对应的明文相同;否则,确定第一密文对应的明文与第二密文对应的明文不同。以实现在不对密文解密的前提下,确定出密文对应的明文是否相同。

【技术实现步骤摘要】
密文等值测试方法、装置、电子设备、存储介质及系统
本专利技术涉及信息处理
,特别是涉及一种密文等值测试方法、装置、电子设备、存储介质及系统。
技术介绍
密码学在现代生活中应用越来越广泛,例如,应用于网上支付系统、密码登陆系统和手机通信中的信息加密等等。可见,密码学在保护数据安全性方面起着重要作用。密码学作为研究编制密码和破译密码的技术科学,包括加密和解密。通常情况下,加密与解密是相互对应的。目前,常见的加密技术包括对称式加密技术和非对称式加密技术。例如,DES(DataEncryptionStandard,数据加密标准)加密算法是一种典型的对称式加密技术,RSA加密算法是一种典型的非对称式加密技术。非对称式加密就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为“公钥”和“私钥”,它们两个必需配对使用,否则不能打开加密文件。然而,专利技术人发现,在采用现有技术中的RSA加密算法对明文加密后,如果想要知道两条密文分别对应的明文是否相同,需要分别使用私钥对该两条密文进行解密,得到两条明文,然后才能通过对该两条明文的对比,来确定该两条明文是否相同。
技术实现思路
本专利技术实施例的目的在于提供一种密文等值测试方法、装置、电子设备、存储介质及系统,以实现在不对密文解密的前提下,确定出密文对应的明文是否相同。具体技术方案如下:第一方面,本专利技术实施例提供了一种密文等值测试方法,该方法包括:获取待测试的第一密文、第一密文的测试私钥、待测试的第二密文以及第二密文的测试私钥,其中,密文是基于与明文在预设直角坐标系中处于同一直线上的点和明文的公钥对,对明文进行加密得到的,直线穿过预设直角坐标系的坐标原点;从第一密文中提取第一密文的第二密文段和第五密文段,并从第二密文中提取第二密文的第二密文段和第五密文段;基于第一密文的第二密文段、第一密文的第五密文段以及第一密文对应的测试私钥,确定第一密文对应的测试字符串;基于第二密文的第二密文段、第二密文的第五密文段以及第二密文对应的测试私钥,确定第二密文对应的测试字符串;将第一密文对应的测试字符串转换为在预设坐标系中的第一坐标点;将第二密文对应的测试字符串转换为在预设坐标系中的第二坐标点;在第一坐标点与预设坐标系的坐标原点构成的直线的第一斜率,与第二坐标点与预设坐标系的坐标原点构成的直线的第二斜率相同时,确定第一密文对应的明文与第二密文对应的明文相同;否则,确定第一密文对应的明文与第二密文对应的明文不同。可选的,基于与明文在预设直角坐标系中处于同一直线上的点和明文的公钥对,对明文进行加密得到密文的步骤,包括:获取待加密的明文和加密明文所使用的公钥对;其中,明文为字符串;采用预先确定的第一哈希算法和第二哈希算法对明文进行哈希运算,得到明文对应的第一整数和第二整数;以第一整数和第二整数为直角坐标系中的第一坐标点,并基于第一坐标点和直角坐标系中的坐标原点,确定坐标点所处的直线;在直线中选择除第一坐标点之外的第二坐标点;并对第二坐标点中的两个值进行拼接,得到拼接后的字符串;获取随机选择的第三整数和第四整数;并采用公钥对中的第一公钥对第三整数加密,得到第一密文段;采用公钥对中的第二公钥对第四整数进行加密,得到第二密文段;采用第三哈希算法将第三整数转化为随机数,并采用随机数对明文进行异或运算,得到第三密文段;采用第四哈希算法将明文和第三整数转换为第一预设长度的字符串,得到第四密文段;采用第五哈希算法,将第四整数、第一密文段、第二密文段、第三密文段以及第四密文段转换为第二预设长度的字符串,并对第二预设长度的字符串和拼接后的字符串进行异或运算,得到第五密文段;基于第一密文段、第二密文段、第三密文段、第四密文段以及第五密文段,得到明文对应的密文。可选的,获取加密明文所使用的公钥对的步骤,包括:在预设素数表中选择第一素数对和第二素数对,其中,第一素数对和第二素数对分别包括两个素数;计算第一素数对中的两个素数的第一乘积以及第一乘积的欧拉函数值;计算第二素数对中的两个素数的第二乘积以及第二乘积的欧拉函数值;在预设整数表中选择第五整数和第六整数,其中,第五整数大于1且小于第一乘积的欧拉函数值;且第五整数与第一乘积的欧拉函数值的最大公约数为1;第六整数大于1且小于第二乘积的欧拉函数值;且第六整数与第二乘积的欧拉函数值的最大公约数为1;将第五整数和第六整数作为加密明文所使用的公钥对。可选的,在将第五整数和第六整数作为加密明文所使用的公钥对之后,方法还包括:基于第五整数、第一乘积的欧拉函数值,计算第五整数对于第一乘积的欧拉函数值的第一模反元素;基于第六整数、第二乘积的欧拉函数值,计算第六整数对于第二乘积的欧拉函数值的第二模反元素;将第一模反元素和第二模反元素作为与公钥对应的私钥对,其中,第一模反元素为解密私钥,第二模反元素为测试私钥。可选的,在确定第一密文对应的明文与第二密文对应的明文相同之后,方法还包括:从第一密文中提取第一密文的第一密文段和第三密文段;并基于第一密文中的第一密文段、第三密文段以及第一密文的解密私钥,对第一密文进行解密;或者从第二密文中提取第二密文的第一密文段和第三密文段;并基于第二密文中的第一密文段、第三密文段以及第二密文的解密私钥,对第二密文进行解密。可选的,基于第一密文的第二密文段、第一密文的第五密文段以及第一密文对应的测试私钥,确定第一密文对应的测试字符串,包括:基于第一密文C1的第二密文段C1,2和第一密文对应的测试私钥d1,2,通过以下公式:确定第一密文对应的测试字符串x1||y1;其中,符号表示异或运算,表示采用第五哈希算法,将第一密文C1的第一密文段C1,1、第二密文段C1,2、第三密文段C1,3、第四密文段C1,4以及第一密文C1的第二密文段C1,2的d1,2次方,转换为第二预设长度的字符串;基于第二密文的第二密文段、第二密文的第五密文段以及第二密文对应的私钥,确定第二密文对应的测试字符串,包括:基于第二密文C2的第二密文段C2,2和第二密文对应的测试私钥d2,2,通过以下公式:确定第二密文对应的测试字符串x2||y2;其中,表示采用第五哈希算法,将第二密文C2的第一密文段C2,1、第二密文段C2,2、第三密文段C2,3、第四密文段C2,4以及第二密文C2的第二密文段C2,2的d2,2次方,转换为第二预设长度的字符串。第二方面,本专利技术实施例还提供了一种密文等值测试装置,该装置包括:获取模块,用于获取待测试的第一密文、第一密文的测试私钥、待测试的第二密文以及第二密文的测试私钥,其中,密文是基于与明文在预设直角坐标系中处于同一直线上的点和明文的公钥对,对明文进行加密得到的,直线穿过预设直角坐标系的坐标原点;提取模块,用于从第一密文中提取第一密文的第二密文段和第五密文段,并从本文档来自技高网...

【技术保护点】
1.一种密文等值测试方法,其特征在于,所述方法包括:/n获取待测试的第一密文、所述第一密文的测试私钥、待测试的第二密文以及所述第二密文的测试私钥,其中,密文是基于与明文在预设直角坐标系中处于同一直线上的点和所述明文的公钥对,对所述明文进行加密得到的,所述直线穿过所述预设直角坐标系的坐标原点;/n从所述第一密文中提取所述第一密文的第二密文段和第五密文段,并从所述第二密文中提取所述第二密文的第二密文段和第五密文段;/n基于所述第一密文的第二密文段、所述第一密文的第五密文段以及所述第一密文对应的测试私钥,确定所述第一密文对应的测试字符串;/n基于所述第二密文的第二密文段、所述第二密文的第五密文段以及所述第二密文对应的测试私钥,确定所述第二密文对应的测试字符串;/n将所述第一密文对应的测试字符串转换为在预设坐标系中的第一坐标点;将所述第二密文对应的测试字符串转换为在所述预设坐标系中的第二坐标点;/n在所述第一坐标点与所述预设坐标系的坐标原点构成的直线的第一斜率,与所述第二坐标点与所述预设坐标系的坐标原点构成的直线的第二斜率相同时,确定所述第一密文对应的明文与所述第二密文对应的明文相同;否则,确定所述第一密文对应的明文与所述第二密文对应的明文不同。/n...

【技术特征摘要】
1.一种密文等值测试方法,其特征在于,所述方法包括:
获取待测试的第一密文、所述第一密文的测试私钥、待测试的第二密文以及所述第二密文的测试私钥,其中,密文是基于与明文在预设直角坐标系中处于同一直线上的点和所述明文的公钥对,对所述明文进行加密得到的,所述直线穿过所述预设直角坐标系的坐标原点;
从所述第一密文中提取所述第一密文的第二密文段和第五密文段,并从所述第二密文中提取所述第二密文的第二密文段和第五密文段;
基于所述第一密文的第二密文段、所述第一密文的第五密文段以及所述第一密文对应的测试私钥,确定所述第一密文对应的测试字符串;
基于所述第二密文的第二密文段、所述第二密文的第五密文段以及所述第二密文对应的测试私钥,确定所述第二密文对应的测试字符串;
将所述第一密文对应的测试字符串转换为在预设坐标系中的第一坐标点;将所述第二密文对应的测试字符串转换为在所述预设坐标系中的第二坐标点;
在所述第一坐标点与所述预设坐标系的坐标原点构成的直线的第一斜率,与所述第二坐标点与所述预设坐标系的坐标原点构成的直线的第二斜率相同时,确定所述第一密文对应的明文与所述第二密文对应的明文相同;否则,确定所述第一密文对应的明文与所述第二密文对应的明文不同。


2.根据权利要求1所述的方法,其特征在于,基于与明文在预设直角坐标系中处于同一直线上的点和所述明文的公钥对,对所述明文进行加密得到密文的步骤,包括:
获取待加密的明文和加密所述明文所使用的公钥对;其中,所述明文为字符串;
采用预先确定的第一哈希算法和第二哈希算法对所述明文进行哈希运算,得到所述明文对应的第一整数和第二整数;
以所述第一整数和所述第二整数为直角坐标系中的第一坐标点,并基于所述第一坐标点和所述直角坐标系中的坐标原点,确定所述坐标点所处的直线;
在所述直线中选择除所述第一坐标点之外的第二坐标点;并对所述第二坐标点中的两个值进行拼接,得到拼接后的字符串;
获取随机选择的第三整数和第四整数;并采用所述公钥对中的第一公钥对所述第三整数加密,得到第一密文段;采用所述公钥对中的第二公钥对所述第四整数进行加密,得到第二密文段;
采用第三哈希算法将所述第三整数转化为随机数,并采用所述随机数对所述明文进行异或运算,得到第三密文段;
采用第四哈希算法将所述明文和所述第三整数转换为第一预设长度的字符串,得到第四密文段;
采用第五哈希算法,将所述第四整数、所述第一密文段、所述第二密文段、所述第三密文段以及所述第四密文段转换为第二预设长度的字符串,并对所述第二预设长度的字符串和所述拼接后的字符串进行异或运算,得到第五密文段;
基于所述第一密文段、所述第二密文段、所述第三密文段、所述第四密文段以及所述第五密文段,得到所述明文对应的密文。


3.根据权利要求2所述的方法,其特征在于,获取加密所述明文所使用的公钥对的步骤,包括:
在预设素数表中选择第一素数对和第二素数对,其中,所述第一素数对和所述第二素数对分别包括两个素数;
计算所述第一素数对中的两个素数的第一乘积以及所述第一乘积的欧拉函数值;计算所述第二素数对中的两个素数的第二乘积以及所述第二乘积的欧拉函数值;
在预设整数表中选择第五整数和第六整数,其中,所述第五整数大于1且小于所述第一乘积的欧拉函数值;且所述第五整数与所述第一乘积的欧拉函数值的最大公约数为1;所述第六整数大于1且小于所述第二乘积的欧拉函数值;且所述第六整数与所述第二乘积的欧拉函数值的最大公约数为1;
将所述第五整数和所述第六整数作为加密所述明文所使用的公钥对。


4.根据权利要求3所述的方法,其特征在于,在所述将所述第五整数和所述第六整数作为加密所述明文所使用的公钥对之后,所述方法还包括:
基于所述第五整数、所述第一乘积的欧拉函数值,计算所述第五整数对于所述第一乘积的欧拉函数值的第一模反元素;
基于所述第六整数、所述第二乘积的欧拉函数值,计算所述第六整数对于所述第二乘积的欧拉函数值的第二模反元素;
将所述第一模反元素和...

【专利技术属性】
技术研发人员:朱慧君闫小斌刘平王励成闫青乐
申请(专利权)人:南阳理工学院
类型:发明
国别省市:河南;41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1