一种新型高安全的轻量级ECEG分组密码实现方法、系统及存储介质技术方案

技术编号:24589276 阅读:96 留言:0更新日期:2020-06-21 02:22
本发明专利技术提供了一种新型高安全的轻量级ECEG分组密码实现方法、系统及存储介质,基于椭圆曲线离散对数的NP难问题进行的密钥扩展,这种扩展使得密码攻击者即使得到中间轮的密钥,也很难推断出原始密钥是什么,进一步提高了密码的安全性,属于首次将ECDLP应用到分组密码加解密领域中;此外,本发明专利技术的技术方案中还提出了一种扩展的广义Feistel结构,与常规的Feistel结构不同,通过迭代4次后生成一个MDS矩阵,MDS矩阵是整个密码算法中主要起扩散作用,利用该矩阵进行列混淆运算。MDS矩阵构成的扩散层可以最优的抵抗差分攻击和线性攻击,应用到本发明专利技术中技术方案中可以进一步提高技术方案中算法的安全性。

A new method, system and storage medium of high security and lightweight block cipher for ECEG

【技术实现步骤摘要】
一种新型高安全的轻量级ECEG分组密码实现方法、系统及存储介质
本专利技术属于计算机领域,特别涉及一种新型高安全的轻量级ECEG分组密码实现方法、系统及存储介质。
技术介绍
物联网技术的飞速发展,使得每天都有海量信息在网络上传播,信息安全问题已经成为家喻户晓的需要注意的问题,这种环境迫使相应的信息安全技术快速发展,以适应现有的各种网络信息的传播。密码学作为信息安全技术的基础,和其相关的技术也在随着现代社会的发展不断进步。分组密码算法因其速度快、易于标准化和便于软硬件实现等特点,通常被广泛的应用于网络安全中实现数据加密、消息鉴别、消息认证及密钥管理的算法之中。而随着智能卡、传感器等资源受限设备在人们生活中逐渐普及,传统的分组密码已经不再适用于这些存储面积较小的资源受限的设备之中,因此,设计和分析适用于这些资源受限设备上的轻量级分组密码算法,是现代社会所需要解决的热点问题。近几年已经有一些很好的轻量级分组密码算法被提出,如PRESENT,LBlock,PRINCE,Piccolo,LED,QTL,SFN等。这些轻量级分组密码本文档来自技高网...

【技术保护点】
1.一种新型高安全的轻量级ECEG分组密码实现方法,其特征在于,包括:/n数据加载:将64位明文/64位密文加载至寄存器,作为待加/解密数据,进行加/解密运算;/n轮运算操作:将所述待加/解密数据按以下步骤进行32轮迭代轮运算操作;/n若输入的待加密数据进行加密运算操作,先将输入的待加密数据进行一次轮密钥加变换,获得32轮迭代轮运算的输入数据,在第1轮至第32轮迭代轮运算中的每一轮轮运算中依次对每一轮输入的待加密数据进行常数加变换、S盒变换、行移位变换及EFG列混合变换,以EFG列混合变换后得到的数据作为下一轮的待加密数据,完成32轮迭代运算操作后,再进行一次轮密钥加变换,得到密文数据;/n若...

【技术特征摘要】
1.一种新型高安全的轻量级ECEG分组密码实现方法,其特征在于,包括:
数据加载:将64位明文/64位密文加载至寄存器,作为待加/解密数据,进行加/解密运算;
轮运算操作:将所述待加/解密数据按以下步骤进行32轮迭代轮运算操作;
若输入的待加密数据进行加密运算操作,先将输入的待加密数据进行一次轮密钥加变换,获得32轮迭代轮运算的输入数据,在第1轮至第32轮迭代轮运算中的每一轮轮运算中依次对每一轮输入的待加密数据进行常数加变换、S盒变换、行移位变换及EFG列混合变换,以EFG列混合变换后得到的数据作为下一轮的待加密数据,完成32轮迭代运算操作后,再进行一次轮密钥加变换,得到密文数据;
若输入的待解密数据进行解密运算操作,先将输入的待解密数据进行一次轮密钥加变换,获得32轮迭代轮运算的输入数据,然后在第1轮至第32轮迭代轮运算中的每一轮轮运算中依次对每一轮输入的待解密数据进行EFG列混合逆变换、行移位逆变换、S盒逆变换及常数加逆变换,以常数加逆变换后得到的数据作为下一轮的待解密数据,完成32轮迭代运算操作后,再进行一次轮密钥加变换,得到明文数据;
其中,在第1轮轮运算开始前和最后1轮轮运算结束后的轮密钥加变换中所使用的密钥为原始密钥,在第4*t轮轮运算操作后,利用ECDLP对原始密钥进行扩展得到的密钥进行一次轮密钥加变换,将得到的数据作为后续操作的输入数据,t={1,2,…,7};
所述EFG列混合逆变换和EFG列混合变换、行移位逆变换和行移位变换、S盒逆变换和S盒变换以及常数加逆变换和常数加变换均互为逆运算。


2.根据权利要求1所述的方法,其特征在于,所述利用ECDLP对轮密钥进行扩展具体是指:
将长度为64位的原始密钥K按照从高位到低位进行划分,每取4位作为矩阵的一个元素,排列好一个行后,再排列下一个行,获得4×4的原始密钥矩阵;
给定密钥扩展所用椭圆曲线的基本参数组(p,E(Fp),G,n),其中p为一个素数,E(Fp)为有限域Fp上的椭圆曲线y2=x3+ax+b,其中a和b为有限域Fp上的元素且4a3+27b2≠0,G为所述椭圆曲线中的给定点,利用G的坐标值在ECDLP中的加法运算规则下,生成交换群,且交换群的阶数为n;
随机选择正整数d∈[1,n-1],并通过上述加法运算方法计算出点P=dG的值;
将原始密钥矩阵中前两行的8个元素k1,k2,…,k8,分别作为椭圆曲线E(Fp)中x坐标轴上对应的点,根据椭圆曲线方程求出相应的y坐标轴中对应的值,获得点Mi=(xi,yi)=(ki,yi),i=1,…,8;
随机选择Si∈[1,n-1],根据交换群中的加法运算规则计算得出Ci=Mi+SiP=(x′i,y′i),i=1,…,8,将x′i和y′i依次作为扩展密钥中前面相邻的两个数,获得16个数字,并将所述16个数字作为扩展后的密钥(x′1,y′1,x′2,y′2,...,x′8,y′8)。


3.根据权利要求1所述的方法,其特征在于,所述EFG列混合变换操作使用的矩阵采用扩展的广义Feistel结构迭代4次获得;
所述扩展的广义Feistel结构对应的矩阵如下:



经过迭代4次后得到EFG列混合变换操作使用的矩阵为:



...

【专利技术属性】
技术研发人员:李秋萍李浪刘波涛赵军霞张剑李康满
申请(专利权)人:衡阳师范学院
类型:发明
国别省市:湖南;43

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

1