用于对称密码设计的布尔函数代数次数获取方法及装置制造方法及图纸

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

A method and device for obtaining algebraic number of Boolean functions for symmetric cipher design

【技术实现步骤摘要】
用于对称密码设计的布尔函数代数次数获取方法及装置
本专利技术属于对称密码设计
,特别涉及一种用于对称密码设计的布尔函数代数次数获取方法及装置。
技术介绍
布尔函数作为流密码和分组密码的重要组件,广泛应用于对称密码算法的设计中。一方面,可以作为流密码算法的非线性组合部分,产生性质好的密钥流序列;另一方面,可以作为描述分组密码非线性组件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集合对应超多项式的取值是否为常数,获取布尔函数代数次数的临界值,估计布尔函数的代数次数。进一步地,本专利技术实施例本文档来自技高网...

【技术保护点】
1.一种用于对称密码设计的布尔函数代数次数获取方法,其特征在于,A)建立用于协同利用CPU和GPU进行求解的CUDA并行架构求解模型;B)利用求解模型获取布尔函数真值表,并计算代数正规型,获取布尔函数代数次数。

【技术特征摘要】
1.一种用于对称密码设计的布尔函数代数次数获取方法,其特征在于,A)建立用于协同利用CPU和GPU进行求解的CUDA并行架构求解模型;B)利用求解模型获取布尔函数真值表,并计算代数正规型,获取布尔函数代数次数。2.根据权利要求1所述的用于对称密码设计的布尔函数代数次数获取方法,其特征在于,A)中,基于CUDA的并行架构求解模型包含用于在计算机内存中处理任务和执行串行计算的主机端,及用于在计算机显卡内存中处理线程化核函数的设备端,利用主机端和设备端分工合作及并行运行进行模型求解,以获取布尔函数代数次数。3.根据权利要求1所述的用于对称密码设计的布尔函数代数次数获取方法,其特征在于,B)中,针对已知布尔函数真值表,基于莫比乌斯变换递归求解来计算布尔函数的代数正规型。4.根据权利要求3所述的用于对称密码设计的布尔函数代数次数获取方法,其特征在于,B)中,递归求解来计算布尔函数的代数正规型,包含如下内容:将n元布尔函数的真值表存储在数组中,设定分组规模并定义分组位置变量;根据真值表存储的数组,并通过分组规模和分组位置变量,计算用于代数正规型系数数组;遍历该系数数组来获取布尔函数代数次数。5.根据权利要求2所述的用于对称密码设计的布尔函数代数次数获取方法,其特征在于,B)中,在设备端并行化执行布尔函数真值表求解过程。6.根据权利要求2...

【专利技术属性】
技术研发人员:陈少真任炯炯李航薛平李曼曼杨行付志新
申请(专利权)人:中国人民解放军战略支援部队信息工程大学
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1