对称密码系统代数次数评估新方法技术方案

技术编号:16648499 阅读:256 留言:0更新日期:2017-11-27 00:18
本发明专利技术公开了一种对称密码系统代数次数评估新方法,利用对对称密码系统代数次数的迭代评估,扩展了一种新的对代数次数精确评估的优化算法。基于这个算法框架,提出一种寻找代数次数下界并且具体有效的算法。该算法不仅可以快速评估计算,而且可以对分析轮数进行准确评估,也是第一个用于有效精确评估对称密码系统代数次数的下界。若取值适当,不仅可以计算出布尔函数代数次数的下界,甚至可以输出布尔函数的最大项。它也可应用于密钥恢复攻击和更多的加密基元。因此,代数次数的精确评估对设计或分析对称密码系统均有十分重要的意义。

A new method for evaluating algebraic times of symmetric cryptosystem

The present invention discloses a new method for evaluating algebraic times of symmetric cryptographic systems. By using iterative evaluation of algebraic times of symmetric cryptographic systems, a new optimization algorithm for accurate evaluation of algebraic numbers is extended. Based on this algorithm framework, an algorithm is proposed to find the lower bounds of algebraic numbers and to be effective. The algorithm can not only evaluate the computation quickly, but also evaluate the number of rounds accurately. It is also the first lower bound to evaluate the algebraic number of symmetric cryptographic systems efficiently and accurately. If the value is appropriate, it can not only calculate the lower bound of the algebraic number of Boolean function, but also output the maximum term of Boolean function. It can also be applied to key recovery attacks and more cryptographic primitives. Therefore, the accurate evaluation of algebraic numbers is of great importance to the design or analysis of symmetric cryptosystems.

【技术实现步骤摘要】
对称密码系统代数次数评估新方法
本专利技术涉及信息安全领域,具体是一种对称密码系统代数次数评估新方法。
技术介绍
布尔函数的代数次数在密码基元的安全中扮演着十分重要的角色,例如:对称密码系统包括基于NFSR的加密系统、分组密码,流密码可以通过包含秘密变量(keybits)和公开变量(plaintextbitsorIVbits)的弱密钥布尔函数表示;分组密码将输入的明文视为变量。而事实上,低代数次数的密码基元容易被许多密码分析方法进行分析。对于现代的对称密码系统,准确计算其代数次数是非常困难的,虽然,现在有一些理论工具已经用于估计迭代置换的代数次数的上界,并且现在已经应用于分析迭代密码算法,但仍有很大的改善空间。例如:积分区分器可以由代数次数评估进行构建,这种方法经常应用于高阶差分分析,代数次数可以通过算法的布尔函数进行评估。若一个加密算法的布尔函数表达式或其代数次数可知,便可以利用这一条件建立区分器,进而恢复密钥。已有的许多攻击方法都直接或间接的利用了布尔函数的代数表达式,如:代数攻击、高阶差分攻击、Cube攻击、积分攻击等。1994年,Knudsen提出积分区分器可以由普遍用于高阶本文档来自技高网...
对称密码系统代数次数评估新方法

【技术保护点】
对称密码系统代数次数评估新方法,包括算法分析模块、初态预置模块、输出函数产生模块、重复变量检测模块、排序模块、重复项检测模块、状态更新模块,其特征在于,评估方法包括以下步骤:S1:利用算法分析模块对具体的密码算法进行分析,根据其初始变量及更新函数进行具体的算法操作;S2:利用密钥和初始化向量预置初始化阶段的初态,变量用xi表示,变量函数用s(xi)表示,初态预置模块产生一个3维数组存储所有的变量,将其定义为B;S3:利用输出函数产生模块产生一个数组f,在计算的过程中,需先计算中间状态t1与t2,其中t1与t2中含有的单项式项数不一定相等,且0<k;输出函数是根据密码算法的输出函数进行计算...

【技术特征摘要】
1.对称密码系统代数次数评估新方法,包括算法分析模块、初态预置模块、输出函数产生模块、重复变量检测模块、排序模块、重复项检测模块、状态更新模块,其特征在于,评估方法包括以下步骤:S1:利用算法分析模块对具体的密码算法进行分析,根据其初始变量及更新函数进行具体的算法操作;S2:利用密钥和初始化向量预置初始化阶段的初态,变量用xi表示,变量函数用s(xi)表示,初态预置模块产生一个3维数组存储所有的变量,将其定义为B;S3:利用输出函数产生模块产生一个数组f,在计算的过程中,需先计算中间状态t1与t2,其中t1与t2中含有的单项式项数不一定相等,且0<k;输出函数是根据密码算法的输出函数进行计算,表示为f,若输出函数f不参与更新函数,则设置为二维数组,数组大小根据具体的算法进行确定,其中中间状态t1、t2及输出函数f表达式如下:t1(S)=(g1,g2,…,gk)t2(S)=(g1,g2,…,gk)fn(S)=[g1(s),g2(s),…,gi(s)]S4:将数组f输入到重复变量检测模块;每次经过加、乘数学运算或异或逻辑运算合并后,重复变量检测模块对每个单项式gi(s)都进行重复变量检测,对单项式中含有的重复的变量xi,则只保留一个xi变量,经过重复变量检测模块的结果仍用数组f表示;S5:将数组f输入到排序模块;根据输出函数f中单项式的代数次数deg[gi(s)]的由大到小进行排序,排序后,根据具体的算法,如果算法结构较复杂,布尔函数较复杂,则可只取前k项进行下一步操作;经过排序模块的结果用数组f表示,如果运行到第n轮结束,那么将在排序模块排序的过程中将代数次数最大的单项式的代数次数maxdeg[gi(s)]输出;若运算过程中取前k项,其输出布尔函数表达式如下:fn(S)=[g1(s),g2(s),…,gk(s)]S6:将数组f输入到重复项检测模块;根据排序模块得到的数组f中的任意两个单项式进行重复项检测模块操作,若单项式出现的次数...

【专利技术属性】
技术研发人员:韦永壮史佳利叶涛武小年张润莲
申请(专利权)人:桂林电子科技大学
类型:发明
国别省市:广西,45

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

1