数据加密的方法、装置及具有数据加密功能的通信设备的制作方法

文档序号:7760556阅读:449来源:国知局
专利名称:数据加密的方法、装置及具有数据加密功能的通信设备的制作方法
技术领域
本发明涉及通信领域,特别涉及一种数据加密的方法、装置及具有数据加密功能 的通信设备。
背景技术
AES (Advanced Encryption Mandard,高级加密标准)是一种用于保护通信数据 安全的加密技术,密钥扩展是AES加密技术的一个环节,其主要用于加强密钥安全性能。现有AES加密技术中的密钥扩展包括循环移位、字节置换和轮常数变换三个步 骤,且在循环移位步骤时,128位密钥被分为四个32位,其中每个32位进行一次循环左移。不过,采用现有AES技术进行数据加密时,密钥扩展中采用的循环移位无法达到 较优的分支数,且根据现有AES加密处理后得到的密文有可能得到原来的明文属于哪个极 大子群,从而导致加密后的数据仍然存在一定的安全隐患。

发明内容
为了优化分支数,提高加密的安全性,本发明实施例提供了一种数据加密的方法、 装置及具有数据加密功能的通信设备。所述技术方案如下一方面,提供了一种数据加密的方法,所述方法包括根据预先确定的哈达玛正形矩阵对密钥进行扩展;对待加密数据进行字节置换,并将字节置换后的数据进行行变换;将行变换后的数据进行列混淆,并根据扩展的密钥对列混淆后的数据加密;将加密后的数据承载在数据帧,并通过通信网络将该数据帧发送给对端通信设 备。另一方面,提供了一种数据加密的装置,所述装置包括密钥扩展模块,用于根据预先确定的哈达玛正形矩阵对密钥进行扩展;字节置换模块,用于对待加密数据进行字节置换;行变换模块,用于将所述字节置换模块置换后的数据进行行变换;列混淆模块,用于将所述行变换模块变换后的数据进行列混淆;加密模块,用于根据所述密钥扩展模块扩展的密钥对所述列混淆模块混淆后的数 据加密。本发明实施例还提供了一种具有数据加密功能的通信设备,包括数据加密装置,用于对接收到的待加密数据进行加密处理;成帧装置,用于将加密后的数据承载在数据帧;发送装置,用于通过所述通信设备所应用的通信网络,将所述数据帧发送给对端 通信设备;其中,所述数据加密装置包括密钥扩展模块,用于根据预先确定的哈达玛正形矩 阵对密钥进行扩展;字节置换模块,用于对待加密数据进行字节置换;行变换模块,用于将所述字节置换模块置换后的数据进行行变换;列混淆模块,用于将所述行变换模块变换后 的数据进行列混淆;加密模块,用于根据所述密钥扩展模块扩展的密钥对所述列混淆模块 混淆后的数据加密。在本发明实施例提供的各种方案通过哈达玛正形矩阵对密钥进行扩展,并通过循 环正形矩阵进行列混淆,由于正形矩阵具有完全平衡性的特点,不仅能够保证数据加密的 平衡性,还可优化分支数,从而提高加密的安全性。


