CN110417732B - 用于对称密码设计的布尔函数代数次数获取方法及装置 - Google Patents

用于对称密码设计的布尔函数代数次数获取方法及装置 Download PDF

Info

Publication number
CN110417732B
CN110417732B CN201910537155.1A CN201910537155A CN110417732B CN 110417732 B CN110417732 B CN 110417732B CN 201910537155 A CN201910537155 A CN 201910537155A CN 110417732 B CN110417732 B CN 110417732B
Authority
CN
China
Prior art keywords
algebraic
boolean function
solving
model
boolean
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.)
Active
Application number
CN201910537155.1A
Other languages
English (en)
Other versions
CN110417732A (zh
Inventor
陈少真
任炯炯
李航
薛平
李曼曼
杨行
付志新
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Information Engineering University of PLA Strategic Support Force
Original Assignee
Information Engineering University of PLA Strategic Support Force
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Information Engineering University of PLA Strategic Support Force filed Critical Information Engineering University of PLA Strategic Support Force
Priority to CN201910537155.1A priority Critical patent/CN110417732B/zh
Publication of CN110417732A publication Critical patent/CN110417732A/zh
Application granted granted Critical
Publication of CN110417732B publication Critical patent/CN110417732B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Complex Calculations (AREA)

Abstract

本发明属于对称密码设计技术领域,特别涉及一种用于对称密码设计的布尔函数代数次数获取方法及装置,该方法包含:建立用于协同利用CPU和GPU进行求解的CUDA并行架构求解模型;利用求解模型获取布尔函数真值表,并计算代数正规型,获取布尔函数代数次数。本发明针对对称密码设计,建立基于CUDA的并行求解架构,协同利用CPU和GPU的计算资源,大大缩短了求解布尔函数代数次数的时间,优化求解过程,大大降低了复杂度,提高效率;并利用Cube理论对代数次数求解理论进行改进,在Cube理论的基础上,根据代数次数和超多项式取值之间的关系,实现代数次数估计,大大降低对称密码设计过程中的计算量,减轻软硬件资源运行负荷,具有较强的应用前景。

Description

用于对称密码设计的布尔函数代数次数获取方法及装置
技术领域
本发明属于对称密码设计技术领域,特别涉及一种用于对称密码设计的布尔函数代数次数获取方法及装置。
背景技术
布尔函数作为流密码和分组密码的重要组件,广泛应用于对称密码算法的设计中。一方面,可以作为流密码算法的非线性组合部分,产生性质好的密钥流序列;另一方面,可以作为描述分组密码非线性组件S盒的工具,实现算法的混淆作用。因此,布尔函数密码学性质的好坏直接关系到密码算法的安全性。随着诸多设计评估方法的相继提出,密码学中的布尔函数理论得到了一系列重要的结果。目前,布尔函数的密码学指标主要有非线性度、相关免疫度、平衡性、雪崩准和扩散准则、代数次数和代数免疫度等。在布尔函数所有的密码学指标中,代数次数是一个重要的指标。任何一个加密算法理论上均可写成关于输入的布尔函数,若一个加密算法的布尔函数表达式或其代数次数可知,实际的密码就不足够安全。布尔函数的代数次数和表达式是对称密码设计评估的重要指标之一。对布尔函数代数次数的研究在对称密码设计中具有非常重要的意义。最直接确定布尔函数代数次数的方法是通过真值表求解布尔函数的代数正规型,但通常情况下,得到一个密码算法确切的布尔函数代数正规型并不是一件容易的事。事实上,求解代数次数并不需要知道布尔函数所有的单项式分布,Climent等根据布尔函数的support集推导出其代数正规型的一些性质,提出计算布尔函数代数次数的算法;但由于时间复杂度和存储复杂度的限制,无法广泛适用于一般密码算法代数次数的求解。
发明内容
为此,本发明提供一种用于对称密码设计的布尔函数代数次数获取方法及装置,充分利用主机端和设备端计算资源进行并行化优化处理,在保证对称密码安全性能同时,提高效率,降低复杂度,具有较强的应用前景。
按照本发明所提供的设计方案,一种用于对称密码设计的布尔函数代数次数获取方法,包含如下内容:
A)建立用于协同利用CPU和GPU进行求解的CUDA并行架构求解模型;
B)利用求解模型获取布尔函数真值表,并计算代数正规型,获取布尔函数代数次数。
上述的,A)中,基于CUDA的并行架构求解模型包含用于在计算机内存中处理任务和执行串行计算的主机端,及用于在计算机显卡内存中处理线程化核函数的设备端,利用主机端和设备端分工合作及并行运行进行模型求解,以获取布尔函数代数次数。
上述的,B)中,针对已知布尔函数真值表,基于莫比乌斯变换递归求解来计算布尔函数的代数正规型。
优选的,B)中,递归求解来计算布尔函数的代数正规型,包含如下内容:将n元布尔函数的真值表存储在数组中,设定分组规模并定义分组位置变量;根据真值表存储的数组,并通过分组规模和分组位置变量,计算用于代数正规型系数数组;遍历该系数数组来获取布尔函数代数次数。
上述的,B)中,在设备端并行化执行布尔函数真值表求解过程。
上述的,B)中,通过多路分支和逻辑判断在主机端利用快速莫比乌斯变换求解计算代数正规型。
上述的,B)中,由布尔函数的代数正规型求解对应轮数的代数次数,通过在主机端和设备端进行串行和并行任务交互来完成代数次数的求解过程。
上述的,B)中,利用Cube理论,通过分析超多项式的取值和代数次数之间的关系,通过测试Cube集合对应超多项式的取值是否为常数,获取布尔函数代数次数的临界值,估计布尔函数的代数次数。
优选的,B)中,估计布尔函数的代数次数,包含如下内容:从低到高依次检测布尔函数代数次数是否为临界值,随机选择不同输入点进行测试,获取不同测试点的超多项式值,并判断取值是否相等,进而估计出代数次数。
更进一步地,本发明还提供一种用于对称密码设计的布尔函数代数次数获取装置,包含:模型建立模块和计算求解模块,其中,
模型建立模块,用于建立协同利用CPU和GPU进行求解的CUDA并行架构求解模型;
计算求解模块,用于利用求解模型获取布尔函数真值表,并计算代数正规型,获取布尔函数代数次数。
本发明的有益效果:
本发明针对对称密码设计,建立基于CUDA的并行求解架构,协同利用CPU和GPU的计算资源,大大缩短了求解布尔函数代数次数的时间,优化求解过程,大大降低了复杂度,提高效率;并利用Cube理论对代数次数求解理论进行改进,在Cube理论的基础上,根据代数次数和超多项式取值之间的关系,实现代数次数估计,大大降低对称密码设计过程中的计算量,减轻软硬件资源运行负荷,具有较强的应用前景。
附图说明:
图1为实施例中代数次数获取方法流程图;
图2为实施例中代数次数获取装置示意图;
图3为实施例中基于CUDA架构的代数次数求解模型示意。
具体实施方式:
为使本发明的目的、技术方案和优点更加清楚、明白,下面结合附图和技术方案对本发明作进一步详细的说明。
针对当前对称密码设计评估指标的布尔函数代数次数求解方法中因复杂度限制、无法广泛使用于一般密码算法等的问题,本发明实施例中,参见图1所示,提供一种用于对称密码设计的布尔函数代数次数获取方法,包含如下内容:
S101)建立用于协同利用CPU和GPU进行求解的CUDA并行架构求解模型;
S102)利用求解模型获取布尔函数真值表,并计算代数正规型,获取布尔函数代数次数。
建立基于CUDA的并行求解架构,协同利用CPU和GPU的计算资源,大大缩短了求解布尔函数代数次数的时间,优化求解过程,大大降低了复杂度,提高效率。
进一步地,本发明实施例中,参见图3所示,基于CUDA的并行架构求解模型包含用于在计算机内存中处理任务和执行串行计算的主机端,及用于在计算机显卡内存中处理线程化核函数的设备端,利用主机端和设备端分工合作及并行运行进行模型求解,以获取布尔函数代数次数。利用主机端和设备端协同工作,大大优化代数次数获取过程中的计算量,提高效率。
莫比乌斯变换是定义在扩充复平面上的(扩充复平面是指在普通的复平面加入无穷远点构成的集合)。扩充复平面可以看做是一个球面,它的另一个名称就是黎曼球面。每个莫比乌斯变换都是从黎曼球面到它自身的一一对应的共形变换。事实上,所有这样的变换都是莫比乌斯变换。因此,进一步地,本发明实施例中,针对已知布尔函数真值表,基于莫比乌斯变换递归求解来计算布尔函数的代数正规型。
进一步地,本发明实施例中,递归求解来计算布尔函数的代数正规型,包含如下内容:将n元布尔函数的真值表存储在数组中,设定分组规模并定义分组位置变量;根据真值表存储的数组,并通过分组规模和分组位置变量,计算用于代数正规型系数数组;遍历该系数数组来获取布尔函数代数次数。
进一步地,本发明实施例中,在设备端并行化执行布尔函数真值表求解过程。优选的,通过多路分支和逻辑判断在主机端利用快速莫比乌斯变换求解计算代数正规型。优选的,由布尔函数的代数正规型求解对应轮数的代数次数,通过在主机端和设备端进行串行和并行任务交互来完成代数次数的求解过程。
Cube是一种典型的多维数据数学分析技术,一个Cube可以有多个事实表、多个维表构成。本发明实施例中,利用Cube理论对代数次数求解理论进行改进,利用求解模型获取布尔函数真值表,并计算代数正规型,获取布尔函数代数次数。利用Cube理论,通过分析超多项式的取值和代数次数之间的关系,通过测试Cube集合对应超多项式的取值是否为常数,获取布尔函数代数次数的临界值,估计布尔函数的代数次数。
进一步地,本发明实施例中,估计布尔函数的代数次数,包含如下内容:从低到高依次检测布尔函数代数次数是否为临界值,随机选择不同输入点进行测试,获取不同测试点的超多项式值,并判断取值是否相等,进而估计出代数次数。
更进一步地,本发明实施例还提供一种用于对称密码设计的布尔函数代数次数获取装置,参见图2所示,包含:模型建立模块101和计算求解模块102,其中,
模型建立模块101,用于建立协同利用CPU和GPU进行求解的CUDA并行架构求解模型;
计算求解模块102,用于利用求解模型获取布尔函数真值表,并计算代数正规型,获取布尔函数代数次数。
本发明实施例中通过计算布尔函数的代数正规型,进而得到布尔函数的代数次数。如果已知布尔函数的真值表,可以基于莫比乌斯变换计算布尔函数的代数正规型。这样方法的时间复杂度很高,因此,利用CUDA实现利用CPU和GPU分工合作,并行实现计算。求解布尔函数代数次数的方法有许多,其中传统方法为利用真值表求解。最直接的确定布尔函数代数次数方法是计算布尔函数的代数正规型,进而得到布尔函数的代数次数。其中,已知布尔函数真值表,基于莫比乌斯变换计算布尔函数的代数正规型,进而得到布尔函数的代数次数,计算过程可以表示如下:
f(x1,x2,…,xn)=xnq(x1,x2,…,xn-1)+r(x1,x2,…,xn-1)。
其中,r(x1,x2,…,xn-1)=f(x1,x2,…,xn-1,0),
Figure BDA0002101522130000051
递归使用上述公式,可以得到布尔函数代数正规型的系数数组,具体实现可设计为如算法1所示内容:
算法1:根据真值表,求解ANF
1.将n元f的真值表存储在数组v,系数数组为u
2.分组规模Sz=1,Pos表示分组内的位置
3.当Sz<2n时,
4.Sz=2i,分组内的位置Pos=0
5.当Pos<2n时,
6.对任意的0≤j≤Sz,
7.u[Pos+j]=v[Pos+j]
8.
Figure BDA0002101522130000052
9.Pos=Pos+2Sz
算法的时间复杂度为O(n2n),空间复杂度为O(2n)。遍历得到的系数数组即可知道布尔函数的次数。运行时间和所需空间随着分组长度的增加呈指数级增长。在计算资源有限的情况下,求解得到的代数次数有限。
为了提高算法的运行效率,充分利用计算资源实现算法的并行处理,构建基于CUDA并行架构的代数次数的求解模型,协同利用GPU和CPU同时进行数据计算,大大降低了代数次数的求解时间。实质上是通过CPU与GPU的分工合作、并行运行来完成的。参见图3所示,CUDA编程模型可以分为Host端(主机端)和Device端(设备端)。Host端为CPU部分,主要在计算机内存中执行,负责处理逻辑性较强的任务和执行串行部分的计算;Device端为GPU部分,主要在计算机显卡内存中执行,负责处理高度线程化的并行任务,又称为核函数(kernel)。CUDA程序是由许多Device端内核函数并行执行步骤和许多Host端串行执行步骤共同完成的,从而提高了程序的整体运行性能。为了缩短CPU的运行时间,我们利用AntoineJoux提出的求解代数正规型的并行优化算法(算法2),采用CPU多核并行技术,做到多个比特同时运算,从而实现了算法加速。
算法2:Antoine Joux的求解代数正规型的并行优化算法
Figure BDA0002101522130000061
Figure BDA0002101522130000071
对于分组长度为n的布尔函数代数次数,其获取具体实施方法可设计为如下内容:
步骤101:遍历求解布尔函数的真值表。求解真值表需要遍历2n个全部的输入状态,可以并行化执行;另一方面,真值表的求解过程不需要做复杂的运算和逻辑判断,因而将求解真值表的部分指定为设备端程序_device_,由GPU调用运行。
步骤102:基于莫比乌斯变换计算布尔函数的代数正规型。对于利用快速莫比乌斯变换求解代数正规型的过程,由于涉及到多路的分支与复杂的逻辑判断,不适用于GPU计算,因而将实现快速莫比乌斯变换的过程指定为主机端程序_host_,由CPU运行。
步骤103:由布尔函数的代数正规型得到对应轮数的代数次数、整个CUDA程序的实现模型是串行和并行任务的交互完成。当有并行任务时,Host端调用kernel函数,将执行算法真值表求解的任务交给Device端解决。当kernel函数映射到GPU上后,分配到网格(Grid)上,网格中的线程又被细分为一维的线程块(Block),每个线程块分解为多个线性(Tread),在同一个多处理器上运行,提高了数据处理的效率,大大降低了密码算法真值表的生成时间。
本发明实施例中,在Cube理论的基础上,通过分析Cube中超多项式的取值和代数次数之间的关系,设计了代数次数的估计算法。
Cube理论基础:对于任意n元布尔函数f(x1,x2,…,xn),对任意指标集
Figure BDA0002101522130000072
Figure BDA0002101522130000073
则布尔函数f(x1,x2,…,xn)总可以表示为如下形式:
Figure BDA0002101522130000074
其中,fS(I)不含tI中的变量,q(x1,x2,…,xn)中不含能被tI整除的项。称
Figure BDA0002101522130000081
为k个Cube变元。
集合
Figure BDA0002101522130000082
为一个k维Cube,fS(I)为指标集I对应的超多项式。遍历CI所有的取值,对上式求和可得:
Figure BDA0002101522130000083
由于q(x1,x2,…,xn)中的项成对出现和为0,故有下面等式成立:
Figure BDA0002101522130000084
由上式可知,超多项式fS(I)的取值为布尔函数f(x1,x2,…,xn)在k维Cube CI上的异或和。超多项式的取值与布尔函数的代数次数之间具有以下关系。
a)对于任意n元布尔函数f(x1,x2,…,xn),若对{1,2,…,n}的任意d元子集I,fS(I)取值都为常数,则f(x1,x2,…,xn)的代数次数至多为d次。
b)对于任意n元布尔函数f(x1,x2,…,xn),若存在{1,2,…,n}的某个d元子集I,其对应的超多项式fS(I)不是常数,则f(x1,x2,…,xn)的代数次数至少为d+1次。
利用a)和b),通过测试某些Cube集合对应的超多项式fS(I)的取值是否为常数,可以得到f(x1,x2,…,xn)代数次数的上界和下界。通过如下内容给出计算布尔函数代数次数的充要条件:布尔函数f(x1,x2,…,xn)的代数次数为d次,当且仅当对{1,2,…,n}的任意d元子集I,都有fS(I)都为常数,并且存在{1,2,…,n}的某个d-1元子集I′,其对应的超多项式fS(I′)不是常数。
以上可知,利用Cube方法所找到的临界值d,就是布尔函数f(x1,x2,…,xn)的代数次数。利用如下内容计算d元子集I对应的超多项式fS(I)的取值:
对于布尔函数f(x1,x2,…,xn),选择{1,2,…,n}中的任意d元子集I={i1,i2,…,id},记L[α12,…,αd]是一组基α12,…,αd生成的线性空间,其中
Figure BDA0002101522130000091
当ij∈I时,
Figure BDA0002101522130000092
那么子集I对应的超多项式fS(I)的值可以通过如下方式计算:
Figure BDA0002101522130000093
对于分组密码算法,轮函数可以表示为关于该轮输入的布尔函数,当分组长度2n较大,选取的Cube变元较多时,需要遍历所有的Cube变元集合,计算超多项式的值,计算量太大。通过采用随机选取Cube点的方法进行次数估计。算法的基本思路是从低到高依次检测布尔函数代数次数是否为d次(1<d<n),而在检测代数次数是否是d时,随机选择不同的输入点进行测试,计算不同测试点的超多项式的值,判断取值是否相等,进而估计代数次数,具体算法如算法3所示:
算法3利用Cube理论估计代数次数
输入:待估计次数的分组密码算法E,最大检测次数max
输出:代数次数d;
Figure BDA0002101522130000094
只要测试次数max取值比较大,则可以以较大的正确性保证估计结果是对的。算法3的时间复杂度为O(n2d),空间复杂度为O(1),可以忽略不计。以上算法3,特别适合于分组密码算法输入变元个数比较大而实际轮函数布尔函数的代数次数比较小的情况,从低到高依次检测布尔函数代数次数是否为d次(1<d<n),在检测代数次数是否是d时,随机选择不同的输入点进行测试,计算不同测试点的超多项式的值,判断取值是否相等,进而估计代数次数。
本发明实施例中,针对对称密码设计,建立基于CUDA的并行求解架构,协同利用CPU和GPU的计算资源,大大缩短了求解布尔函数代数次数的时间,优化求解过程,大大降低了复杂度,提高效率;并利用Cube理论对代数次数求解理论进行改进,在Cube理论的基础上,根据代数次数和超多项式取值之间的关系,实现代数次数估计,大大降低对称密码设计过程中的计算量,减轻硬件资源运行负荷,具有较强的应用前景。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本发明的范围。
基于上述的方法,本发明实施例还提供一种服务器,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述的方法。
基于上述的方法,本发明实施例还提供一种计算机可读介质,其上存储有计算机程序,其中,该程序被处理器执行时实现上述的方法。
本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在这里示出和描述的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制,因此,示例性实施例的其他示例可以具有不同的值。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (6)

