CN108270548B - 一种Grain型流密码的判别方法 - Google Patents

一种Grain型流密码的判别方法 Download PDF

Info

Publication number
CN108270548B
CN108270548B CN201711295145.9A CN201711295145A CN108270548B CN 108270548 B CN108270548 B CN 108270548B CN 201711295145 A CN201711295145 A CN 201711295145A CN 108270548 B CN108270548 B CN 108270548B
Authority
CN
China
Prior art keywords
type stream
gain
binary tree
stream cipher
characteristic function
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
CN201711295145.9A
Other languages
English (en)
Other versions
CN108270548A (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.)
CETC 30 Research Institute
Original Assignee
CETC 30 Research Institute
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 CETC 30 Research Institute filed Critical CETC 30 Research Institute
Priority to CN201711295145.9A priority Critical patent/CN108270548B/zh
Publication of CN108270548A publication Critical patent/CN108270548A/zh
Application granted granted Critical
Publication of CN108270548B publication Critical patent/CN108270548B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • 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/0457Network 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 dynamic encryption, e.g. stream encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种Grain型流密码的判别方法,引入平衡二叉树的结构存储特征函数的项,通过平衡二叉树的搜索、插入、删除操作,能够极大的提高函数处理效率;以项的次数为依据对项进行分类,起到分治的效果,缩减了平衡二叉树的规模:一方面减小了计算每个平衡二叉树对应单变量多项式的计算量,另一方面又减少了计算非线性移位寄存器特征函数的搜索空间;算法引入分治的思想,在求取平衡二叉树对应单变量多项式和计算非线性移位寄存器特征函数过程中都适合并行化运算,在并行化计算环境中,该判别方法可以处理更大规模的特征函数;判别方法具有普适性和可延展性。

Description

