一种明文数据加密方法及设备技术

技术编号:16400723 阅读:32 留言:0更新日期:2017-10-17 20:49
本发明专利技术提供了一种明文数据加密方法及设备,该方法应用于包括有处理器的设备,包括:将白化密钥k0与明文数据P按字节做异或运算得到运算结果X0,X0表示第一个中间态,

Method and equipment for encrypting plaintext data

The invention provides a clear data encryption method and device, including application of the method to include processor device, K0: whitening key and plaintext data byte XOR P do get the results of operations of X0 X0, said the first intermediate state,

【技术实现步骤摘要】
一种明文数据加密方法及设备
本专利技术涉及信息安全技术,尤指一种明文数据加密方法及设备。
技术介绍
随着计算机和通信技术的发展,用户对信息的安全存储、安全处理和安全传输的需求越来越迫切。特别地,随着Internet的广泛应用,以及个人通信、多媒体通信、办公自动化、电子邮件、电子自动转账支付系统和自动零售业务网的建立和实现,信息的安全保护问题就显得更加重要,解决这一问题的有效手段之一是使用现代密码技术。美国数据加密标准(DES,DataEncryptionStandard)的颁布实施标志着现代密码学的诞生,从此揭开了商用密码研究的序幕。此后实用密码的研究基本上在沿着两个方向进行,即以公钥加密算法RSA为代表的公开密钥密码和以DES为代表的秘密密钥分组密码。其中,分组密码具有速度快,易于标准化和便于软硬件实现等特点,通常是信息与网络安全中实现数据加密、消息鉴别、认证及密钥管理的核心密码算法,它在计算机通信和信息系统安全领域有着广泛的应用。美国国家标准技术研究所在2001年发布了高级加密标准(AES)。AES是一个对称分组密码算法,旨在取代DES成为广泛使用的标准。韩国分组密码标准(ARIA算法)是目前广泛应用的分组加密算法之一,但其与AES算法相似的设计结构使得很多攻击AES算法的方法对ARIA产生威胁,如何优化ARIA算法,提升信息安全性是目前需要解决的问题之一。
技术实现思路
针对上述技术问题,本专利技术提供了一种明文数据加密方法及设备,对ARIA算法进行了改进,能够抵抗滑动攻击,提升信息安全性。为了达到本专利技术目的,本专利技术提供了一种明文数据加密方法,应用于包括有处理器的设备,该方法包括:将白化密钥k0与明文数据P按字节做异或运算得到运算结果X0,X0表示第一个中间态,其中白化密钥K0为预先配置的主密钥K的最左边128比特;对运算结果X0进行r-1轮迭代变换得到运算结果Xi,其中每轮迭代变换包括混淆层SL变换、扩散层DL变换和密钥加变换RKA,其中1≤i≤r-1,r表示轮数;将运算结果X(r-1)通过第r轮变换,获得密文数据C,其中进一步地,混淆层SL包括第一类混淆层和第二类混淆层,所述混淆层变换为非线性变换,采用4个S盒:S1、S2、S3和S4,其中S4=S1-1;第一类混淆层变换在奇数轮中使用,第二类混淆层变换在偶数轮中使用。进一步地,所述扩散层DL变换为线性变换,是将16字节状态(x0,x1,...,x15)映射为(y0,y1,...,y15),具体定义如下:(x0,x1,...,x15)→(y0,y1,...,y15)进一步地,所述密钥加RKA变换是将轮密钥ki与中间状态Xi-1进行逐字节异或运算,记为:进一步地,该方法还包括:对轮密钥ki进行编排;所述对轮密钥ki进行编排具体包括:主密钥K表示为:对于i=1,2,……32,循环执行以下变换:1)循环移位(θ):即第j行循环左移j字节,(j=1,2,3,4);2)S变换(γ):即第j行前四个字节进行Sj变换;3)前四列异或以下矩阵(π):4)输出Ki=πογοθ(K),取最左边128比特作为轮密钥ki。进一步地,该方法还包括:对所述密文数据C进行解密操作,所述解密操作为加密操作的逆操作,所述解密操作过程包括:步骤一:将密文数据C与轮密钥K32按位异或操作;步骤二:将步骤一异或结果进行第一类混淆层非线性变换;步骤三:将步骤二非线性变换结果与轮密钥Ki按位异或(i=31,30...,1);步骤四:将步骤三的异或结果进行扩散层线性变化;步骤五:将步骤四线性变换结果进行混淆层非线性变换,其中混淆层第一类变换在偶数轮中使用,混淆层第二类变换在奇数轮中使用;步骤六:将步骤五的非线性变换结果作为下一轮迭代的输入变元,依次重复步骤三、四、五的操作,直至第1轮;步骤七:将步骤六的结果与白化密钥K0的前128比特按位异或,从而得到明文数据P。为了达到本专利技术目的,本专利技术还提供了一种设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述明文数据加密方法的步骤。进一步地,所述处理器包括图形处理器GPU;所述GPU,用于将白化密钥k0与明文数据P按字节做异或运算得到运算结果X0,X0表示第一个中间态,对运算结果X0进行r-1轮迭代变换得到运算结果Xi,其中每轮迭代变换包括混淆层SL变换、扩散层DL变换和密钥加变换RKA,其中1≤i≤r-1,r表示轮数;将运算结果X(r-1)通过第r轮变换,获得密文数据C,其中进一步地,所述处理器包括中央处理器CPU;所述CPU,用于对轮密钥ki进行编排;所述对轮密钥ki进行编排具体包括:输出主密钥K的最左边128比特作为白化密钥K0。其中主密钥K表示为:对于i=1,2,……32,循环执行以下变换:1)循环移位(θ):即第j行循环左移j字节,(j=1,2,3,4);2)S变换(γ):即第j行前四个字节进行Sj变换;3)前四列异或以下矩阵(π):4)输出Ki=πογοθ(K),取最左边128比特作为轮密钥ki。为了达到本专利技术目的,本专利技术还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述明文数据加密方法的步骤。本专利技术技术方案提供了一种明文数据加密方法及设备,该方法应用于包括有处理器的设备,包括:将白化密钥k0与明文数据P按字节做异或运算得到运算结果X0,X0表示第一个中间态,对运算结果X0进行r-1轮迭代变换得到运算结果Xi,其中每轮迭代变换包括混淆层SL变换、扩散层DL变换和密钥加变换RKA,其中1≤i≤r-1,r表示轮数;将运算结果X(r-1)通过第r轮变换,获得密文数据C,其中本专利技术对ARIA密码算法进行了改进,具有良好的抵抗滑动攻击性能,提升了信息的安全性。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1为本专利技术实施例提供的明文数据加密方法流程示意图;图2为本专利技术实施例一提供的明文数据加解密方法流程示意图;图3为本实施例二提供的加解密设备架构示意图;图4为本专利技术实施例二提供的加解密方法流程示意图。具体实施方式下面将结合附图及实施例对本专利技术的技术方案进行更详细的说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本专利技术的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。根据本专利技术的一个实施例,提供了一种明文数据加密方法。图1为本专利技术实施例提供的明文数据加密方法流程示意图,如图1所示,该明文数据加密方法,应用于包括有处理器的设备,包括:步骤101,将白化密钥k0与明文数据P按字节做异或运算得到运算结果X0,X0表示第一个中间态,其中白化密钥K0为预先配置的主密钥K的最左边128比特;步骤102,对运算结果X0进行r-1轮迭代变换得到运算结果Xi,其中每轮迭代变换包括混淆层(SL)变换、扩散层(DL)变换和密钥加变换(RKA),其中1≤i≤r-1,r表示轮数;步骤103,将运算结果X(r-1)通本文档来自技高网...
一种明文数据加密方法及设备