1.一种用于对称密码设计的布尔函数代数次数获取方法,其特征在于,
A)建立用于协同利用CPU和GPU进行求解的CUDA并行架构求解模型;
B)利用求解模型获取布尔函数真值表,并计算代数正规型,获取布尔函数代数次数;
A)中,基于CUDA的并行架构求解模型包含用于在计算机内存中处理任务和执行串行计算的主机端,及用于在计算机显卡内存中处理线程化核函数的设备端,利用主机端和设备端分工合作及并行运行进行模型求解,以获取布尔函数代数次数;
B)中,在设备端并行化执行布尔函数真值表求解过程;通过多路分支和逻辑判断在主机端利用快速莫比乌斯变换求解计算代数正规型;由布尔函数的代数正规型求解对应轮数的代数次数,通过在主机端和设备端进行串行和并行任务交互来完成代数次数的求解过程。
2.根据权利要求1所述的用于对称密码设计的布尔函数代数次数获取方法,其特征在于,B)中,针对已知布尔函数真值表,基于莫比乌斯变换递归求解来计算布尔函数的代数正规型。
3.根据权利要求2所述的用于对称密码设计的布尔函数代数次数获取方法,其特征在于,B)中,递归求解来计算布尔函数的代数正规型,包含如下内容:将n元布尔函数的真值表存储在数组中,设定分组规模并定义分组位置变量;根据真值表存储的数组,并通过分组规模和分组位置变量,计算用于代数正规型系数数组;遍历该系数数组来获取布尔函数代数次数。
4.根据权利要求1所述的用于对称密码设计的布尔函数代数次数获取方法,其特征在于,B)中,利用Cube理论,通过分析超多项式的取值和代数次数之间的关系,通过测试Cube集合对应超多项式的取值是否为常数,获取布尔函数代数次数的临界值,估计布尔函数的代数次数。
5.根据权利要求4所述的用于对称密码设计的布尔函数代数次数获取方法,其特征在于,B)中,估计布尔函数的代数次数,包含如下内容:从低到高依次检测布尔函数代数次数是否为临界值,随机选择不同输入点进行测试,获取不同测试点的超多项式值,并判断取值是否相等,进而估计出代数次数。
6.一种用于对称密码设计的布尔函数代数次数获取装置,其特征在于,包含:模型建立模块和计算求解模块,其中,
模型建立模块,用于建立协同利用CPU和GPU进行求解的CUDA并行架构求解模型;
计算求解模块,用于利用求解模型获取布尔函数真值表,并计算代数正规型,获取布尔函数代数次数;
基于CUDA的并行架构求解模型包含用于在计算机内存中处理任务和执行串行计算的主机端,及用于在计算机显卡内存中处理线程化核函数的设备端,利用主机端和设备端分工合作及并行运行进行模型求解,以获取布尔函数代数次数;
在设备端并行化执行布尔函数真值表求解过程;通过多路分支和逻辑判断在主机端利用快速莫比乌斯变换求解计算代数正规型;由布尔函数的代数正规型求解对应轮数的代数次数,通过在主机端和设备端进行串行和并行任务交互来完成代数次数的求解过程。
CN201910537155.1A 2019-06-20 2019-06-20 用于对称密码设计的布尔函数代数次数获取方法及装置 Active CN110417732B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910537155.1A CN110417732B (zh) 2019-06-20 2019-06-20 用于对称密码设计的布尔函数代数次数获取方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910537155.1A CN110417732B (zh) 2019-06-20 2019-06-20 用于对称密码设计的布尔函数代数次数获取方法及装置