一种Grain型流密码的判别方法
技术领域
本发明涉及一种Grain型流密码的判别方法。
背景技术
物联网产业在产业升级、节能减排、拉动就业等方面发挥着重要作用。我国物联网已初步形成了完整的产业体系,具备了一定的技术、产业和应用基础,市场前景巨大。
受各国战略引领和市场推动,全球物联网应用呈现加速发展态势,物联网所带动的新型信息化与传统领域走向深度融合,物联网在行业领域的应用逐步广泛深入。
由于物联网应用场景的多样性,物联网产业的发展导致很多加密方法的使用。为应对物联网等资源(存储资源、计算资源、带宽资源)受限、通信高速的新一代安全通信需求,出现了一批以Grain算法为代表的为物联网运行提供计算安全性的密码算法,从而将物联网系统面临的总体风险降至最低。在这类新型的适用于物联网的轻量级流密码算法中,而Grain类算法是唯一具有可证明周期下界的密码算法。
因此,物联网安全标准体系是一个渐进发展成熟的过程,有必要研判所用加密流密码算法是否是Grain型流密码算法,这对于算法安全性能评估特别是周期的定量分析具有重要价值。
Grain型流密码是一类安全、高效、快速的流密码算法,在当前密码算法分析技术的前提下,这类算法的安全性分析较为成熟。因此对于通过各种方式得到的寄存器类型密码,判别其是否属于Grain型流密码对其安全性分析具有实用意义。
Grain型流密码寄存器是长度达半的线性反馈移位寄存器到非线性反馈移位寄存器的有序级联。已有的研究方案大多是判断寄存器是否等效为非线性反馈移位寄存器到线性反馈移位寄存器有序级联,一方面这并不是Grain型这样的实际使用的流密码,另一方面这个类似问题主要处于理论研究阶段,尚未有高效实用的判别算法出现。
发明内容
为了克服现有技术的上述缺点,本发明提供了一种Grain型流密码的判别方法,给定刻画寄存器状态转移的自反馈特征函数,能够判断该寄存器构造的流算法是否为Grain型流密码算法,即,寄存器是否等效为长度过半的线性反馈移位寄存器到非线性反馈移位寄存器有序级联。
本发明解决其技术问题所采用的技术方案是:一种Grain型流密码的判别方法,包括如下步骤:
步骤一、对级数为n的移位寄存器的特征函数进行单项的有序分类,建立平衡二叉树,得到项的最高次数d,并将次数为i的项所在的平衡二叉树标记为Ti
步骤二、设置二元域上单变量多项式u=0;
步骤三、计算Ti对应的单变元多项式ui,并记v1=u1
步骤四、更新单变量多项式u;
步骤五、判断单变量多项式u的次数deg(u)是否小于n/2:若是,则判定输入的移位寄存器不是Grain型流密码,输出“否”,然后进入步骤十三;若否,则令i=i+1,然后进入步骤六;
步骤六、判断i是否大于d:若否,则返回步骤三;若是则进入步骤七;
步骤七、构造U为u对应的特征函数,构造V为u/u1对应的特征函数,令i=2;
步骤八、标记平衡二叉树标记Ti为T;
步骤九、判断T是否为空:若否,则进入步骤十;若是,则令i=i+1,然后进入步骤十二;
步骤十、搜索T中的最小叶子节点,记为t;
步骤十一、判断t的变量中最大下标是否超过n-deg(u),若是,则判定输入的移位寄存器不是Grain型流密码,输出“否”,然后进入步骤十三;若否,则令V=V+t,同时更新T,然后返回步骤九;
步骤十二、判断i是否大于d:若否,则返回步骤八;若是则判定输入的移位寄存器是Grain型流密码,等价于U到V所刻画的两个移位寄存器联接,输出“是,V,U”,然后进入步骤十三;
步骤十三、判别过程结束。
与现有技术相比,本发明的积极效果是:本发明提出了一种Grain型流密码的判别方法,其主要优点是:
(1)引入平衡二叉树的结构存储特征函数的项。通过平衡二叉树的搜索、插入、删除操作,能够极大的提高函数处理效率。
(2)以项的次数为依据对项进行分类,起到分治的效果,缩减了平衡二叉树的规模。一方面减小了计算每个平衡二叉树对应单变量多项式的计算量,另一方面又减少了计算非线性移位寄存器特征函数的搜索空间。
(3)算法引入分治的思想,在求取平衡二叉树对应单变量多项式和计算非线性移位寄存器特征函数过程中都适合并行化运算。在并行化计算环境中,该判别方法可以处理更大规模的特征函数。
(4)判别方法具有普适性和可延展性。
附图说明
本发明将通过例子并参照附图的方式说明,其中:
图1为Grain流密码示意图;
图2为本发明的判别方法的流程图。
具体实施方式
如图1所示,Grain型流密码是指其寄存器等价于一个线性移位寄存器(LFSR)到一个非线性移位寄存器(NFSR)的级联,且该线性移位寄存器(LFSR)的存储空间占到整个寄存器存储空间的至少一半。
一种Grain型流密码的判别方法的具体过程如图2所示,包括如下步骤:
输入:输入移位寄存器的级数n以及描述该移位寄存器的特征函数。
(说明:变量按照字典排序定义序关系x0<x1<…<xn,单项的序由两者首先相异的最高变量自然延伸定义,例如x2x0<x2x1。一个n级移位寄存器的特征函数为二元域上的多变量布尔函数,且按照上述序关系下最高项为xn。如x3+x2x1+x1+x0是一个3级移位寄存器的特征函数。一个项的次数为出现变量的个数。例如x2x1的次数为2。)
步骤1:特征函数单项的有序分类。获取特征函数的所有项,同时按照次数分类,对每个同次数的项集合按照上述序关系建立平衡二叉树,同时得到项的最高次数d。次数为i的项所在的平衡二叉树标记为Ti
(说明:即建立了平衡二叉树T0,T1,…,Td,且Ti的叶子节点刚好为特征函数的i次项。注意到T0为空或者只有1个节点。)
步骤2:设置二元域上单变量多项式u=0。
步骤3:针对次数i从1到d逐个完成下述操作。进入步骤3.1。
步骤3.1:计算Ti对应单变元多项式ui。计算规则为:如果Ti有奇数个叶子节点,ui=xi;如果Ti有偶数个叶子节点,ui=0。并记住v1=u1
步骤3.2:更新单变量多项式u,计算u=gcd(u,ui),这里gcd是取二元域上最大公因式。
步骤3.3:如果deg(u)<n/2,这里deg(u)是单变量多项式u的次数,那么进入步骤6.2。否则进入下一个Ti操作直到Td完成步骤3.1-3.3(即i增加1,进入步骤3.1)。最后i>d时进入步骤4。
步骤4:构造U为u对应的特征函数,即将u的次数改为变量下标。例如,x3+x2+1对应x3+x2+x0。如果T0非空,U=U+1。构造V为u/u1对应的特征函数。
步骤5:针对次数i从2到d逐个完成下述操作。进入步骤5.1。
步骤5.1:标记平衡二叉树标记Ti为T。
步骤5.2:如果T为空进入下一个Ti操作直到Td完成(即i增加1,进入步骤5.1),最后i>d时进入步骤6.1。如果T非空,进入步骤5.3。
步骤5.3:搜索t为T中的最小叶子节点。
步骤5.4:如果t的变量中最大下标已经超过n-deg(u),那么进入步骤6.2。否则进入步骤5.5。
步骤5.5:更新特征函数V=V+t。根据u系数更新T,更新结束后进入步骤5.2。设u的非零项次数为a1,a2,…,ak。平衡二叉树T更新的具体过程如下两步:(1)根据t得到k个项,每个项分别由t的每个变量下标增加a1,a2,…,ak得到。例如,t=x2x0,u的非零项次数为0,1,3,那么得到3个项x2x0,x3x1,x5x3。(2)在平衡二叉树T中搜索每一个新得到的项,如果已经存在就删除这个项,如果尚未存在就增加这个项。在增加或者删除过程中保持二叉树平衡。
6.1输出“是,V,U”。即判定输入的移位寄存器是Grain型流密码,等价于U到V所刻画的两个移位寄存器联接。结束判别过程。
6.2输出“否”,即判定输入的移位寄存器不是Grain型流密码。结束判别过程。