为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使 用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于 本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他 的附图。图1是本发明实施例一提供的点到多点的网络系统结构示意图;图2是本发明实施例一提供的数据加密的方法流程图;图3是本发明实施例二提供的数据加密的装置结构示意图;图4是本发明实施例二提供的密钥扩展模块结构示意图;图5是本发明实施例三提供的数据加密的方法流程图;图6是本发明实施例四提供的数据加密的装置结构示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方 式作进一步地详细描述。通常来讲,AES加密技术主要包括以下几个部分(1)密钥扩展(Key Expansion),即扩展出每一轮不同的1 位密钥 (AddRoundKey);(2) 10轮的字节变换中包括a、字节置换(SubBytes) ;b、行变换(ShiftRows) ;C、 列混淆(MixColumns) ;d、添加新一轮密钥(AddRoundKey);(3)最后一轮包括a、字节置换(SubBytes) ;b、行变换(ShiftRows) ;C、添加新一 轮密钥(AddRoundKey)。由此得出AES加密主要由密钥扩展(AddRoundKey)、字节置换(SubBytes)、行变 换(ShiftRows)和列混淆(MixColumns)四个部分组成。在一种具体实现方案中,上述密钥扩展可以分三个步骤完成a、循环移位(Rotate word)将1 位的密钥K分为四个32位,将每个32位做一 次循环左移;b、字节置换(Substitution Bytes)将循环移位后的数据与S_box中的值做置 换;C、轮常数变换(Round constant)将置换后的值与轮常数做异或。即代码中的r =rcon ((i-1)/4, ) ;temp = bitxor(temp, r);针对步骤a循环移位rot_Word中的具体实现方式是将temp中的4个字节做一次循环左移,如ld2c3a4f- > 2c3a4fld。由于分组密码中线性变换P—般定义为如果分组密码中的混淆层是由η个mXm 的S盒并置而成,则P —般设计成GF(2m)n- > GF^1T的一个线性置换。线性变换的分支数 的定义为令 P :GF^T- > GF ^T 是一个置换,a = (a1 ,...,an) e GF(2m)n, ffH(a)表 示非零 (1彡i彡η)的个数,则称D (P) = min (ffH(a) +ffH (P (a)))为P的分支数,其中a不 等于0。可以证明D(P)的理论最大值是n+1,并且对一个具体的分组密码算法来说,D(P)的 值越大,则利用差分或者线性密码分析所需要的已知明文更多。结合如下定义如果分组密码中的混淆层是由m个nXn的S盒并置而成,则线性变换P —般设计 成(F2")m—(F2iT的一个线性置换,F2"表示GF⑵域的η维向量空间;以及,令P:(尸2了—(巧了是一个置换,《 = ( 。,Wl1XF2了 'Wh (a)表示非零 (0彡i彡m-1)的个数,则称DP) = ⑷+ (?(《)))为P的分支数,如果AES中的 rot_word(以下简称Rotl)运算对应的η = 8,m = 4 则Rotl (B) = B <<< 8,对照分支 数的定义,所以D (L) = min (ffH (B) +Wh (Rotl (B)) = min (ffH (B) +Wh (B < < < 8)),其中 5 e (F28)4, 且B乒O。也就是说,B要取遍(F28)4中除去O元素的所有其他元素,然后计算出表达式 (ffH(B)+ffH(B<<<8))的最小值,这个最小值就是D(L),可以计算得出D(L) =2,由此看 出上述密钥扩展实现方案中,D(L)没有达到理论最优,因此,上述AES加密的循环移位可 能无法达到最优的分支数,同时也没有考虑完全平衡性。实施例一本实施例提供了一种数据加密的方法,该方法可以应用在有线网络系统,比如 PON(Passive Optical Network,无源光网络)系统,或者无线网络系统,用于实现对待发送 数据的加密传输;本实施例提供的方法通过引入哈达玛正形矩阵来优化分支数和平衡性, 从而提升AES加密安全性能。为更好理解本发明,本实施例以GPON(Gigabit-capable Passive OpticalNetworks,吉比特无源光网络)系统作为一种具体的应用场景为例进行描述, 应当理解,关于在GPON系统的应用仅是本实施例提供的数据加密方法的一种可选的应 用场景,在实际应用上,该数据加密方法还可适用于在其他具体应用场景,比如应用在 XGPON (1 OGigabit-capab 1 e Passive Optical Network,IOG 无源光网络)系统或者其他有 线网络系统,或者应用在无线网络系统。当在其他应用场景下,只需将本实施例中涉及的通 信主体(包括本端和对端通信设备)、传输媒介以及传输数据封装格式进行对应地更改便 可。以下简单描述PON系统的结构,请参见图1,其为点到多点的网络系统,包括位于 中心局的OLT(Optical Line Terminal,光线路终端)设备、位于用户侧的多个ONUOptical Network Unit,光网络单元)和用于连接OLT设备和ONU设备的ODN(Optical Distributed Network,光分配网络)。光分配网络包括POS passive Optical Splitter,无源分光器), 无源分光器通过主干光纤连接到OLT设备,并通过多个分支光纤分别连接到多个ONU设备。 其中,在下行方向(0LT设备到ONU设备),OLT设备利用时分复用技术将下行信号发送给各 个ONU设备;而在上行方向(0NU设备到OLT设备),各个ONU设备采用时分多址技术将上行信号发送给OLT设备。在GPON系统中,OLT设备和ONU设备之间的数据采用GEM格式进 行封装,即,二者之间的通信数据承载在GEM帧的净荷部分并通过GPON系统传输给对端设备。为了便于说明,本实施例以四阶哈达玛正形矩阵为例进行描述,参见图2,本实施 例提供的方法流程具体如下101 根据预先确定的哈达玛正形矩阵对密钥进行扩展;具体地,根据预先确定的哈达玛正形矩阵对密钥进行扩展的过程如下将密钥进行字节置换;求取字节置换后的密钥与预先确定的哈达玛正形矩阵的乘积,并将乘积结果与轮 常数做异或,得到扩展的密钥。其中,将密钥进行字节置换,是指依据S置换表对密钥进行字节置换,可依据现有 技术的实现方式实现,本实施例对此不作具体限定。求取字节置换后的密钥与确定的哈达 玛正形矩阵的乘积,以及将乘积结果与轮常数做异或均为常用的运算,此处不再赘述。关于Hadamard正形矩阵的确定方式,从哈达玛Hadamard矩阵的定义设aQ, ai;...,Bn^1 e GF (2m),其中 η = 2k,称 η 阶方阵4 = 是有限域 GF (2m)上的 Hadamard 矩阵, 其中0彡i,j < n,k彡0,可以看出Hadamard矩阵完全由第一行决定,标记为A = Had(a0, a1 ···,%_》。因为,所以A的每一行和每一列都是aQ, ,…,的一个排列。
根据矩阵乘法公式
权利要求
1.一种数据加密的方法,其特征在于,所述方法包括 根据预先确定的哈达玛正形矩阵对密钥进行扩展;对待加密数据进行字节置换,并将字节置换后的数据进行行变换; 将行变换后的数据进行列混淆,并根据扩展的密钥对列混淆后的数据加密; 将加密后的数据承载在数据帧,并通过通信网络将该数据帧发送给对端通信设备。
2.根据权利要求1所述的方法,其特征在于,所述根据预先确定的哈达玛正形矩阵对 密钥进行扩展,具体包括将密钥进行字节置换;求取字节置换后的密钥与预先确定的哈达玛正形矩阵的乘积,并将乘积结果与轮常数 做异或,得到扩展的密钥。
3.根据权利要求2所述的方法,其特征在于,所述哈达玛正形矩阵的确定方式包括 在有限域GF(2m)中任取四个非零的互异元素a(l,ai,a2,a3 e 6 (2"1),并判断所述知如a2, a3 是否满足《。
A α2 α3 Φ 0,1 且 B1B2 Φ a0a3, B0B1 Φ a2a3, a0a2 Φ B1B3 的条件;如果否,则重新在所述有限域GF(2m)中任取四个非零的互异元素,直至任取的四个非 零的互异元素满足所述条件,将A = Had(a(l,ai,a2,a3)确定为有限域GF(2m)上的四阶哈达 玛正形矩阵,其中,m为自然数。
4.根据权利要求1所述的方法,其特征在于,所述将行变换后的数据进行列混淆,具体 包括根据预先确定的循环正形矩阵对行变换后的数据进行列混淆。
5.根据权利要求4所述的方法,其特征在于,所述循环正形矩阵的确定方式包括在有限域GF(2m)中任取四个非零的互异元素 ,ai; a2, a3 e GF(2m),并判断所述aQ, 是否 薛足“0 以i ^2 ^3关0,1且Φ 3-2 ? ^Q 丰 Cly Q-^f 5 丰 QqCI 2 5 φ * α α2, Φ a0a3, a^ Φ a2a3 的第一条件; 如果否,则重新在所述有限域GF(2m)中任取四个非零的互异元素,直至任 取的四个非零的互异元素满足所述第一条件,再判断所述%,ai; a2, %是否满足 α] Θ α^α2 Θ α0α] θ α]α2 ^O θ α\ θ α^α3 θ C^a1 Φ 0, α\α2 θ α\α Θ α23 θ α]α0 Φ 0 ,A02^l十Φ 2 !十4本0的第二条件;如果否,则重新在所述有限域GF(2m)中任取四个非零的互异元素,直至任取的四个非 零的互异元素满足所述第一条件及所述第二条件,则将A = circ(a(l,ai,a2,a3)确定为有限 域GF(2m)上的四阶循环正形矩阵,其中,m为自然数。
6.如权利要求1所述的方法,其特征在于,所述通信网络为吉比特无源光网络GPON网 络或10吉比特无源光网络XGPON网络,所述数据帧为GEM帧,且所述加密后的数据被封装 在所述GEM帧的净荷部分。
7.一种数据加密的装置,其特征在于,所述装置包括密钥扩展模块,用于根据预先确定的哈达玛正形矩阵对密钥进行扩展; 字节置换模块,用于对待加密数据进行字节置换; 行变换模块,用于将所述字节置换模块置换后的数据进行行变换; 列混淆模块,用于将所述行变换模块变换后的数据进行列混淆;加密模块,用于根据所述密钥扩展模块扩展的密钥对所述列混淆模块混淆后的数据加密。
8.根据权利要求7所述的装置,其特征在于,所述密钥扩展模块,具体包括 字节置换单元,用于将密钥进行字节置换;乘积单元,用于求取所述字节置换单元置换后的密钥与哈达玛正形矩阵的乘积; 轮常数变换单元,用于将所述乘积单元得到的乘积结果与轮常数做异或,得到扩展的 密钥。
9.根据权利要求8所述的装置,其特征在于,所述哈达玛正形矩阵的确定方式包括在 有限域GF(2m)中任取四个非零的互异元素a(l,ai,a2,a3 e 6 (2"1),并判断所述彻, , , 是否满足α。十 θα3 * 0,1且aia2 Φ a0a3, B0B1 Φ a2a3,a0a2 Φ a,a3的条件;如果否,则重 新在所述有限域GF(2m)中任取四个非零的互异元素,直至任取的四个非零的互异元素满足 所述条件,将A = Had(a(l,ai,a2,a3)确定为有限域GF(2m)上的四阶哈达玛正形矩阵,其中, m为自然数。
10.根据权利要求7所述的装置,其特征在于,所述列混淆模块,具体用于根据预先确 定的循环正形矩阵对行变换后的数据进行列混淆。
11.根据权利要求10所述的装置,其特征在于,所述循环正形矩阵的确定方式包 括在有限域GF(2m)中任取四个非零的互异元素彻,ai; a2, a3 e GF(2m),并判断所述aQ,是否满足“0 ^ “2 “3关0,1且a0 Φ3^2 ?以Q Cl·^ 9 Cl^ 本 CIQCI2 5 Φ j (^2 本 Cl^CX^ 9α] Φ α0α2, B1B2 Φ a0a3, ^a1 Φ a2a3的第一条件;如果否,则重新在所述有限域GF(2m)中 任取四个非零的互异元素,直至任取的四个非零的互异元素满足所述第一条件,再判 断所述是否 薛足 O^a2 a0al θ α^α2 _ 0 且 ala3 θ α\ θ @ α^αχ Φ 0, θα\ θ A32A0 * 0 ^lax十Ωι2α3十咖θα\ Φ 0的第二条件;如果否,则重新在所述有限域GF(2m)中任取四个非零的互异元素,直至任取的四个非零的互异元素满足所述第一 条件及所述第二条件,则将A = circ(a0, B1, a2, a3)确定为有限域GF(2m)上的四阶循环正 形矩阵,其中,m为自然数。
12.—种具有数据加密功能的通信设备,包括数据加密装置,用于对接收到的待加密数据进行加密处理; 成帧装置,用于将加密后的数据承载在数据帧;发送装置,用于通过所述通信设备所应用的通信网络,将所述数据帧发送给对端通信 设备;其特征在于,所述数据加密装置包括密钥扩展模块,用于根据预先确定的哈达玛正形矩阵对密钥进行扩展;字节置换模块,用于对待加密数据进行字节置换;行变换模块,用于将所述字节置换模块置换后的数据进行行变换;列混淆模块,用于将所述行变换模块变换后的数据进行列混淆;加密模块,用于根据所述密钥扩展模块扩展的密钥对所述列混淆模块混淆后的数据加密。
13.如权利要求12所述的通信设备,其特征在于,所述密钥扩展模块,具体包括字节 置换单元,用于将密钥进行字节置换;乘积单元,用于求取所述字节置换单元置换后的密钥与哈达玛正形矩阵的乘积;轮常数变换单元,用于将所述乘积单元得到的乘积结果与轮常 数做异或,得到扩展的密钥。
14.根据权利要求12所述的通信设备,其特征在于,所述列混淆模块利用预先确定的 循环正形矩阵,对所述行变换模块行变换后得到数据进行列混淆。
全文摘要
本发明公开了一种数据加密的方法、装置及具有数据加密功能的通信设备,属于通信领域。所述数据加密的方法包括根据预先确定的哈达玛正形矩阵对密钥进行扩展;对待加密数据进行字节置换,并将字节置换后的数据进行行变换;将行变换后的数据进行列混淆,并根据扩展的密钥对列混淆后的数据加密;将加密后的数据承载在数据帧,并通过通信网络将该数据帧发送给对端通信设备。本发明利用哈达玛正形矩阵对密钥进行扩展,通过根据循环正形矩阵进行列混淆,不仅能够保证数据加密的平衡性,还可优化分支数,从而提高数据加密的安全性。
文档编号H04L9/00GK102142957SQ201010289798
公开日2011年8月3日 申请日期2010年9月17日 优先权日2010年9月17日
发明者欧鹏, 隋猛, 高波 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1