Publications (2)

Publication Number Publication Date
CN110417732A CN110417732A (zh) 2019-11-05
CN110417732B true CN110417732B (zh) 2021-07-06

Family

ID=68359376

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910537155.1A Active CN110417732B (zh) 2019-06-20 2019-06-20 用于对称密码设计的布尔函数代数次数获取方法及装置

Country Status (1)

Country Link
CN (1) CN110417732B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0242098A2 (en) * 1986-04-14 1987-10-21 AT&T Corp. Parallel computation circuit
WO2014092533A1 (en) * 2012-12-12 2014-06-19 Mimos Berhad A method to construct bijective substitution box from non-permutation power functions
CN104486066A (zh) * 2014-11-25 2015-04-01 中国电子科技集团公司第三十研究所 一种布尔函数的构造方法以及使用该函数的密码部件
CN107395347A (zh) * 2017-08-04 2017-11-24 桂林电子科技大学 对称密码系统代数次数评估新方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0242098A2 (en) * 1986-04-14 1987-10-21 AT&T Corp. Parallel computation circuit
WO2014092533A1 (en) * 2012-12-12 2014-06-19 Mimos Berhad A method to construct bijective substitution box from non-permutation power functions
CN104486066A (zh) * 2014-11-25 2015-04-01 中国电子科技集团公司第三十研究所 一种布尔函数的构造方法以及使用该函数的密码部件
CN107395347A (zh) * 2017-08-04 2017-11-24 桂林电子科技大学 对称密码系统代数次数评估新方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
密码分析中矩阵的存储与计算;许彬彬;《中国优秀硕士学位论文全文数据库(信息科技辑)》;20160315(第3期);正文第4.4章 *
布尔函数的代数攻击;杨文峰等;《电子科技大学学报》;20101130;第39卷(第6期);正文第0-2节 *

