CN113158174A - 基于图论的分组密码实际密钥信息的自动化搜索系统 - Google Patents
基于图论的分组密码实际密钥信息的自动化搜索系统 Download PDFInfo
- Publication number
- CN113158174A CN113158174A CN202110365685.XA CN202110365685A CN113158174A CN 113158174 A CN113158174 A CN 113158174A CN 202110365685 A CN202110365685 A CN 202110365685A CN 113158174 A CN113158174 A CN 113158174A
- Authority
- CN
- China
- Prior art keywords
- key
- network
- arc
- aki
- point
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
- G06F21/46—Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Data Mining & Analysis (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种基于图论的分组密码实际密钥信息的自动化搜索系统,包括:包括:计算密钥依赖路径单元、构建流量网络单元和计算AKI单元,计算密钥依赖路径单元与构建流量网络单元相连,根据由密钥依赖矩阵M表示的密钥编排方案和密钥猜测集合K将流量网络中的顶点V、弧E和弧上容量信息c输出至构建流量网络单元;构建流量网络单元计算AKI所需的流量网络Gf(V,E,c)并输出至计算AKI单元;计算AKI单元通过对流量网络Gf(V,E,c)应用最大流‑最小割算法得到最大流K0,即密钥猜测集合K的AKI值。本发明通过构建密钥编排方案与流量网络之间的桥梁,实现所有计算路径和密钥依赖路径的自动搜索并获得每条路径的真实AKI值。
Description
技术领域
本发明涉及的是一种信息安全领域的技术,具体是一种基于图论的分组密码实际密钥信息的自动化搜索系统。
背景技术
密钥编排方案是在加解密中都会用到的一种将较短的主密钥扩展成很长的扩展密钥,并用来做轮密钥的算法。在分组密码中,考虑到算法的设计与实现,其密钥编排方案往往会比较简单,而过于简单的编排方案往往会导致一些攻击。
现有的实际密钥信息(Actual Key Information,AKI)这一概念来评估扩散密钥比特的有效速度以防御攻击,但现有的AKI算法只能给出AKI的上界,仅可用于攻击分析,无法用来分析密钥编排方案的强弱好坏,也不能用来改进密钥编排方案的设计;另外,由于没有考虑自动化搜索或存在不可计算的情况而实用性不足。为了分析和确定密钥编排方案的扩散程度,用时也为了通过减少密钥猜测集合的大小来优化一些密码攻击,需要计算出AKI的真实值,并在一定程度上实现自动化搜索的过程。
发明内容
本发明针对现有技术存在的上述不足,提出一种基于图论的分组密码实际密钥信息的自动化搜索系统,通过构建密钥编排方案与流量网络之间的桥梁,实现所有计算路径和密钥依赖路径的自动搜索并获得每条路径的真实AKI值。
本发明是通过以下技术方案实现的:
本发明涉及一种基于图论的分组密码实际密钥信息的自动化搜索系统,包括:计算密钥依赖路径单元、构建流量网络单元和计算AKI单元,其中:计算密钥依赖路径单元与构建流量网络单元相连,根据由密钥依赖矩阵M表示的密钥编排方案和密钥猜测集合K将流量网络中的顶点V、弧E和弧上容量信息c输出至构建流量网络单元;构建流量网络单元计算AKI所需的流量网络Gf(V,E,c)并输出至计算AKI单元;计算AKI单元通过对流量网络Gf(V,E,c)应用最大流-最小割算法得到最大流K0,即密钥猜测集合K的AKI值。
所述的流量网络Gf(V,E,c)中的V为顶点集合,E为弧集合,c为弧上容量,并满足:
所述的最大流,通过遍历中间加密状态所有轮数的所有比特位置得到对应的密钥猜测集合,为之构建新的流量网络,并计算对应的真实AKI值,故可一次性得到前R轮所有比特位置的AKI值,而无需人为一遍遍地输入每一比特位置的密钥猜测集合。
技术效果
本发明整体解决了现有技术无法计算真实AKI值和无法自动化搜索密钥编排方案在所有轮次和所有位置的扩散程度的不足;与现有技术相比,本发明适用于分组密码中所有情况的密钥编排方案,自动化地搜索密钥编排方案所有计算路径和密钥依赖路径上的真实的AKI值,确立了利用AKI不足减少密钥猜测集合的大小来优化密码攻击的实用性;本发明时间复杂度更低。对于一个主密钥长度为n比特的加密方案来说,计算第r轮的单轮实际密钥信息时,计算密钥依赖路径的时间复杂度约为O(nr),因此计算出该轮所有密钥依赖路径的复杂度为O(n2r)。对于这n条密钥依赖路径,均使用本方法计算其AKI,n次调用的时间复杂度为O(n4r2.5)。对于大多数密码算法来说,本发明能在数十秒内给出分析结果。
附图说明
图1为本发明流程图;
图2为实施例示意图;
图中:(a)为由玩具密码的密钥编排方案,(b)为相应流量网络图;
图3为自动化搜索模块示意图。
具体实施方式
如图1所示,为本实施例涉及一种基于图论的分组密码实际密钥信息的自动化搜索实现方法,基于密钥依赖矩阵M和密钥猜测集合K构造流量网络Gf(V,E,c),然后对该流量网络Gf(V,E,c)应用最大流-最小割算法得到最大流K0,即K的实际密钥信息,具体包括:
步骤1)建立两个特殊顶点:源点s和汇点t。
步骤2)为每一个猜测比特建立两个顶点:入点uin和出点uout,并从入点uin引一条容量为1的弧至uout。
所述的猜测比特,包括集合K中的密钥比特和K所依赖的密钥比特u。
步骤3)采用以下任一方式建立容量为无穷大的弧,具体包括:
a)从源点s到每个处在主密钥上的比特u的入点uin的弧;
b)从每个在K中的比特u的出点uout到汇点t的弧;
c)分布在连续两轮上的存在依赖关系的两个比特u和v,后轮的v依赖前轮的u时,从u的出点uout到v的入点vin的弧。
通过步骤1)~3)建立密钥猜测集合K所对应的流量网络Gf(V,E,c),同一轮比特之间不可能存在弧,只有相邻两轮的比特之间或与源点汇点之间才会存在无穷大容量的弧。因此,可以将流量网络Gf(V,E,c)分成R个分组,其中R是K中比特所在的最大轮数,每个分组包含K中的密钥比特和K所依赖的密钥比特在这一轮对应的入点与出点。
如图2所示,为一个由玩具密码的密钥编排方案通过以上方法得出的流量网络图。图2(a)中玩具密码左侧是迭代的轮函数,右侧是密钥编排,其分组大小和主密钥长度均为6比特,每一轮中间加密状态都直接与对应轮密钥进行异或操作。左侧灰色比特为计算第4轮O0这一比特所需要依赖的计算路径上的比特,右侧灰色比特为左侧计算路径所对应的密钥依赖路径上的比特。密钥依赖路径上的比特就是为了计算O0这一比特而需要知道的密钥信息,它们组成密钥猜测集合K,由图2(b)流量网络图中黑色的点表示。当密钥编排方案的依赖矩阵为M=((100000),(010100),(000010),(100001),(001000),(000101))时,得到K所依赖的密钥比特除自身中的比特外还包括轮密钥中第3轮第3比特,第2轮第1、2、4比特和第1轮第3、4、6比特,这些依赖比特由(b)流量网络图中每一轮的白色点表示。为每个K中的密钥比特和K所依赖的密钥比特,即所有黑点和白点构建入点和出点以及入点到出点的容量为1的弧。之后建立特殊点源点s和汇点t,并且引源点s到主密钥上比特,即第1轮黑点和白点的入点的容量为无穷大的弧;从每个在K中的比特,即所有黑点的出点到汇点t的容量为无穷大的弧。最后,对于分布在连续两轮上的存在依赖关系的两个比特,引从前轮比特的出点到后轮比特的入点的容量为无穷大的弧。
以上所述所有的弧都由(b)流量网络图中的箭头表示,箭头上的1表示容量为1,箭头上无数字表示容量为无穷大。
步骤4)对流量网络Gf(V,E,c)应用最大流-最小割算法得出的最大流,即密钥猜测集合K的真实AKI值,对应的最小割中入点与出点被割在两个不同集合中比特构成的集合即为一个实际密钥信息集合。
如图2所示的由玩具密码所构建出的流量网络图中的虚线就是利用最大流-最小割算法得到的该流量网络的一个最小割。最小割中涉及的5个比特即为实际密钥信息集合,即流量网络Gf(V,E,c)对应的真实AKI值为5。
所述的最大流-最小割算法采用Ford-Fulkerson算法,具体步骤为:
1)初始化网络流量f=0,残留网络Gr=Gf(V,E,c)。对于Gr的每条弧(u,v),初始化流量f(u,v)=0;
2)当Gr中存在一条从源点s到汇点t的路径p,使得路径上每条弧(u,v)∈p,都有剩余容量cr(u,v)>0,那么先设置路径p本次应发送的流量为路径最小剩余容量:cr(p)=min{cr(u,v)|(u,v)∈p};然后更新网络流量f=f+cr(p);
3)对于每一条弧(u,v)∈p,更新Gr的剩余流量:包括f(u,v)=f(u,v)+cr(p)和f(v,u)=f(v,u)-cr(p)。当在残留网络Gr中不再存在从源点s到汇点t的路径,此算法终止,此时网络流量f即为初始流量网络Gf(V,E,c)的最大流。
优选地,在生成流量网络Gf时可以任意指定密钥猜测集合;如图3所示,通过遍历中间加密状态所有轮数的所有比特位置得到对应的密钥猜测集合,即构建流量网络,并计算对应的真实AKI值,故只需输入表示轮数的参数R,便可一次性得到前R轮所有比特位置的AKI值,而无需像现有技术一样人为一遍遍地输入密钥猜测集合,一次只能得到某一轮某一个位置的AKI值,即可实现自动化地搜索。
经过具体实际实验,在Intel i7-9750H CPU,16GB RAM的环境设置下,以RECTANGLE-128加密算法作为实验对象,以7轮为实验参数,运行上述方法,对每一轮中间加密状态的比特对应的密钥依赖路径进行自动化搜索,得出RECTANGLE-128在前6轮均出现AKI不足,即存在密钥信息泄露;在第7轮的所有中间加密状态的比特对应的密钥依赖路径的AKI都达到了主密钥长度,即不存在密钥信息泄露。期间自动进行了128*7=896次搜索路径并构造流量网络计算,耗时为45s,得到每条路径的AKI值的平均时间约为50ms。
综上,与现有技术中贪心思想的出发点完全不同,本发明改进了现有技术手段无法计算真实AKI值,可以自动化地检测密码算法是否存在密钥信息泄露,计算扩散路径上的实际密钥信息,不仅可以通过减少密钥猜测集合的大小来优化一些密码攻击,而且可以用来分析密钥编排方案的强弱好坏,并以此为依据改进密钥编排方案的设计。
上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。
Claims (5)
1.一种基于图论的分组密码实际密钥信息的自动化搜索系统,其特征在于,包括:计算密钥依赖路径单元、构建流量网络单元和计算AKI单元,其中:计算密钥依赖路径单元与构建流量网络单元相连,根据由密钥依赖矩阵M表示的密钥编排方案和密钥猜测集合K将流量网络中的顶点V、弧E和弧上容量信息c输出至构建流量网络单元;构建流量网络单元计算AKI所需的流量网络Gf(V,E,c)并输出至计算AKI单元;计算AKI单元通过对流量网络Gf(V,E,c)应用最大流-最小割算法得到最大流K0,即密钥猜测集合K的AKI值;
所述的最大流,通过遍历中间加密状态所有轮数的所有比特位置得到对应的密钥猜测集合,为之构建新的流量网络,并计算对应的真实AKI值,故可一次性得到前R轮所有比特位置的AKI值,而无需人为一遍遍地输入每一比特位置的密钥猜测集合。
3.根据权利要求1所述的基于图论的分组密码实际密钥信息的自动化搜索系统,其特征是,所述的流量网络,通过以下方式构建得到:
步骤1)建立两个特殊顶点:源点s和汇点t;
步骤2)为每一个猜测比特建立两个顶点:入点uin和出点uout,并从入点uin引一条容量为1的弧至uout;
所述的猜测比特,包括集合K中的密钥比特和K所依赖的密钥比特u;
步骤3)采用以下任一方式建立容量为无穷大的弧,具体包括:
a)从源点s到每个处在主密钥上的比特u的入点uin的弧;
b)从每个在K中的比特u的出点uout到汇点t的弧;
c)分布在连续两轮上的存在依赖关系的两个比特u和v,后轮的v依赖前轮的u时,从u的出点uout到v的入点vin的弧。
4.根据权利要求1或3所述的基于图论的分组密码实际密钥信息的自动化搜索系统,其特征是,所述的流量网络Gf(V,E,c)中,同一轮比特之间不可能存在弧,只有相邻两轮的比特之间或与源点汇点之间才会存在无穷大容量的弧,因此将流量网络Gf(V,E,c)分成R个分组,其中R是K中比特所在的最大轮数,每个分组包含K中的密钥比特和K所依赖的密钥比特在这一轮对应的入点与出点。
5.根据权利要求1所述的基于图论的分组密码实际密钥信息的自动化搜索系统,其特征是,所述的最大流-最小割算法采用Ford-Fulkerson算法,具体步骤为:
1)初始化网络流量f=0,残留网络Gr=Gf(V,E,c),对于Gr的每条弧(u,v),初始化流量f(u,v)=0;
2)当Gr中存在一条从源点s到汇点t的路径p,使得路径上每条弧(u,v)∈p,都有剩余容量cr(u,v)>0,那么先设置路径p本次应发送的流量为路径最小剩余容量:cr(p)=min{cr(u,v)|(u,v)∈p};然后更新网络流量f=f+cr(p);
3)对于每一条弧(u,v)∈p,更新Gr的剩余流量:包括f(u,v)=f(u,v)+cr(p)和f(v,u)=f(v,u)-cr(p),当在残留网络Gr中不再存在从源点s到汇点t的路径时算法终止,此时网络流量f即为初始流量网络Gf(V,E,c)的最大流。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110365685.XA CN113158174B (zh) | 2021-04-06 | 2021-04-06 | 基于图论的分组密码实际密钥信息的自动化搜索系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110365685.XA CN113158174B (zh) | 2021-04-06 | 2021-04-06 | 基于图论的分组密码实际密钥信息的自动化搜索系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113158174A true CN113158174A (zh) | 2021-07-23 |
CN113158174B CN113158174B (zh) | 2022-06-21 |
Family
ID=76888757
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110365685.XA Active CN113158174B (zh) | 2021-04-06 | 2021-04-06 | 基于图论的分组密码实际密钥信息的自动化搜索系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113158174B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104038349A (zh) * | 2014-07-03 | 2014-09-10 | 西安电子科技大学 | 一种基于kp-abe的有效可验证的公钥可搜索加密方法 |
CN104780161A (zh) * | 2015-03-23 | 2015-07-15 | 南京邮电大学 | 一种云存储中支持多用户的可搜索加密方法 |
EP2955654A1 (en) * | 2014-06-12 | 2015-12-16 | Thomson Licensing | Apparatus and method for password authentication |
CN106027226A (zh) * | 2016-05-13 | 2016-10-12 | 西安电子科技大学 | 一种分组密码相关密钥不可能差分路径的搜索方法 |
US9531705B1 (en) * | 2013-03-14 | 2016-12-27 | United Services Automobile Association | Systems and methods for computer digital certificate management and analysis |
CN107566111A (zh) * | 2017-10-23 | 2018-01-09 | 郑州云海信息技术有限公司 | 一种基于加密算法的网络节点布隆过滤器构建及实现方法 |
CN108599937A (zh) * | 2018-04-20 | 2018-09-28 | 西安电子科技大学 | 一种多关键字可搜索的公钥加密方法 |
CN111064562A (zh) * | 2019-12-12 | 2020-04-24 | 北京计算机技术及应用研究所 | 一种fpga上的aes算法的实现方法 |
CN111272187A (zh) * | 2020-03-24 | 2020-06-12 | 山东师范大学 | 基于改进的a*算法的最优行驶路径规划方法及系统 |
CN112380553A (zh) * | 2020-11-25 | 2021-02-19 | 华南理工大学 | 基于属性访问控制结构的多密钥可搜索加密方法及系统 |
CN112398779A (zh) * | 2019-08-12 | 2021-02-23 | 中国科学院国家空间科学中心 | 一种网络流量数据分析方法及系统 |
-
2021
- 2021-04-06 CN CN202110365685.XA patent/CN113158174B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9531705B1 (en) * | 2013-03-14 | 2016-12-27 | United Services Automobile Association | Systems and methods for computer digital certificate management and analysis |
EP2955654A1 (en) * | 2014-06-12 | 2015-12-16 | Thomson Licensing | Apparatus and method for password authentication |
CN104038349A (zh) * | 2014-07-03 | 2014-09-10 | 西安电子科技大学 | 一种基于kp-abe的有效可验证的公钥可搜索加密方法 |
CN104780161A (zh) * | 2015-03-23 | 2015-07-15 | 南京邮电大学 | 一种云存储中支持多用户的可搜索加密方法 |
CN106027226A (zh) * | 2016-05-13 | 2016-10-12 | 西安电子科技大学 | 一种分组密码相关密钥不可能差分路径的搜索方法 |
CN107566111A (zh) * | 2017-10-23 | 2018-01-09 | 郑州云海信息技术有限公司 | 一种基于加密算法的网络节点布隆过滤器构建及实现方法 |
CN108599937A (zh) * | 2018-04-20 | 2018-09-28 | 西安电子科技大学 | 一种多关键字可搜索的公钥加密方法 |
CN112398779A (zh) * | 2019-08-12 | 2021-02-23 | 中国科学院国家空间科学中心 | 一种网络流量数据分析方法及系统 |
CN111064562A (zh) * | 2019-12-12 | 2020-04-24 | 北京计算机技术及应用研究所 | 一种fpga上的aes算法的实现方法 |
CN111272187A (zh) * | 2020-03-24 | 2020-06-12 | 山东师范大学 | 基于改进的a*算法的最优行驶路径规划方法及系统 |
CN112380553A (zh) * | 2020-11-25 | 2021-02-19 | 华南理工大学 | 基于属性访问控制结构的多密钥可搜索加密方法及系统 |
Non-Patent Citations (2)
Title |
---|
HAILUN YAN, XUEJIA LAI: "New Zero-Sum Distinguishers on Full 24-Round KECCAK-f Using the Division Property", 《IET INFORMATION SECURITY》 * |
闫海伦: "分组密码的安全性分析与组件设计", 《中国博士学位论文全文数据库 信息科技辑》 * |
Also Published As
Publication number | Publication date |
---|---|
CN113158174B (zh) | 2022-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113688999B (zh) | 一种横向联邦xgboost决策树的训练方法 | |
Chabchoub et al. | Sliding hyperloglog: Estimating cardinality in a data stream over a sliding window | |
Yin et al. | GSAPSO-MQC: medical image encryption based on genetic simulated annealing particle swarm optimization and modified quantum chaos system | |
CN107291861B (zh) | 一种面向加密图的带约束近似最短距离查询方法 | |
CN110795762A (zh) | 基于流密码的保留格式加密方法 | |
CN106027226B (zh) | 一种分组密码相关密钥不可能差分路径的搜索方法 | |
CN104580202A (zh) | 报文的匹配方法和装置 | |
CN115905633A (zh) | 一种隐私保护的图相似性检索方法及系统 | |
CN113158174B (zh) | 基于图论的分组密码实际密钥信息的自动化搜索系统 | |
CN112000967A (zh) | 一种机密参数的生成方法及装置 | |
CN113259393B (zh) | 基于多级节点的数据转发方法和装置 | |
Hassoon et al. | Multilevel hiding text security using hybrid technique steganography and cryptography | |
Li et al. | Plaintext-dependent selective image encryption scheme based on chaotic maps and DNA coding | |
CN111092723A (zh) | 一种数据隐私保护量子计算方法 | |
Xu | Cryptanalysis of an image encryption algorithm based on dna sequence operation and hyper-chaotic system | |
CN107943754B (zh) | 一种基于遗传算法的异构冗余系统优化方法 | |
CN114172715B (zh) | 一种基于安全多方计算的工控入侵检测系统及方法 | |
CN109687972A (zh) | 一种支持多种Hash算法的电路 | |
CN107566111A (zh) | 一种基于加密算法的网络节点布隆过滤器构建及实现方法 | |
Abidin et al. | Security of authentication with a fixed key in quantum key distribution | |
CN110807021B (zh) | 一种基于可搜索加密的数据库审计系统及方法 | |
CN111262687B (zh) | 一种对纠错后密钥保密增强的实现方法及装置 | |
Lomte et al. | Review of a new distinguishing attack using block cipher with a neural network | |
Dusane et al. | Security of data with RGB color and AES encryption techniques | |
Lazarov et al. | Crypto Genetic Approach in Information Security |
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 |