基于耦合自触发元胞自动机加解密方法技术

技术编号:12393028 阅读:106 留言:0更新日期:2015-11-26 00:49
本发明专利技术公开了一种基于耦合自触发元胞自动机的加解密算法,根据耦合和触发元胞自动机的性质,采用相互作用的n个元胞自动机作为一个整体,构造出耦合自触发元胞自动机加解密系统。仿真实验结果表明,该算法极大地提高了密钥空间,有效地阻止了蛮力攻击;同时,加密时随机数的引入使得攻击者不可能获得唯一的明文密文对,从而有效地抵御了已知明文攻击和选择密文攻击。

【技术实现步骤摘要】

本专利技术属于密码学技术,具体涉及一种耦合自触发元胞自动机加解密方法。
技术介绍
元胞自动机是时间、空间和状态均离散的动力学系统,其固有组成单元的简单性、 单元之间作用的局部性和信息处理的高度并行性,并表现出复杂的全局性等特点使得元胞 自动机适合于密码学中的应用。 元胞自动机(Cellular Automata,CA)是一时间和空间均离散的动力学系统,散布 在规则网格中的每一个元胞取有限的离散状态,遵循同样的作用规则,依据确定的局部规 则作同步更新,大量元胞通过简单的相互作用而构成动态系统的演化。元胞自动机最早是 由von Neumann提出的,目的是为研究具有自我复制特性和通用计算能力的元胞自动机。元 胞自动机致力于抽象出复杂现象的基本动力学模型,通过计算机完成实验和接受检验。元 胞自动开放性的、动态的、不可预测的特点在不同领域中得到了充分的体现,为复杂系统提 供了新的思路和实验手段。 元胞自动机在对称密码方面的应用,国内外也有相关的研究。Oliveira等人在考 虑双向触发元胞自动机的情况下,建立基于双向触发元胞自动机的加密算法,该算法增加 了更多的扰乱,提高了算法的加密强度。但在规则半径相同时,双触发元胞自动机的数量较 少,要想提高加密强度,就要增大规则半径,这增加了计算量。
技术实现思路
本专利技术的目的在于提供一种耦合自触发元胞自动机加解密方法,该方法具有加密 强度高,节省计算内存需求和计算时间的优点。 实现本专利技术目的的技术方案为: 耦合自触发元胞自动机加密算法,步骤如下: 1)令j为加密轮数,j = 0 ; 2)明文(字符串)经编码器编码成三列长度都为N的二进制位串A、B和C,用随 机源生成6r位随机数;随机数的引入使得单个误差在明文中传播过程较为明显; 3)在每列明文编码的后面分别添加2r位,同时分别存储在三个寄存器札、私和R3 中; 4)将指针k置于最右侧元胞,即令k = N+2r-l ; 5)在计算指针k对应的元胞的先导状态值时,根据该元胞当前状态值和寄存器 RpRjPR3中的值,从规则表中的相应规则得到元胞的先导状态值(规则表即加密过程中用 到的触发规则); 6)同时让寄存器&、私和R 3右移一位; 7)将况,gl,Ii1)的值分别置入&、1? 2和R3的左侧,然后指针A移一位((f D gl,Ii1) 为加密密钥); 8)重复 4)5)6),直到 k = 0。 9) j = j+1,判断j是否等于加密轮数n,若相等则加密结束,否则返回步骤2); 耦合自触发元胞自动机解密算法,步骤如下: 1)令j为解密轮数,j = 0 ; 2)解密过程为加密的逆过程,在解密过程中,首先生成一个解密指针p,p指向最 左端元胞,令N为最右端数据,则k = N-2r ; 3)根据解密密钥确定况,gl,Ii1)的值(此时比, gl,Ii1)为解密密钥); 4)把这个值赋给p当前指向的元胞,并把p值加1 ; 5)重复3) 4),直到p = k,完成一轮迭代; 6) j = j+Ι,判断j是否等于解密轮数n,若相等则解密结束,否则返回步骤2)。 本专利技术与现有加解密技术相比,其显著优点为:(1)本专利技术提出的耦合自触发元 胞自动机能在不增加计算量的同时,利用耦合来有效提高加密强度。耦合自触发元胞自动 机具有简单的局部作用、内在的并行性、适合于硬件实现等特点,因而可以快速完成加密解 密;(2)算法在不增加系统复杂度的情况下,极大地提高了密钥空间。在较小的规则半径 下,能有效地阻止蛮力攻击;(3)加密时随机数的引入使得攻击者不可能获得唯一的明文 密文对,从而有效地抵御了已知明文攻击和选择密文攻击,同时具有抵御差分分析的能力。【附图说明】 图1加解密算法结构图。 图2元胞自动机的构成图。 图3 -维、邻居半径r = 2的元胞自动机模型图。 图4邻居元胞图。 图5耦合元胞自动机模型图。 图6基本元胞的计算框图。 图7耦合自触发元胞自动机模型图。 图8自触发规则的构造流程图。 图9耦合自触发元胞自动机数据加密过程图。 图10耦合自触发元胞自动机数据加密流程图。 图11耦合自触发元胞自动机数据解密过程图。 图12耦合自触发元胞自动机数据解密流程图。【具体实施方式】 下面结合附图对本专利技术作进一步详细描述。 根据耦合和自触发元胞自动机的性质,采用相互作用的η个元胞自动机作为一个 整体,构造出耦合触发元胞自动机加解密系统。仿真实验结果表明,该算法极大地提高了密 钥空间,有效地阻止了蛮力攻击;同时,加密时随机数的引入使得攻击者不可能获得唯一的 明文密文对,从而有效地抵御了已知明文攻击和选择密文攻击。耦合自触发元胞自动机密 码系统采用耦合自触发元胞自动机触发规则作为密钥,将明文编码作为初始状态,通过反 向演化获得的状态来构成密文;接收方收到密文后,正向迭代这个不可逆CA系统,经过与 加密时相同的演化,恢复出明文。 元胞自动机是一时间和空间均离散的动力学系统,分布在η维(η通常为1,2,3) 规则网格中的每一个元胞取有限的离散状态,遵循同样的作用规则,依据确定的局部规则 作同步更新,大量元胞通过简单的相互作用而构成动态系统的演化。元胞自动机由元胞、元 胞空间、邻居及转换规则四部分组成,元胞自动机可以视为由一个元胞空间和定义于该空 间的变换函数所组成(如图1)。元胞单元与它周围的其他元胞单元之间的相互影响的关 系,被称为邻居关系(如图2)。二维元胞自动机的邻居定义较为复杂,图3为Von Neumann 型和梯型两种邻居模型。图3中深色元胞为中心元胞,浅色元胞为邻居。 耦合元胞自动机是指两个元胞自动机的状态相互影响,相互作用,共同决定CA系 统的演化状态,即某个元胞自动机的下一时刻状态除了取决于自身现有的状态外还与其它 元胞自动机的现有状态相关(如图4)。 两个简单元胞自动机A和B,它们具有相同的有限状态集S,其构形表示如下: 针对元胞空间中的基本元胞建立状态转移函数。图5给出了基本元胞在元胞自动 机模型中的计算框图。 耦合自触发元胞自动机是一类特殊的元胞自动机,它由η个元胞自动机作为一个 集团,每个元胞自动机具有相同的状态集S,根据各自的规则进行演化。耦合是指η个元胞 自动机相互作用,相互影响成为一个元胞自动机组。触发是指如果改变元胞自动机中的一 个元胞的状态,则其演化的状态也随之改变的性质(如图6)。耦合触发元胞自动机数据加 密过程如图8所示,耦合触发元胞自动机数据加密流程图如图9所示。耦合触发元胞自动 机数据解密过程如图10所示,耦合触发元胞自动机数据解密流程图如当前第1页1 2 本文档来自技高网...

