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次方,转换为第二预设长度的字符串;
将所述第一密文对应的测试字符串转换为在预设坐标系中的第一坐标点;将所述第二密文对应的测试字符串转换为在所述预设坐标系中的第二坐标点;
在所述第一坐标点与所述预设坐标系的坐标原点构成的直线的第一斜率,与所述第二坐标点与所述预设坐标系的坐标原点构成的直线的第二斜率相同时,确定所述第一密文对应的明文与所述第二密文对应的明文相同;否则,确定所述第一密文对应的明文与所述第二密文对应的明文不同;
基于与明文在预设直角坐标系中处于同一直线上的点和所述明文的公钥对,对所述明文进行加密得到密文的步骤,包括:获取待加密的明文和加密所述明文所使用的公钥对;其中,所述明文为字符串;
采用预先确定的第一哈希算法和第二哈希算法对所述明文进行哈希运算,得到所述明文对应的第一整数和第二整数;
以所述第一整数和所述第二整数为直角坐标系中的第一坐标点,并基于所述第一坐标点和所述直角坐标系中的坐标原点,确定所述坐标点所处的直线;
在所述直线中选择除所述第一坐标点之外的第二坐标点;并对所述第二坐标点中的两个值进行拼接,得到拼接后的字符串;
获取随机选择的第三整数和第四整数;并采用所述公钥对中的第一公钥对所述第三整数加密,得到第一密文段;采用所述公钥对中的第二公钥对所述第四整数进行加密,得到第二密文段;
采用第三哈希算法将所述第三整数转化为随机数,并采用所述随机数对所述明文进行异或运算,得到第三密文段;
采用第四哈希算法将所述明文和所述第三整数转换为第一预设长度的字符串,得到第四密文段;
采用第五哈希算法,将所述第四整数、所述第一密文段、所述第二密文段、所述第三密文段以及所述第四密文段转换为第二预设长度的字符串,并对所述第二预设长度的字符串和所述拼接后的字符串进行异或运算,得到第五密文段;
基于所述第一密文段、所述第二密文段、所述第三密文段、所述第四密文段以及所述第五密文段,得到所述明文对应的密文。
2.根据权利要求1所述的方法,其特征在于,获取加密所述明文所使用的公钥对的步骤,包括:在预设素数表中选择第一素数对和第二素数对,其中,所述第一素数对和所述第二素数对分别包括两个素数;
计算所述第一素数对中的两个素数的第一乘积以及所述第一乘积的欧拉函数值;计算所述第二素数对中的两个素数的第二乘积以及所述第二乘积的欧拉函数值;
在预设整数表中选择第五整数和第六整数,其中,所述第五整数大于1且小于所述第一乘积的欧拉函数值;且所述第五整数与所述第一乘积的欧拉函数值的最大公约数为1;所述第六整数大于1且小于所述第二乘积的欧拉函数值;且所述第六整数与所述第二乘积的欧拉函数值的最大公约数为1;
将所述第五整数和所述第六整数作为加密所述明文所使用的公钥对。
3.根据权利要求2所述的方法,其特征在于,在所述将所述第五整数和所述第六整数作为加密所述明文所使用的公钥对之后,所述方法还包括:基于所述第五整数、所述第一乘积的欧拉函数值,计算所述第五整数对于所述第一乘积的欧拉函数值的第一模反元素;
基于所述第六整数、所述第二乘积的欧拉函数值,计算所述第六整数对于所述第二乘积的欧拉函数值的第二模反元素;
将所述第一模反元素和所述第二模反元素作为与所述公钥对应的私钥对,其中,所述第一模反元素为解密私钥,所述第二模反元素为测试私钥。
4.根据权利要求1所述的方法,其特征在于,在所述确定所述第一密文对应的明文与所述第二密文对应的明文相同之后,所述方法还包括:从所述第一密文中提取所述第一密文的第一密文段和第三密文段;并基于所述第一密文中的第一密文段、第三密文段以及所述第一密文的解密私钥,对所述第一密文进行解密;
或者
从所述第二密文中提取所述第二密文的第一密文段和第三密文段;并基于所述第二密文中的第一密文段、第三密文段以及所述第二密文的解密私钥,对所述第二密文进行解密。
5.一种密文等值测试装置,其特征在于,所述装置包括:
获取模块,用于获取待测试的第一密文、所述第一密文的测试私钥、待测试的第二密文以及所述第二密文的测试私钥,其中,密文是基于与明文在预设直角坐标系中处于同一直线上的点和所述明文的公钥对,对所述明文进行加密得到的,所述直线穿过所述预设直角坐标系的坐标原点;
提取模块,用于从所述第一密文中提取所述第一密文的第二密文段和第五密文段,并从所述第二密文中提取所述第二密文的第二密文段和第五密文段;
测试字符串确定模块,用于
基于所述第一密文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次方,转换为第二预设长度的字符串;
转换模块,用于将所述第一密文对应的测试字符串转换为在预设坐标系中的第一坐标点;将所述第二密文对应的测试字符串转换为在所述预设坐标系中的第二坐标点;
对比模块,用于在所述第一坐标点与所述预设坐标系的坐标原点构成的直线的第一斜率,与所述第二坐标点与所述预设坐标系的坐标原点构成的直线的第二斜率相同时,确定所述第一密文对应的明文与所述第二密文对应的明文相同;否则,确定所述第一密文对应的明文与所述第二密文对应的明文不同;
公钥对获取模块,用于获取待加密的明文和加密所述明文所使用的公钥对;其中,所述明文为字符串;
整数获取模块,用于采用预先确定的第一哈希算法和第二哈希算法对所述明文进行哈希运算,得到所述明文对应的第一整数和第二整数;
直线确定模块,用于以所述第一整数和所述第二整数为直角坐标系中的第一坐标点,并基于所述第一坐标点和所述直角坐标系中的坐标原点,确定所述坐标点所处的直线;
拼接模块,用于在所述直线中选择除所述第一坐标点之外的第二坐标点;并对所述第二坐标点中的两个值进行拼接,得到拼接后的字符串;
密文段获取模块,用于获取随机选择的第三整数和第四整数;并采用所述公钥对中的第一公钥对所述第三整数加密,得到第一密文段;采用所述公钥对中的第二公钥对所述第四整数进行加密,得到第二密文段;
密文段获取模块,还用于采用第三哈希算法将所述第三整数转化为随机数,并采用所述随机数对所述明文进行异或运算,得到第三密文段;
密文段获取模块,还用于采用第四哈希算法将所述明文和所述第三整数转换为第一预设长度的字符串,得到第四密文段;
密文段获取模块,还用于采用第五哈希算法,将所述第四整数、所述第一密文段、所述第二密文段、所述第三密文段以及所述第四密文段转换为第二预设长度的字符串,并对所述第二预设长度的字符串和所述拼接后的字符串进行异或运算,得到第五密文段;
密文获得模块,用于基于所述第一密文段、所述第二密文段、所述第三密文段、所述第四密文段以及所述第五密文段,得到所述明文对应的密文。
6.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1‑4任一所述的方法步骤。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1‑4任一所述的方法步骤。
8.一种密文等值测试系统,其特征在于,所述测试系统至少包括:权利要求5所述的密文等值测试装置。