一种基于奇偶元胞自动机的分组加密方法

文档序号:7792529阅读:177来源:国知局
专利名称:一种基于奇偶元胞自动机的分组加密方法
技术领域
本发明涉及一种基于奇偶元胞自动机的分组加密方法,属于信息安全领域中的数据加密技术。
背景技术
随着计算机和网络技术的飞速发展,信息化程度已经成为衡量国家综合国力的象征,如何保障电子商务、电子政务和电子军务在各种网络活动中的信息安全成为人们关心的重点。没有信息安全的保障,也就没有人民的安全、国家的安全。作为信息安全的核心和关键技术之一,密码技术已成为信息安全研究的热点。根据加密方式的不同,密码技术分为序列密码和分组密码两种。与序列密码相比, 分组密码具有速度快、易于标准化、便于软硬件实现、用户密钥可重复使用等优点。分组密码的实现技术是先将明文数据分成若干个长度固定的明文分组,每个明文分组在密钥的控制下变换成等长的密文分组。美国早在1977年就制定了本国的数据加密标准,即DES。随着DES的出现,人们对分组密码展开了深入的研究和讨论,涌现了大量的分组密码,如IDEA 算法、SAFER系列算法、FEAL系列算法、Rijndael算法等。在分组密码设计技术不断发展的同时,分组密码分析技术也得到了空前的发展。 有很多分组密码分析技术被开发出来,如强力攻击、差分密码分析、线性密码分析、插值攻击、密钥相关攻击等等。1997年,美国程序员Verser在hternet上数万名志愿者的协同下,用96天的时间,通过穷尽密钥方法成功地找出了 DES的密钥,证明了依靠hternet的分布式计算能力和用穷尽密钥搜索攻击的方法可以破译DES。一年以后,电子边境基金会 (EFF)使用一台25万美元的电脑,也用穷尽密钥搜索攻击的方法,仅花费56个小时就破解了 DES。1999年,在RSA会议期间,电子边境基金会也在不到M小时的时间内用穷尽密钥攻击的方法找了 DES的一个密钥。可见,DES的加密已失去了效力,寻找DES的替代者已到了刻不容缓的地步。随之,各种新的分组加密算法不断涌现。元胞自动机是一种空间、时间、状态均离散化的动力系统,它由元胞空间、状态、邻域和规则四个主要部分构成。空间中的每一个元胞取有限的离散状态,并根据相同的局部规则作同步更新。元胞自动机固有的组成单元的简单性、单元之间作用的局部性和信息处理的高度并行性以及复杂的全局特性等特点,使其在密码学领域中有着独特的优势。近年来,研究人员提出了一些基于元胞自动机的分组加密算法,然而这些算法均在安全性或者高效性上存在缺陷。

