基于拉链式动态散列和NLFSR的加密解密方法及装置制造方法及图纸

技术编号:21551942 阅读:33 留言:0更新日期:2019-07-07 00:03
一种基于拉链式动态散列和NLFSR的加密解密方法,加密过程包括以下步骤:利用非线性反馈函数和位变换布尔函数预处理种子密钥,以形成密钥流序列;按照基于密钥流序列的位变换布尔函数改变明文序列的位值,以形成伪明文序列;按照密钥流序列将伪明文序列划分为多路伪明文子序列;按照依赖于密钥流序列的散列映射规则,计算每个伪明文序列的二进制位所对应动态散列地址,并将分为多路的伪明文子序列散列映射到密文空间中以形成密文流序列。本申请的有益效果为:密钥流生成器中除了使用非线性反馈移位寄存器,还引入位变换布尔函数,从而得到周期更长随机性更好的密钥流;通过明文的位变换规则和拉链式动态散列映射规则,提高了密文流序列的破译难度。

Encryption and decryption method and device based on zipper dynamic hash and NLFSR

【技术实现步骤摘要】
基于拉链式动态散列和NLFSR的加密解密方法及装置
本申请涉及信息安全领域,尤其涉及一种基于拉链式动态散列和NLFSR(NonlinearFeedbackShiftRegister,非线性反馈移位寄存器)的加密解密方法及装置。本申请一般可以用于网络通信信息加密、航天数字遥控指令与数据加密、无人机数字遥控通信数据加密、预警机数字通信指挥系统信息加密、GPS卫星数字通信数据加密、移动通信加密、大数据加密、图形影像加密和电子邮件加密等。加密后,军事、政治和外交文件可利用民用通信网络传输,以节省文件传送成本。
技术介绍
流密码(streamcipher)通常是一种对称密钥技术。因为其实施简单、加密速度快,密文传输中的错误不会在明文中产生扩散等好处,所以它成为一类重要的密码体制。流密码是世界军事、外交等领域应用的主流密码体制。密钥流生成器的设计是流密码安全的关键,目前,比较著名的流密码算法如:欧洲数字蜂窝移动电话系统GSM中采用的A5算法和美国RSA数据安全公司开发的RC4算法。由于流密码具有许多其他密码不可比拟的优点,所以,它仍然是当今最为通用的密码体系之一。流密码的密钥流生成器的设计是流密码技术的关键,其本质是通过给定算法产生由0、1数据流构成的密钥流,通常以能够产生伪随机序列的数学模型为基础,如:代数运算、线性反馈移位寄存器(LFSR,LinearFeedbackShiftRegister)、钟控序列、组合网络序列、元胞自动机和混沌理论等。发送者将明文序列用密钥流加密生成密文并发送给接收者;接收者用相同的密钥流对密文解密恢复出明文序列。目前,很多学者已经掌握了攻击和破译上述加密方法的手段。例如,Courtois和Meier在2003年的欧洲密码学年会上提出将代数攻击应用于基于线性反馈移位寄存器的流密码算法。“代数攻击”作为流密码领域研究的新热点,从新的角度来分析密码体制的安全性,将其转化到求解超定的多元方程组的问题上。这对传统的流密码体系的设计产生了巨大的冲击。为了抵抗相关攻击和代数攻击,采用线性反馈移位寄存器的流密码算法需要使用较为复杂的前馈函数,而非线性反馈移位寄存器作为一种安全性较高的伪随机序列生成器能够有效抵抗相关攻击和代数攻击。2004年以后,基于非线性移位寄存器技术设计的密钥流生成器开始兴起。例如,eSTREAM项目最终推荐的算法Grain、Trivium和MICKEY等都采用非线性反馈移位寄存器作为密钥流生成器。由于常规流密码技术的关键是构造各种各样的密钥流生成器,从而产生(伪)随机序列作为密钥流序列,因此对流密码的攻击也都集中在对密钥流生成器的攻击上。然而,常规的流密码加解密方法是基于二进制位异或运算的。换言之,加密时,明文序列与密钥流序列间的位异或运算随机地将明文序列中的1变成0、将0变成1,从而产生密文流序列;解密时,密文流序列与密钥流序列间相应位的位异或运算生成明文序列。因此,这种机制的一个缺陷是流密码的安全强度完全取决于密钥流序列的安全强度,然而目前已经出现了诸多对密钥流生成器的攻击技术。这种机制的另一个缺陷是加密解密方法单一,这就导致对于较短的密钥流序列,单纯依靠异或运算不能得到随机性和码分布均匀性较好的密文。
技术实现思路
本申请的目的是解决现有技术的不足,提供一种基于拉链式动态散列和非线性反馈移位寄存器的加密解密方法及相应的加密解密装置,使得密文具有很强的随机性和不可预测性,从而获得提高破译密文难度的技术效果。为了实现上述目的,本申请采用以下的技术方案。首先,本申请提出一种基于拉链式动态散列和NLFSR的加密解密方法。该方法可以包括以下步骤:S100)利用非线性反馈函数和位变换布尔函数预处理种子密钥,以形成密钥流序列;S200)按照基于密钥流序列的位变换布尔函数改变明文序列的位值,以形成伪明文序列;S300)按照密钥流序列将伪明文序列划分为多路伪明文子序列;S400)按照依赖于密钥流序列的散列映射规则,计算每个伪明文序列的二进制位所对应动态散列地址,并将分为多路的伪明文子序列散列映射到密文空间中以形成密文流序列。因为密钥流生成器是基于非线性反馈移位寄存器和位变换规则构造,而非线性反馈移位寄存器作为一种安全性较高的伪随机序列生成器能够有效抵抗相关攻击和代数攻击;所以上述加密方法能有效提高破译密文的难度。进一步地,在本申请的上述方法中,还包括以下用于解密的步骤:S500)获取密文流序列,并利用相同的所述非线性反馈函数和所述位变换布尔函数预处理预先约定的种子密钥,以形成密钥流序列;S600)按照依赖于密钥流序列的逆散列映射规则,计算每个密文序列的二进制位所对应散列地址,并将密文序列散列映射到明文存储空间中,以形成多路伪明文子序列;S700)合并多路伪明文子序列,以形成伪明文序列;S800)按照基于密钥流序列的位变换布尔函数改变伪明文序列的位值,以形成明文序列。进一步地,在本申请的上述方法中,所述步骤S100还包括以下子步骤:S101)输入种子密钥到非线性反馈函数以生成第一输出序列;S102)循环第一输出序列以填充形成为密钥流序列空间的第二输出序列;S103)输入第二输出序列到位变换布尔函数以形成密钥流序列。再进一步地,在本申请的上述方法中,在所述步骤S102中,循环填充的起始位置是第一输出序列中的任意合法位置。进一步地,在本申请的上述方法中,所述步骤S300还包括以下的子步骤:S301)将伪明文序列按照密钥流序列的真值位和假值位分解为多路伪明文子序列;S302)分别双向循环扫描所述多路伪明文子序列和密钥流序列,以将多路伪明文子序列拉链式动态散列到密文空间。可替代地,在本申请的上述方法中,所述明文序列、所述密钥流序列和所述密文流序列都采用循环队列的数据结构,并且加密解密是从相应循环队列中的任意合法位置开始。进一步地,在本申请的上述方法中,所述位变换布尔函数是根据密钥流序列的特定位按位取反函数。可替代地,在本申请的上述方法中,所述非线性反馈函数是代数阶数为4以上的反馈函数。其次,本申请还提出一种基于拉链式动态散列和NLFSR的加密解密装置。该装置可以包括以下模块:第一密钥流生成模块,用于利用非线性反馈函数和位变换布尔函数预处理种子密钥,以形成密钥流序列;伪明文生成模块,用于按照基于密钥流序列的位变换布尔函数改变明文序列的位值,以形成伪明文序列;伪明文划分模块,用于按照密钥流序列将伪明文序列划分为多路伪明文子序列;第一动态散列模块,用于按照依赖于密钥流序列的散列映射规则,计算每个伪明文序列的二进制位所对应动态散列地址,并将分为多路的伪明文子序列散列映射到密文空间中以形成密文流序列。进一步地,在本申请的上述装置中,还包括以下用于解密的模块:第二密钥流生成模块获取密文流序列,并利用相同的所述非线性反馈函数和所述位变换布尔函数预处理预先约定的种子密钥,以形成密钥流序列;第二动态散列模块,用于按照依赖于密钥流序列的逆散列映射规则,计算每个密文序列的二进制位所对应散列地址,并将密文序列散列映射到明文存储空间中,以形成多路伪明文子序列;伪明文合并模块,用于合并多路伪明文子序列,以形成伪明文序列;伪明文还原模块,用于按照基于密钥流序列的位变换布尔函数改变伪明文序列的位值,以形成明文序列。进一本文档来自技高网
...