Also Published As

Publication number Publication date
CN110417732A (zh) 2019-11-05

Similar Documents

Publication Publication Date Title
Akiyama et al. Tensor renormalization group approach to four-dimensional complex ϕ4 theory at finite density
Bi et al. Exact penalty decomposition method for zero-norm minimization based on MPEC formulation
Karppa et al. A faster subquadratic algorithm for finding outlier correlations
Fasshauer et al. On dimension-independent rates of convergence for function approximation with Gaussian kernels
Zheng et al. Scalable interpretable multi-response regression via SEED
Chang et al. Algorithm 1012: DELAUNAYSPARSE: Interpolation via a sparse subset of the Delaunay triangulation in medium to high dimensions
Li et al. Computing isolated singular solutions of polynomial systems: case of breadth one
Martínez et al. Constrained derivative-free optimization on thin domains
Dutra et al. SMTSampler: Efficient stimulus generation from complex SMT constraints
Lobachev et al. Estimating parallel performance
CN110417732B (zh) 用于对称密码设计的布尔函数代数次数获取方法及装置
Kalofolias et al. SUSAN: the structural similarity random walk kernel
Janusevskis et al. Parallel expected improvements for global optimization: summary, bounds and speed-up
Mansour et al. A fast randomized Kaczmarz algorithm for sparse solutions of consistent linear systems
Solomons et al. Gaussian-boson-sampling-enhanced dense subgraph finding shows limited advantage over efficient classical algorithms
Chanda et al. Reducing computational complexity of quantum correlations
Li et al. A personalized differential privacy protection method for repeated queries
Adinetz et al. GPUMAFIA: Efficient subspace clustering with MAFIA on GPUs
Chen et al. Inferring quantum network topology using local measurements
CN106874215B (zh) 一种基于Spark算子的序列化存储优化方法
Ren et al. Communication efficient secret sharing with dynamic communication-computation conversion
Cui et al. Entanglement-assisted local operations and classical communications conversion in quantum critical systems
Yang et al. Understanding graph computation behavior to enable robust benchmarking
Prakash et al. Detection of gapped phases of a one-dimensional spin chain with on-site and spatial symmetries
US9355363B2 (en) Systems and methods for virtual parallel computing using matrix product states

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