发明内容
本发明所要解决的技术问题是鉴于背景技术中的缺陷,提出一种基于奇偶元胞自动机的分组加密方法。本发明为解决上述技术问题采用以下技术方案一种基于奇偶元胞自动机的分组加密方法,包括以下处理步骤
步骤1 将明文数据按每组M比特的长度分成明文分组,M为偶数;步骤2 设置密钥,密钥由两部分组成第一密钥和第二密钥;其中第一密钥是一个8比特的二进制序列^石 ^,其中冗代表 的值取反,k = 0,1,2,3 ;第二密钥是一串长度为N比特的二进制随机序列rir2r3,. . . , rN, N ^ Μ, N为偶数;步骤3 令奇偶元胞自动机的长度为Μ,奇偶元胞自动机的迭代次数为N,并建立奇偶元胞自动机的迭代表达式
,,,, , π), / = 1,3,5,...,M-I当时间t为偶数时乂+1 = M ‘―1 ‘ 1+1;当时间t为奇数时乂+1=W χ /κ :;
/=2,4,6,...,M式中乂为第i个元胞在t时刻的状态,^L1为第i_l个元胞在t时刻的状态,为第 i+1个元胞在t时刻的状态,^+1为第i个元胞在t+Ι时刻的状态,所述状态的取值为0或1 ;令g是具有3个变量的逻辑函数,当XK^1的取值分别为000,001,010,011,100, 101,110,111时,对应的逻辑函数《((乂D的值分别为第一密钥中的元素aQ,B1, a2, a3,
CIq 9 Cl^ 9 Cl: 9 Cl^ 5步骤4:将M比特明文分组作为奇偶元胞自动机t = ο时刻的全局状态々<, 奇偶元胞自动机根据步骤3所述的迭代表达式迭代N次,获得t = N时刻的全局状态 ^2X,...,4,将该全局状态 <,...,《作为对该明文分组加密所得到的M比特密文分组。作为本发明的一种基于奇偶元胞自动机的分组加密方法的进一步优化方案,所述步骤4中奇偶元胞自动机根据迭代表达式迭代N次的具体步骤如下步骤4a 根据奇偶元胞自动机t = 0时刻的全局状态 冬计算t = 1时刻的全局状态44i...,4,方法为如果元胞位置i = 2,4,6,. . .,M,则这些位置的元胞t = 1时刻的状态与t = 0 时刻的状态相同,即〃X ;如果元胞位置i = 1,3,5,. . .,M-1,则这些位置的元胞根据A1^1的取值得到对应的逻辑函数对么乂,义)的值,并将该逻辑函数对么乂,义)的值作为t = 1时刻的状态4, 在计算过程中有一个超出元胞边界的未知值<,令<的值为第二密钥中的元素A;步骤4b 根据奇偶元胞自动机t = 1时刻的全局状态<4i...,4计算t = 2时刻的全局状态^ 2,...,4,方法为如果元胞位置i = 1,3,5,. . .,M-1,则这些位置的元胞t =2时刻的状态与t = 1时刻的状态相同,即彳= <,如果元胞位置i = 2,4,6,...,M,则这些位置的元胞根据^—, ,的取值得到对应的逻辑函数对<” ,)的值,并将该逻辑函数容(心, +1)的值作为t = 2时刻的状态彳,在计算过程中有一个超出元胞边界的未知值 4+1,令埝+1的值为第二密钥中的元素r2 ;步骤如根据奇偶元胞自动机t = 2时刻的全局状态^^2 2,计算t = 3时刻的全局状态办k3,...,4,方法为如果元胞位置i = 2,4,6,. . .,M,则这些位置的元胞t = 3时刻的状态与t = 2 时刻的状态相同,即疗=彳;
如果元胞位置i = 1,3,5,. . .,M-I,则这些位置的元胞根据忒乂力的取值得到对应的逻辑函数^;^,力)的值,并将该逻辑函数^^,<,☆)的值作为t = 3时刻的状态 ,在计算过程中有一个超出元胞边界的未知值<,令<的值为第二密钥中的元素r3 ;步骤4d 根据奇偶元胞自动机t = 3时刻的全局状态&计算t = 4时刻的全局状态 屹...,4,方法为如果元胞位置i = 1,3,5,. . .,M-I,则这些位置的元胞t = 4时刻的状态与t = 3时刻的状态相同,即< =彳;如果元胞位置i = 2,4,6,. . .,M,则这些位置的元胞根据^^ 丨的取值得到对应的逻辑函数《(&,^1)的值,并将该逻辑函数《(&,^1)的值作为t = 4时刻的状态〈, 在计算过程中有一个超出元胞边界的未知值,令的值为第二密钥中的元素r4 ;以此类推继续执行,直到计算出奇偶元胞自动机t = N时刻的全局状态
SNSNSN SN
J1 J2 J3 ,...,Jm ο本发明采用以上技术方案与现有技术相比,具有以下技术效果本发明将元胞自动机理论与密码学理论相结合,由于元胞自动机具有组成单元的简单性和复杂的全局特性使得本发明具有逻辑结构简单、安全性高、易于软硬件实现的优点,同时由于元胞自动机的运算是基于定点运算,因此执行效率要高于浮点运算,令本发明具有高效的优点。