Claims (7)

1.一种Grain型流密码的判别方法,其特征在于:包括如下步骤:
步骤一、对级数为n的移位寄存器的特征函数进行单项的序分类,建立平衡二叉树,得到项的最高次数d,并将次数为i的项所在的平衡二叉树标记为Ti
步骤二、设置二元域上单变量多项式u=0;
步骤三、计算Ti对应的单变元多项式ui,并记v1=u1
步骤四、更新单变量多项式u;
步骤五、判断单变量多项式u的次数deg(u)是否小于n/2:若是,则判定输入的移位寄存器不是Grain型流密码,输出“否”,然后进入步骤十三;若否,则令i=i+1,然后进入步骤六;
步骤六、判断i是否大于d:若否,则返回步骤三;若是则进入步骤七;
步骤七、构造U为u对应的特征函数,构造V为u/u1对应的特征函数,令i=2;
步骤八、标记平衡二叉树标记Ti为T;
步骤九、判断T是否为空:若否,则进入步骤十;若是,则令i=i+1,然后进入步骤十二;
步骤十、搜索T中的最小叶子节点,记为t;
步骤十一、判断t的变量中最大下标是否超过n-deg(u),若是,则判定输入的移位寄存器不是Grain型流密码,输出“否”,然后进入步骤十三;若否,则令V=V+t,同时更新T,然后返回步骤九;
步骤十二、判断i是否大于d:若否,则返回步骤八;若是则判定输入的移位寄存器是Grain型流密码,等价于U到V所刻画的两个移位寄存器联接,输出“是,V,U”,然后进入步骤十三;
步骤十三、判别过程结束。
2.根据权利要求1所述的一种Grain型流密码的判别方法,其特征在于:建立平衡二叉树的方法为:获取特征函数的所有项,同时按照次数分类,对每个同次数的项集合按照字典排序定义序关系,单项的序由两者首先相异的最高变量自然延伸定义,一个项的次数为出现变量的个数,同次数的项按照上述序关系建立平衡二叉树。
3.根据权利要求1所述的一种Grain型流密码的判别方法,其特征在于:所述Ti的叶子节点为特征函数的i次项,T0为空或者只有1个节点。
4.根据权利要求1所述的一种Grain型流密码的判别方法,其特征在于:计算Ti对应的单变元多项式ui的方法为:如果Ti有奇数个叶子节点,则令ui=xi;如果Ti有偶数个叶子节点,则令ui=0。
5.根据权利要求1所述的一种Grain型流密码的判别方法,其特征在于:更新单变量多项式u的方法为:计算二元域上最大公因式,得到gcd(u,ui),然后令u=gcd(u,ui)。
6.根据权利要求1所述的一种Grain型流密码的判别方法,其特征在于:构造U为u对应的特征函数的方法为:将u的次数改为变量下标,T0为空或者只有1个节点,若T0非空,则令U=U+1。
7.根据权利要求1所述的一种Grain型流密码的判别方法,其特征在于:更新T的方法为:设u的非零项次数为a1,a2,…,ak,则首先根据t得到k个项,每个项分别由t的每个变量下标分别增加a1,a2,…,ak得到;然后在T中搜索每一个新得到的项,如果已经存在就删除这个项,如果尚未存在就增加这个项。
CN201711295145.9A 2017-12-08 2017-12-08 一种Grain型流密码的判别方法 Active CN108270548B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711295145.9A CN108270548B (zh) 2017-12-08 2017-12-08 一种Grain型流密码的判别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711295145.9A CN108270548B (zh) 2017-12-08 2017-12-08 一种Grain型流密码的判别方法