【技术保护点】
一种基于耦合自触发元胞自动机加解密方法,包括耦合自触发元胞自动机加密方法和解密方法,其特征在于:耦合自触发元胞自动机加密方法的具体步骤如下:1)明文经编码器编码成三列长度都为N的二进制位串A、B和C,用随机源生成6r位随机数,r为元胞自动机规则半径;2)在每列明文编码的后面分别添加2r位,同时分别存储在三个移位寄存器R1、R2和R3中;3)将指针k置于最右侧元胞,即令k=N+2r‑1;4)计算指针k对应元胞的先导状态值:根据该元胞当前状态值和移位寄存器R1、R2和R3中的值,从规则表中的相应规则得到元胞的先导状态值;5)移位寄存器R1、R2和R3右移一位;6)将(fi,gi,hi)的值分别置入R1、R2和R3的左侧,然后指针k左移一位,(fi,gi,hi)为每轮的加密密钥;7)重复步骤4)、5)、6),直到k=0;此时完成一轮加密操作,如果需要进行n轮加密,则迭代n次;耦合自触发元胞自动机解密算法的具体步骤如下:1)首先生成一个解密指针p,p指向密文最左端数据,N为密文最右端数据,则设k=N‑2r;2)根据解密密钥确定(fi,gi,hi)的值;3)把这个值赋给p当前指向的元胞,并把p值加1;4)重复步骤2)、3),直到p=k,完成一轮解密;如果进行了n轮加密,则执行n轮解密,即可得到明文。...

【技术特征摘要】

【专利技术属性】
技术研发人员:张琨郜飞卞雪雯刘健冯新淇
申请(专利权)人:南京理工大学
类型:发明
国别省市:江苏;32

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

1