图1是本发明的一个实施例的加密步骤图;图2是奇偶元胞自动机的迭代过程图。
具体实施例方式下面结合附图对本发明的技术方案做进一步的详细说明如图1所示,结合一个具体实施例介绍实现本发明的技术方案,包括如下步骤步骤1 将明文数据按每组64比特的长度分成明文组;步骤2 设置密钥,密钥1是一个8比特的二进制序列^ 石 忑,这里冗(k =0,1,2,3)代表%的值取反,密钥2是一串长度为80比特的二进制随机序列rir2r3,..., ^80 ‘步骤3 令奇偶元胞自动机的长度为64,奇偶元胞自动机的迭代次数为80,并建立奇偶元胞自动机的迭代表达式当时间t 为偶数时,f=^0^'^4)' Z = 1,3,5,...,63 ;当时间t为奇数时,广1= χ ” J α;
/ = 2,4,6,…,64式中乂为第i个元胞在t时刻的状态,^L1为第i_l个元胞在t时刻的状态,为第 i+1个元胞在t时刻的状态,^+1为第i个元胞在t+Ι时刻的状态,状态取值为0或1 ;g是具有3个变量的逻辑函数,当XK^1的取值分别为000,001,010,011,100,101,110,111时,对应的逻辑函数^i1XX1)的值分别为密钥1中的元素a0, ai; a2, a3,石, 3。本实施例采用如表1所示的真值表的形式表示逻辑函数对(, +1),这样,输入变量^^;。取值一旦确定,即可从真值表中查找到相应的输出值。
权利要求
1.一种基于奇偶元胞自动机的分组加密方法,其特征在于,包括以下处理步骤 步骤1 将明文数据按每组M比特的长度分成明文分组,M为偶数;步骤2 设置密钥,密钥由两部分组成第一密钥和第二密钥;其中第一密钥是一个8 比特的二进制序列忑,其中冗代表Eik的值取反,k = 0,1,2,3 ;第二密钥是一串长度为N比特的二进制随机序列rir2r3,. . . , rN, N ^ Μ, N为偶数;步骤3 令奇偶元胞自动机的长度为Μ,奇偶元胞自动机的迭代次数为N,并建立奇偶元胞自动机的迭代表达式
2.根据权利要求1所述的一种基于奇偶元胞自动机的分组加密方法,其特征在于,所述步骤4中奇偶元胞自动机根据迭代表达式迭代N次的具体步骤如下步骤乜根据奇偶元胞自动机t = 0时刻的全局状态4计算t = 1时刻的全局状态<4i...,4,方法为如果元胞位置i = 2,4,6,. . .,M,则这些位置的元胞t = 1时刻的状态与t = 0时刻的状态相同,即〃X ;如果元胞位置i = 1,3,5,. . .,M-1,则这些位置的元胞根据A1^1的取值得到对应的逻辑函数MKO的值,并将该逻辑函数MKO的值作为t = 1时刻的状态,在计算过程中有一个超出元胞边界的未知值<,令<的值为第二密钥中的元素A;步骤4b 根据奇偶元胞自动机t = 1时刻的全局状态<4i...,4计算t = 2时刻的全局状态4 2,...,^,方法为如果元胞位置i = 1,3,5,. . .,M-I,则这些位置的元胞t = 2时刻的状态与t = 1时刻的状态相同,即< =4,如果元胞位置i = 2,4,6,...,M,则这些位置的元胞根据敁的取值得到对应的逻辑函数对心, +1)的值,并将该逻辑函数对心, 的值作为t = 2时刻的状态<,在计算过程中有一个超出元胞边界的未知值埝+1,令埝+1的值为第二密钥中的元素r2;步骤4c 根据奇偶元胞自动机t = 2时刻的全局状态#4 2,...,4计算t = 3时刻的全局状态44 3,...,4,方法为如果元胞位置i = 2,4,6,. . .,M,则这些位置的元胞t = 3时刻的状态与t = 2时刻的状态相同,即疗=彳;如果元胞位置i = 1,3,5,. . .,M-1,则这些位置的元胞根据Xt1^1的取值得到对应的逻辑函数^^1,的值,并将该逻辑函数^^乂,力)的值作为t = 3时刻的状态彳,在计算过程中有一个超出元胞边界的未知值<,令<的值为第二密钥中的元素r3 ;步骤4d 根据奇偶元胞自动机t = 3时刻的全局状态&计算t = 4时刻的全局状态4,方法为如果元胞位置i = 1,3,5,. . .,M-I,则这些位置的元胞t = 4时刻的状态与t = 3时刻的状态相同,即< =彳;如果元胞位置i = 2,4,6,. . .,M,则这些位置的元胞根据Xt1^1的取值得到对应的逻辑函数对么,^1)的值,并将该逻辑函数对么,^1)的值作为t = 4时刻的状态4,在计算过程中有一个超出元胞边界的未知值,令的值为第二密钥中的元素r4 ;以此类推继续执行,直到计算出奇偶元胞自动机t = N时刻的全局状态 <,...,4。
全文摘要
本发明公开了一种基于奇偶元胞自动机的分组加密方法,属于信息安全领域中的数据加密技术,所述方法包括以下处理步骤将明文数据按每组比特的长度分成明文分组,为偶数;设置密钥;设置奇偶元胞自动机的长度和迭代次数,并建立迭代表达式;将明文分组作为奇偶元胞自动机的初始状态,奇偶元胞自动机根据迭代规则迭代N次后,获得的终止状态即为密文分组。本发明将元胞自动机理论应用于数据加密,由于元胞自动机具有组成单元的简单性、单元之间作用的局部性和信息处理的高度并行性以及复杂的全局特性等特点,因此本发明是一种简单、安全和高效的分组加密方法,可广泛应用于政府、电子商务、军属、数字银行等众多领域。
文档编号H04L29/06GK102546158SQ201110435659
公开日2012年7月4日 申请日期2011年12月22日 优先权日2011年12月22日
发明者平萍, 王志坚, 许峰 申请人:河海大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1