CN110351079A - 基于父子关系验证的三方解密方法 - Google Patents
基于父子关系验证的三方解密方法 Download PDFInfo
- Publication number
- CN110351079A CN110351079A CN201910615791.1A CN201910615791A CN110351079A CN 110351079 A CN110351079 A CN 110351079A CN 201910615791 A CN201910615791 A CN 201910615791A CN 110351079 A CN110351079 A CN 110351079A
- Authority
- CN
- China
- Prior art keywords
- code key
- value
- set membership
- membership
- function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于父子关系验证的三方解密方法,往加密模块中输入第一秘钥、第二秘钥和第三秘钥,第一秘钥为父子关系函数,第二秘钥为第一元素集合,第三秘钥为第二元素集合;加密模块通过第一秘钥的父子关系函数识别出第二秘钥的第一元素集合中满足父子关系函数的元素;将第一元素集合中不满足父子关系函数的元素挑选出来组成第三元素集合;加密模块比较第二元素集合和第三元素集合并当第二元素集合和第三元素集合种的元素完全相同时解除加密。本发明的有益之处在于提供的基于父子关系验证的三方解密方法采用父子关系验证的方式判断三方秘钥的关联性,当三方秘钥满足一定预设关系时解除加密。
Description
技术领域
本发明涉及一种基于父子关系验证的三方解密方法。
背景技术
在实际应用中存在以下场景:某个软件功能或文件被加密软件加密,需要得到三个人输入秘钥对其进行解密才能解除加密软件的加密以使用软件或打开被加密的文件。这需要这三个人各自持有一套密钥,且这三套蜜钥的内容都不相同,当这三套密钥作为三个参数同时输入到这个密码程序,就会触发这个密码解锁的程序。
现有的方法一般是,这三个人手中的钥匙是一个经过md5算法计算得到的信息摘要,这三个信息摘要是不相同的。但针对md5信息摘要,使用穷举字符串的方式可以破解。所以这三个人的密码都可以通过穷举字符串来破解。
发明内容
为解决现有技术的不足,本发明提供了一种可以解决上述问题的基于父子关系验证的三方解密方法。
为了实现上述目标,本发明采用如下的技术方案:
一种基于父子关系验证的三方解密方法,包含以下步骤:
往加密模块中输入第一秘钥、第二秘钥和第三秘钥,第一秘钥为父子关系函数,第二秘钥为第一元素集合,第三秘钥为第二元素集合;
加密模块通过第一秘钥的父子关系函数识别出第二秘钥的第一元素集合中满足父子关系函数的元素;
将第一元素集合中不满足父子关系函数的元素挑选出来组成第三元素集合;
加密模块比较第二元素集合和第三元素集合并当第二元素集合和第三元素集合种的元素完全相同时解除加密。
进一步地,第一秘钥设有第一标记;
第二秘钥设有第二标记;
第三秘钥设有第三标记;
加密模块通过第一标记、第二标记和第三标记识别第一秘钥、第二秘钥和第三秘钥。
进一步地,加密模块通过第一秘钥的父子关系函数识别出第二秘钥的第一元素集合中满足父子关系函数的元素的具体步骤为:
计算第一元素集合中每一个元素的父元素;
将第一元素集合中的元素和其对应的父元素存入第一hashmap;
通过第一hashmap从第一元素集合中查找出所有满足父子关系函数的元素。
进一步地,计算第一元素集合中每一个元素的父元素的具体方法为:
通过父子关系函数计算得到父子关系函数的逆函数作为父子关系逆函数;
将元素代入父子关系逆函数中求得其所对应的父元素。
进一步地,将第一元素集合中的元素和其对应的父元素存入第一hashmap的具体方法为:
将第一元素集合中的元素作为key值且将该元素对应的父元素作为value值,将第一元素集合中的元素和其父元素组成key-value对存入第一hashmap。
进一步地,通过第一hashmap查找出所有满足父子关系函数的元素的方法为:
将第一元素集合中的元素作为key值从第一hashmap中获取其对应的value值;
将获取到的value值作为新的key值从第一hashmap中获取其对应的value值;
当将获取到的value值作为新的key值从第一hashmap中能够获取到其对应的value值时,该元素的父元素包含在第一元素集合中;
当将获取到的value值作为新的key值从第一hashmap中无法获取到其对应的value值时,该元素的父元素不包含在第一元素集合中;
第一元素集合中通过查找判断其子元素或父元素存在于第一元素集合中的元素即为满足父子关系函数的元素。
进一步地,通过秘钥生成模块生成第一秘钥、第二秘钥和第三秘钥。
进一步地,通过秘钥生成模块生成第一秘钥、第二秘钥和第三秘钥的具体步骤为:
从存储有若干对应有根元素集合和孤立元素集合的父子关系函数的数据库中随机选择一个父子关系函数作为第一秘钥;
从随机挑选出的父子关系函数所对应的根元素集合和孤立元素集合中随机选择若干根元素和若干孤立元素;
将挑选出的若干孤立元素组成第二元素集合作为第三秘钥;
将根元素代入父子关系函数迭代预设次数,将孤立元素、根元素以及将根元素代入父子关系函数运算得到的元素组成第一元素集合作为第二秘钥。
进一步地,将第一秘钥发送至第一用户;
将第二秘钥发送至第二用户;
将第三秘钥发送至第三用户。
进一步地,数据库为第二hashmap;
父子关系函数和其对应的根元素集合和孤立元素集合分别作为key和value存入第二hashmap。
本发明的有益之处在于提供的基于父子关系验证的三方解密方法采用父子关系验证的方式判断三方秘钥的关联性,当三方秘钥满足一定预设关系时解除加密。这三方秘钥的随机性较大,组合变化多,且三个秘钥的数据类型差距比较大,一个是函数,两个是随机的元素集合,难以通过穷举的方式进行暴力破解。特别是当元素集合中的元素数量达到一定级别后,暴力破解几乎是不可能的。
本发明的有益之处还在于提供的基于父子关系验证的三方解密方法采用hashmap的key-value映射的特性可以实现快速查找元素集合中满足父子关系的元素。
附图说明
图1是本发明的基于父子关系验证的三方解密方法的流程图。
具体实施方式
以下结合附图和具体实施例对本发明作具体的介绍。
如图1所示为本发明的一种基于父子关系验证的三方解密方法,该方法基于父子关系验证,在一个元素集合中,例如对于元素集合{A,B,C},该元素集合中的元素满足f(A)=B,且f(B)=C,我们认为,该元素集合中的每个元素均满足父子关系函数f(x),元素A、B、C满足父子关系。其中,元素A是元素B的父元素,元素B是元素A的子元素,元素B是元素C的父级,元素C是元素B的子级。而且元素A的父元素并未包含在元素集合中,我们称元素A为根,而元素C的子元素并未包含在元素集合中,那么元素C就是子结点。当需要验证一个元素集合中的每个元素是否满足父子关系时,只需要验证该元素集合中的每个元素的子元素或父元素是否存在于该元素集合中,若该元素的父元素或子元素存在于该元素集合中,则该元素满足父子关系。本发明基于元素集合中的元素的父子关系验证得到以下的三方解密方法,其包含以下步骤:S1:往加密模块中输入第一秘钥、第二秘钥和第三秘钥,第一秘钥为父子关系函数,第二秘钥为第一元素集合,第三秘钥为第二元素集合;S2:加密模块通过第一秘钥的父子关系函数识别出第二秘钥的第一元素集合中满足父子关系函数的元素;S3:将第一元素集合中不满足父子关系函数的元素挑选出来组成第三元素集合;S4:加密模块比较第二元素集合和第三元素集合并当第二元素集合和第三元素集合种的元素完全相同时解除加密。
对于S1:往加密模块中输入第一秘钥、第二秘钥和第三秘钥。
本发明中的加密模块需三方分别输入秘钥对加密模块进行解锁,这三个秘钥分别是第一秘钥、第二秘钥和第三秘钥,其中,第一秘钥为父子关系函数,第二秘钥为第一元素集合,第三秘钥为第二元素集合。本发明的三方秘钥需要满足一定关系方能解除加密模块的加密,第一密钥、第二秘钥和第三秘钥由特定的秘钥生成模块以一定规则生成。在本发明中,一数据库存储若干父子关系函数,每个父子关系函数均具有对应的根元素集合和孤立元素集合,其中,根元素集合中的元素可以代入其对应的父子关系函数中进行迭代运算产生一系列满足该父子关系函数的元素,孤立元素集合中的元素无法代入其对应的父子关系函数进行运算,且在任何情况下,孤立元素中的元素均不满足其对应的父子关系函数。秘钥生成模块从该数据库中随机选取一个父子关系函数f(x)以及该父子关系函数f(x)对应的根元素集合和孤立元素集合,从根元素集合中随机选择预设数量的根元素代入父子关系函数f(x)中进行迭代运算一定次数生成一系列元素,从孤立元素集合中随机挑选预设数量的孤立元素,并且,将挑选出的父子关系函数f(x)作为第一秘钥,将挑选出的孤立元素组成第二元素集合作为第三秘钥,将孤立元素、随机挑选出的若干根元素以及将根元素代入父子关系函数f(x)进行迭代运算所产生的所有元素组成第一元素集合作为第二秘钥。为了便于后续的加密模块识别第一秘钥、第二秘钥和第三秘钥,秘钥生成模块对生成的第一秘钥、第二秘钥和第三秘钥进行标记,具体地,将第一秘钥打上第一标记,将第二秘钥打上第二标记,将第三秘钥打上第三标记,加密模块通过第一标记、第二标记和第三标记识别第一秘钥、第二秘钥和第三秘钥。
对于S2:加密模块通过第一秘钥的父子关系函数识别出第二秘钥的第一元素集合中满足父子关系函数的元素。
在本发明中,通过以下步骤查找满足父子关系函数f(x)的元素:S11:计算第一元素集合中每一个元素的父元素;S12:将第一元素集合中的元素和其对应的父元素存入第一hashmap;S13;通过第一hashmap查找出所有满足父子关系函数f(x)的元素。
具体而言,通过父子关系函数f(x)计算得到该父子关系函数f(x)的逆函数作为父子关系逆函数f(x)-1。将元素代入通过计算得到的父子关系逆函数f(x)-1中求得的值即为元素所对应的父元素。将元素作为key值且将元素对应的父元素作为value值,将该元素和其对应的父元素组成key-value对存入第一hashmap,即通过put(key,value)方法将元素和其对应的父元素组成key-value对存入第一hashmap以用于后续的查找。将需要验证的第一元素集合中的每一个元素进行以下验证:以元素A为例,将元素A作为key值在第一hashmap中获取其对应的value,即通过get(x)方法,将元素A代入get(x)以从第一hashmap中对元素A进行运算查找得到该元素A对应的value值,将获取到的value值作为新的key值再通过get(x)方法从第一hashmap中获取其对应的value值,并根据其获取的结果判断元素A的父元素是否存在于第一元素集合中,假设将获取到的value值作为新的key值通过get(x)方法从第一hashmap中获取到其对应的value值,表示元素A的父元素存在于第一元素集合中,即元素A满足父子关系。反之,当将获取到的value值作为新的key值通过get(x)方法从第一hashmap中无法获取到其对应的value值时,则表示元素A的父元素不存在于第一元素集合中,可以理解的是,元素A的父元素不存在于第一元素集合中并不能直接得出元素A不满足父子关系,因为元素A也有可能是根,只有当经过所有的验证步骤后判断得到元素A同时也不是第一元素集合中的其他元素的父元素时则表示元素A不满足父子关系,反之,若元素A是第一元素集合中的其他元素的父元素,则元素A也满足父子关系。
通过该父子关系元素查找方法,假设第一元素集合包含n个元素,把每个元素代入父子关系逆函数f(x)-1中计算得到父元素,并把这种映射关系存放到第一hashmap中,则需要运算的步骤为2n,到了查找的时候,每个元素只需要从第一hashmap中进行两次get(x)方法查找,那么查找次数为2n,总的运算步骤为4n,运算步骤少。
对于S3:将第一元素集合中不满足父子关系函数的元素挑选出来组成第三元素集合。
该第三元素集合中的元素均为孤立元素。
对于S4:加密模块比较第二元素集合和第三元素集合并当第二元素集合和第三元素集合种的元素完全相同时解除加密。
只有当经过查找后得到的第三元素集合和初始输入的第二元素集合中的元素完全相同时,加密模块解除对锁定软件、文件等的加密。
以上显示和描述了本发明的基本原理、主要特征和优点。本行业的技术人员应该了解,上述实施例不以任何形式限制本发明,凡采用等同替换或等效变换的方式所获得的技术方案,均落在本发明的保护范围内。
Claims (10)
1.一种基于父子关系验证的三方解密方法,其特征在于,包含以下步骤:
往加密模块中输入第一秘钥、第二秘钥和第三秘钥,所述第一秘钥为父子关系函数,所述第二秘钥为第一元素集合,所述第三秘钥为第二元素集合;
所述加密模块通过所述第一秘钥的所述父子关系函数识别出所述第二秘钥的所述第一元素集合中满足所述父子关系函数的元素;
将所述第一元素集合中不满足所述父子关系函数的元素挑选出来组成第三元素集合;
所述加密模块比较所述第二元素集合和所述第三元素集合并当所述第二元素集合和所述第三元素集合种的元素完全相同时解除加密。
2.根据权利要求1所述的基于父子关系验证的三方解密方法,其特征在于,
所述第一秘钥设有第一标记;
所述第二秘钥设有第二标记;
所述第三秘钥设有第三标记;
所述加密模块通过所述第一标记、所述第二标记和所述第三标记识别所述第一秘钥、所述第二秘钥和所述第三秘钥。
3.根据权利要求1所述的基于父子关系验证的三方解密方法,其特征在于,
所述加密模块通过所述第一秘钥的所述父子关系函数识别出所述第二秘钥的所述第一元素集合中满足所述父子关系函数的元素的具体步骤为:
计算所述第一元素集合中每一个元素的父元素;
将所述第一元素集合中的元素和其对应的所述父元素存入第一hashmap;
通过所述第一hashmap从所述第一元素集合中查找出所有满足所述父子关系函数的元素。
4.根据权利要求3所述的基于父子关系验证的三方解密方法,其特征在于,
计算所述第一元素集合中每一个元素的所述父元素的具体方法为:
通过所述父子关系函数计算得到所述父子关系函数的逆函数作为父子关系逆函数;
将元素代入所述父子关系逆函数中求得其所对应的所述父元素。
5.根据权利要求4所述的基于父子关系验证的三方解密方法,其特征在于,
将所述第一元素集合中的元素和其对应的父元素存入所述第一hashmap的具体方法为:
将所述第一元素集合中的元素作为key值且将该元素对应的父元素作为value值,将所述第一元素集合中的元素和其父元素组成key-value对存入所述第一hashmap。
6.根据权利要求5所述的基于父子关系验证的三方解密方法,其特征在于,
通过所述第一hashmap查找出所有满足所述父子关系函数的元素的方法为:
将所述第一元素集合中的元素作为key值从所述第一hashmap中获取其对应的value值;
将获取到的value值作为新的key值从所述第一hashmap中获取其对应的value值;
当将获取到的value值作为新的key值从所述第一hashmap中能够获取到其对应的value值时,该元素的父元素包含在所述第一元素集合中;
当将获取到的value值作为新的key值从所述第一hashmap中无法获取到其对应的value值时,该元素的父元素不包含在所述第一元素集合中;
所述第一元素集合中通过查找判断其子元素或父元素存在于所述第一元素集合中的元素即为满足所述父子关系函数的元素。
7.根据权利要求1所述的基于父子关系验证的三方解密方法,其特征在于,
通过秘钥生成模块生成所述第一秘钥、所述第二秘钥和所述第三秘钥。
8.根据权利要求7所述的基于父子关系验证的三方解密方法,其特征在于,
通过所述秘钥生成模块生成所述第一秘钥、所述第二秘钥和所述第三秘钥的具体步骤为:
从存储有若干对应有根元素集合和孤立元素集合的所述父子关系函数的数据库中随机选择一个所述父子关系函数作为所述第一秘钥;
从随机挑选出的所述父子关系函数所对应的所述根元素集合和所述孤立元素集合中随机选择若干根元素和若干孤立元素;
将挑选出的若干所述孤立元素组成所述第二元素集合作为所述第三秘钥;
将所述根元素代入所述父子关系函数迭代预设次数,将所述孤立元素、所述根元素以及将所述根元素代入所述父子关系函数运算得到的元素组成所述第一元素集合作为所述第二秘钥。
9.根据权利要求8所述的基于父子关系验证的三方解密方法,其特征在于,
将所述第一秘钥发送至第一用户;
将所述第二秘钥发送至第二用户;
将所述第三秘钥发送至第三用户。
10.根据权利要求9所述的基于父子关系验证的三方解密方法,其特征在于,
所述数据库为第二hashmap;
所述父子关系函数和其对应的根元素集合和孤立元素集合分别作为key和value存入所述第二hashmap。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910615791.1A CN110351079B (zh) | 2019-07-09 | 2019-07-09 | 基于父子关系验证的三方解密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910615791.1A CN110351079B (zh) | 2019-07-09 | 2019-07-09 | 基于父子关系验证的三方解密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110351079A true CN110351079A (zh) | 2019-10-18 |
CN110351079B CN110351079B (zh) | 2022-03-01 |
Family
ID=68178656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910615791.1A Active CN110351079B (zh) | 2019-07-09 | 2019-07-09 | 基于父子关系验证的三方解密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110351079B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104618098A (zh) * | 2015-01-12 | 2015-05-13 | 北京科技大学 | 一种集合成员关系判定的密码学构造方法及系统 |
US20170019261A1 (en) * | 2015-07-13 | 2017-01-19 | Fujitsu Limited | Relational encryption for password verification |
CN108632248A (zh) * | 2018-03-22 | 2018-10-09 | 平安科技(深圳)有限公司 | 数据加密方法、数据查询方法、装置、设备及存储介质 |
CN110347886A (zh) * | 2019-06-21 | 2019-10-18 | 政采云有限公司 | 分布式父子关系元素查找方法 |
-
2019
- 2019-07-09 CN CN201910615791.1A patent/CN110351079B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104618098A (zh) * | 2015-01-12 | 2015-05-13 | 北京科技大学 | 一种集合成员关系判定的密码学构造方法及系统 |
US20170019261A1 (en) * | 2015-07-13 | 2017-01-19 | Fujitsu Limited | Relational encryption for password verification |
CN108632248A (zh) * | 2018-03-22 | 2018-10-09 | 平安科技(深圳)有限公司 | 数据加密方法、数据查询方法、装置、设备及存储介质 |
CN110347886A (zh) * | 2019-06-21 | 2019-10-18 | 政采云有限公司 | 分布式父子关系元素查找方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110351079B (zh) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Naor | Bit commitment using pseudorandomness | |
Boyle et al. | Function secret sharing: Improvements and extensions | |
Andoni et al. | Earth mover distance over high-dimensional spaces. | |
Li et al. | A remote password authentication scheme for multiserver architecture using neural networks | |
Ballard et al. | The Practical Subtleties of Biometric Key Generation. | |
Rührmair et al. | PUF modeling attacks on simulated and silicon data | |
Ma et al. | A secure face-verification scheme based on homomorphic encryption and deep neural networks | |
Sharad et al. | An automated social graph de-anonymization technique | |
Blanton et al. | Analysis of reusability of secure sketches and fuzzy extractors | |
Pfeiffer et al. | Fast generation of large scale social networks while incorporating transitive closures | |
Kamp et al. | Deterministic extractors for small-space sources | |
Scheirer et al. | Bipartite biotokens: Definition, implementation, and analysis | |
CN106258008B (zh) | 具有改进的抗错性的生物计量系统 | |
CN108156138A (zh) | 一种用于雾计算的细粒度可搜索加密方法 | |
CN110908959A (zh) | 一种支持多关键字和结果排序的动态可搜索加密方法 | |
US11475141B1 (en) | Apparatus and methods for verifying lost user data | |
CN109639436A (zh) | 基于盐值的数据持有性验证方法及终端设备 | |
CN115314295A (zh) | 一种基于区块链的可搜索加密技术方法 | |
Adjedj et al. | Biometric identification over encrypted data made feasible | |
WO2023177725A1 (en) | Apparatus and methods for verifying lost user data | |
CN110222012A (zh) | 单一用户环境下基于细粒度排序的数据密文查询方法 | |
Zhu et al. | Pool: Scalable on-demand secure computation service against malicious adversaries | |
CN110351079A (zh) | 基于父子关系验证的三方解密方法 | |
Zarezadeh et al. | Efficient secure pattern matching with malicious adversaries | |
Pfeiffer III et al. | Fast generation of large scale social networks with clustering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |