System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及密码学,具体地说,尤其涉及一种应用于密码学中的基于机器学习的函数等价关系判断方法。
技术介绍
1、密码学是一门与国家安全密切相关的综合性学科,是网络空间安全和信息安全的核心。分组密码是密码学的重要分支,是各国军事部门、政府机构以及银行等重要部门用于保护其敏感信息以及核心信息的主要算法。密码函数通常用于分组密码的核心组件的设计,其密码学性质的好坏会直接影响分组密码的安全性。密码算法安全性的强弱在一定程度上可以由其所使用密码函数的安全性指标来衡量。在密码学中布尔函数在计算理论、逻辑电路、纠错码以及密码学中都具有广泛的应用,如布尔可满足性问题、电路生成、reed-muller码以及s盒的构造。
2、布尔函数的诸多密码学性质,如非线性度、代数度、代数免疫度等,在仿射变换下保持不变。因此,研究布尔函数仿射等价,对于研究布尔函数密码学性质也有重要作用。然而,随着变量个数n增加,布尔函数复杂度呈双指数增长且仿射群的结构也变得非常复杂,这使得对布尔函数仿射等价的研究尤为困难。当变量数n较大时,布尔函数商空间r(s,n)/r(k,n)的仿射等价分类个数过大,已经不太可能对其进行完整分类,并且在对其完整分类的过程中求解会十分困难。对其中某些满足特定性质的子空间的研究还有待进一步探索,可达性分析方法在这一方向仍有挖掘的潜力。
技术实现思路
1、本专利技术的目的在于克服现有技术的缺点和不足,提供一种基于机器学习的函数等价关系判断方法,提高了求解恢复两个布尔向量函数扩展仿射等价判断
2、为了实现上述目的,本专利技术所采用的技术方案如下:
3、一种基于机器学习的函数等价关系判断方法,包括以下步骤:
4、s1.输入两个向量布尔函数f和g,设定向量参数s和阈值,通过暴力搜索和代换推导得到求解系统;
5、s2.判断两个向量布尔函数f和g是否仿射等价,判定向量布尔函数f和g能否进行仿射等价的恢复:
6、s3.用变量计算求解系统的解空间,求出布尔函数对应矩阵,通过矩阵的秩对解的结构进行分析。
7、进一步地,步骤s1,包括:
8、f、g是向量空间中的二次布尔函数,函数g与f的关系表示成g=a(f(b(x)))+c,将求解返回仿射函数的三元组(a,b,c),其中a、b为仿射置换,将三元组表示为:
9、a(x)=a0x+a
10、b(x)=b0x+b
11、c(x)=c0x+c
12、其中,a0、b0、c0表示在向量空间上的矩阵,a、b、c表示在向量空间上的参数。
13、进一步地,步骤s1,还包括:
14、用a+c代替a,假设c=0,因此c是线性的;
15、同理,假设b=0,当时有:
16、f(b0x+b)=f(b0x)+δbf(b(x))
17、因为f为二次布尔函数,f的差分部分δbf(b(x))是一个仿射,得到函数的线性部分等价于δbf(b0x)+δbf(0)。
18、进一步地,步骤s1,还包括:
19、同理,用代替c并且用a+δbf(0)代替a,通过代换找到一个4元组(a0,b0,c0,a),且a0、b0都是非奇异的,当时满足:
20、g(x)=a0·f(b0x)+c0x+a
21、找到一个方程对于任意的x有:
22、jaclin g(x)=a0·jaclin f(b0x)·b0
23、首先搜索元组(a0,b0),计算完成后,推导出4元组的余数;
24、对(a0,b0)的搜索依赖于两个思想:
25、如果一对(v,w)满足b0v=w,则是未知仿射系统的解,表示为:
26、
27、因为a0、b0都是非奇异的矩阵,对于任意的矩阵jaclin g(x)与矩阵jaclinf(x)有相同的秩;
28、通过以上定义及推导,当从1开始遍历到s时,得到一个求解系统为:
29、
30、进一步地,步骤s2,包括:
31、计算每个函数在仿射等价条件下的不变量,即正交向量导数,对于函数f,有的一个映射,对于中的x和a,都有π(a)·(f(x)+f(x+a)+f(0)+f(a))=0,因为f为二次布尔函数,则是线性的;
32、函数f的walsh谱表示为:
33、
34、walsh谱的0变换公式为:
35、
36、仿射等价下,函数不变量的厚度谱的定义源于walsh谱0的结构。
37、进一步地,步骤s2,还包括:
38、对于的一个二次布尔函数,{vi}0≤i≤l为中包含维护为n的所有l向量空间的集合,子空间的厚度是其在的维度;
39、f的厚度谱是正整数{nj}0≤j≤n的集合,即恰好有厚度为j的nj空间vi,将厚度谱装入分好的桶s-bucket,如果不同函数位于不同的s-bucket中,还原不出4元组(a0,b0,c0,a)。
40、进一步地,步骤s2,还包括:
41、对于k是一个偶数整数,并对任意的让被定义为:且将f的∑k的多重性称为的多重性,即重多重性。
42、比较输入函数f和g落入相同的s-bucket桶中的重多重性,如果相同则表示能够进行仿射等价的还原。
43、进一步地,步骤s3,包括:
44、元组(x,y)项的个数对应于未知数的个数,线性方程组的数量等于得到的矩阵x·jaclin g(v)-jaclin f(w)·y的元素的个数,即mn;
45、矩阵jaclin g(v)的秩为r,存在一个非奇异的矩阵使得jaclin g(v)·u最右边的一列全是0,表示为:
46、
47、同理,对于矩阵j1g和j2g存在着一个非奇异的矩阵使得v·jaclinf(w)有如下形式:
48、
49、因此,对于矩阵j1f和j2f,设x′:=vx和y′:=yu,得到新等价线性系统为:
50、x′·jaclin g(v)·u-v·jaclin f(v)·y′=0。
51、进一步地,步骤s3,还包括:
52、将x′做矩阵的块分解为:
53、
54、将y′做矩阵的块分解为:
55、
56、用分块操作对得到的新等价线性系统做相同的分块,得到新求解系统为:
57、
58、系统左边的mn个元素都产生一个线性方程,并且与x′和y′中的元素有关,忽略方程0=0时的情况,留下r(m+n-r)个方程,得到线性等价系统秩的上界。
59、进一步地,步骤s3,还包括:
60、求解系统中线性方程都不是独立的,本文档来自技高网...
【技术保护点】
1.一种基于机器学习的函数等价关系判断方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于机器学习的函数等价关系判断方法,其特征在于,步骤S1,包括:
3.根据权利要求2所述的基于机器学习的函数等价关系判断方法,其特征在于,步骤S1,还包括:
4.根据权利要求3所述的基于机器学习的函数等价关系判断方法,其特征在于,步骤S1,还包括:
5.根据权利要求4所述的基于机器学习的函数等价关系判断方法,其特征在于,步骤S2,包括:
6.根据权利要求5所述的基于机器学习的函数等价关系判断方法,其特征在于,步骤S2,还包括:
7.根据权利要求6所述的基于机器学习的函数等价关系判断方法,其特征在于,步骤S2,还包括:
8.根据权利要求7所述的基于机器学习的函数等价关系判断方法,其特征在于,步骤S3,包括:
9.根据权利要求8所述的基于机器学习的函数等价关系判断方法,其特征在于,步骤S3,还包括:
10.根据权利要求9所述的基于机器学习的函数等价关系判断方法,其特征在于,步骤S3,
...【技术特征摘要】
1.一种基于机器学习的函数等价关系判断方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于机器学习的函数等价关系判断方法,其特征在于,步骤s1,包括:
3.根据权利要求2所述的基于机器学习的函数等价关系判断方法,其特征在于,步骤s1,还包括:
4.根据权利要求3所述的基于机器学习的函数等价关系判断方法,其特征在于,步骤s1,还包括:
5.根据权利要求4所述的基于机器学习的函数等价关系判断方法,其特征在于,步骤s2,包括:
6.根...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。