【技术保护点】
1.一种基于拉链式动态散列和NLFSR的加密解密方法,其特征在于,包括以下步骤:S100)利用非线性反馈函数和位变换布尔函数预处理种子密钥,以形成密钥流序列;S200)按照基于密钥流序列的位变换布尔函数改变明文序列的位值,以形成伪明文序列;S300)按照密钥流序列将伪明文序列划分为多路伪明文子序列;S400)按照依赖于密钥流序列的散列映射规则,计算每个伪明文序列的二进制位所对应动态散列地址,并将分为多路的伪明文子序列散列映射到密文空间中以形成密文流序列。

【技术特征摘要】
1.一种基于拉链式动态散列和NLFSR的加密解密方法,其特征在于,包括以下步骤:S100)利用非线性反馈函数和位变换布尔函数预处理种子密钥,以形成密钥流序列;S200)按照基于密钥流序列的位变换布尔函数改变明文序列的位值,以形成伪明文序列;S300)按照密钥流序列将伪明文序列划分为多路伪明文子序列;S400)按照依赖于密钥流序列的散列映射规则,计算每个伪明文序列的二进制位所对应动态散列地址,并将分为多路的伪明文子序列散列映射到密文空间中以形成密文流序列。2.根据权利要求1所述的加密解密方法,其特征在于,还包括以下用于解密的步骤:S500)获取密文流序列,并利用相同的所述非线性反馈函数和所述位变换布尔函数预处理预先约定的种子密钥,以形成密钥流序列;S600)按照依赖于密钥流序列的逆散列映射规则,计算每个密文序列的二进制位所对应散列地址,并将密文序列散列映射到明文存储空间中,以形成多路伪明文子序列;S700)合并多路伪明文子序列,以形成伪明文序列;S800)按照基于密钥流序列的位变换布尔函数改变伪明文序列的位值,以形成明文序列。3.根据权利要求1或2所述的加密解密方法,其特征在于,所述步骤S100还包括以下子步骤:S101)输入种子密钥到非线性反馈函数以生成第一输出序列;S102)循环第一输出序列以填充形成为密钥流序列空间的第二输出序列;S103)输入第二输出序列到位变换布尔函数以形成密钥流序列。4.根据权利要求3所述的加密解密方法,其特征在于,在所述步骤S102中,循环填充的起始位置是第一输...

【专利技术属性】
技术研发人员:冯广慧司玉娟郎六琪
申请(专利权)人:吉林大学珠海学院吉林大学
类型:发明
国别省市:广东,44

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

1