Publications (2)

Publication Number Publication Date
CN108270548A CN108270548A (zh) 2018-07-10
CN108270548B true CN108270548B (zh) 2020-10-23

Family

ID=62772094

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711295145.9A Active CN108270548B (zh) 2017-12-08 2017-12-08 一种Grain型流密码的判别方法

Country Status (1)

Country Link
CN (1) CN108270548B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110058842B (zh) * 2019-03-14 2021-05-18 西安电子科技大学 一种结构可变的伪随机数生成方法及装置
CN113886804B (zh) * 2021-12-09 2022-04-29 南京航空航天大学 基于并行循环移位寄存器的轻量级流密码生成方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102915447A (zh) * 2012-09-20 2013-02-06 西安科技大学 一种基于二叉树支持向量机的分类方法
CN107113163A (zh) * 2014-12-17 2017-08-29 瑞典爱立信有限公司 流加密技术
CN107402744A (zh) * 2017-07-12 2017-11-28 东南大学 一种可重构反馈移位寄存器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7834781B2 (en) * 2009-04-06 2010-11-16 International Business Machines Corporation Method of constructing an approximated dynamic Huffman table for use in data compression

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102915447A (zh) * 2012-09-20 2013-02-06 西安科技大学 一种基于二叉树支持向量机的分类方法
CN107113163A (zh) * 2014-12-17 2017-08-29 瑞典爱立信有限公司 流加密技术
CN107402744A (zh) * 2017-07-12 2017-11-28 东南大学 一种可重构反馈移位寄存器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
流密码算法 Grain 的立方攻击;宋海欣;《软件学报》;20110512;第171-176页 *

Also Published As

Publication number Publication date
CN108270548A (zh) 2018-07-10

Similar Documents

Publication Publication Date Title
CN105652833B (zh) 基于双向智能搜索的制造企业车间调度优化方法
Verhaeghe et al. Extending compact-table to negative and short tables
CN108270548B (zh) 一种Grain型流密码的判别方法
CN109656798B (zh) 基于顶点重排序的超级计算机大数据处理能力测试方法
Bertoin et al. The cut-tree of large Galton–Watson trees and the Brownian CRT
CN110110402B (zh) 基于二叉决策图的资源分配系统可达状态的快速求解方法
Qi et al. Using Huffman coding method to visualize and analyze DNA sequences
CN111756521B (zh) 基于Feistel-SP结构的密码S盒设计方法
CN113222165A (zh) 一种基于遗传算法的量子线路优化方法
CN111370064A (zh) 基于simd的哈希函数的基因序列快速分类方法及系统
CN108628907A (zh) 一种用于基于Aho-Corasick的Trie树多关键词匹配的方法
CN111209341B (zh) 区块链的数据存储方法、装置、设备及介质
CN105069290A (zh) 一种面向寄递数据的并行化关键节点发现方法
CN106815302A (zh) 一种应用于游戏道具推荐的频繁项集挖掘方法
CN102546293B (zh) 基于哈希比特串复用的高速网络流量网络地址测量方法
Fan et al. Towards the cycle structures in complex network: A new perspective
Balogun A modified linear search algorithm
Dias et al. Heuristics for the transposition distance problem
CN113835712B (zh) 一种按照给定字段值进行判断的快速数据包分组路由方法
Lin et al. Efficient updating of sequential patterns with transaction insertion
Sovyn et al. Minimization of Bitsliced Representation of 4× 4 S-Boxes based on Ternary Logic Instruction
CN107808214B (zh) 车间制造系统的启发式二叉决策图变量序优化表示方法
CN106204293A (zh) 一种基于Hadoop平台的社区发现算法
CN110825846A (zh) 数据处理方法及装置
CN112068799B (zh) 一种最优带符号二进制快速计算方法以及椭圆曲线标量乘法

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