【技术保护点】
一种明文数据加密方法,应用于包括有处理器的设备,其特征在于,该方法包括:将白化密钥k0与明文数据P按字节做异或运算得到运算结果X0,X0表示第一个中间态,

【技术特征摘要】
1.一种明文数据加密方法,应用于包括有处理器的设备,其特征在于,该方法包括:将白化密钥k0与明文数据P按字节做异或运算得到运算结果X0,X0表示第一个中间态,其中白化密钥K0为预先配置的主密钥K的最左边128比特;对运算结果X0进行r-1轮迭代变换得到运算结果Xi,其中每轮迭代变换包括混淆层SL变换、扩散层DL变换和密钥加变换RKA,其中1≤i≤r-1,r表示轮数;将运算结果X(r-1)通过第r轮变换,获得密文数据C,其中2.如权利要求1所述的方法,其特征在于,混淆层SL包括第一类混淆层和第二类混淆层,所述混淆层变换为非线性变换,采用4个S盒:S1、S2、S3和S4,其中S4=S1-1;第一类混淆层变换在奇数轮中使用,第二类混淆层变换在偶数轮中使用。3.如权利要求1所述的方法,其特征在于,所述扩散层DL变换为线性变换,是将16字节状态(x0,x1,...,x15)映射为(y0,y1,...,y15),具体定义如下:DL:(x0,x1,...,x15)→(y0,y1,...,y15)4.如权利要求1所述的方法,其特征在于,所述密钥加RKA变换是将轮密钥ki与中间状态Xi-1进行逐字节异或运算,记为:5.如权利要求1所述的方法,其特征在于,该方法还包括:对轮密钥ki进行编排;所述对轮密钥ki进行编排具体包括:主密钥K表示为:对于i=1,2,……32,循环执行以下变换:1)循环移位(θ):即第j行循环左移j字节,(j=1,2,3,4);2)S变换(γ):即第j行前四个字节进行Sj变换;3)前四列异...

【专利技术属性】
技术研发人员:杨飞
申请(专利权)人:努比亚技术有限公司
类型:发明
国别省市:广东,44

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

1