分组加解密数据长度适配的方法

文档序号:7919868阅读:154来源:国知局
专利名称:分组加解密数据长度适配的方法
技术领域
本发明涉及通信系统的数据加密以及解密技术,特别是指 一种分 组加解密数据长度适配的方法。
背景技术
分组数据加密是将数据在密钥的作用下分为等长的数据组被加 密。由于分组数据加密算法丰富,实现相对简单,不改变原数据的带 宽,目前在通信系统中得到了广泛的应用。
但是,分组数据加密方法都采用固定的长度,譬如64比特、 128比特、192比特、256比特等,这样就存在可能#^加密的数据的 长度和加密的数据长度不一致的情况。
譬如,某种通信系统每一帧的数据长度是171比特。如果直接采 用分组长度为128比特的加密算法加密则只能加密部分的128比 特,有部分信息无法被加密,降低了加密的安全性;如果采用将数据 补足或重新分装,则会破坏原有数据的格式,不仅会增加系统处理的 复杂度,更可能会影响系统得稳定性。

发明内容
有鉴于此,本发明提出 一种分组数据加密数振长度适配的方法, 该方法能够很好地对被加解密数据的长度和分组加密长度进行适配。
基于上述目的本发明提供的一种分组加密数据长度适配的方法, 包括
A. 在原始数据中抽取N个比特长度的数据进行加密生成加密数 据;其中,N为加密算法的分组数据长度;
B. 在已经加密的数据中抽取一部分比特和原始数据未被抽取的比
特组合成为N比特长度的数据,并进行加密得到另一组加密数据;
C.将步骤A中生成的加密数据中未被抽取的一部分比特和步骤B 生成的所述另一组加密数据组合为最终的加密结果。
可选的,该方法步骤B和C所述数据的组合方式包括合并方 式、或位移方式。
可选的,该方法所述合并方式为随机合并方式。
可选的,该方法所述步骤B进一步包括在步骤A获得的已经加 密的数据中抽取2N-M个比特组成数据包Sll,剩余的M-N个比特组成 数据包S12,其中M为所述原始数据长度;
将数据包Sll和步骤A中加密后剩余的比特组成一个N比特的数 据包E3;
对N个比特的数据包E3进行加密,得到加密的数据S3;
所述步骤C进一步包括将所述数据S12和S3组合为长度M的 数据包S作为最后的加密数据输出。
可选的,该方法所述位移方式为向左位移、或向右位移。
可选的,该方法所述步骤A进一步包括对待适配的加密数据包E 前N比特数据进行加密得到Sl;
所述步骤B进一步包括对于第一次加密后结果Sl进行N比特循 环左移得到S2;移位后数据S2的前N个比特进行第二次加密,
所述步骤C进一步包括将第二次加密的结果与位移后数据S2的 后M-N比特组合得到长度M的加密数据S输出,其中M为所述原始 数据长度。
可选的,该方法所述加密算法为SMS4算法。 基于上述目的,本发明提供的一种分组解密数据长度适配的方法, 用于按照上面所述加密方法加密后的数据,包括
a. 将已加密的数据S,按照加密过程中最后一次组合时所采用的相 反方法分为数据S,l和数据S,2;
b. 将数据S,2解密,并按照加密过程中前一次组合时所用的相反的 方法将解密结果分为数据E,21和数据E,22;c.将数据E,21和数据S,l按照抽取时所用的相反的方法将解密结 果组合为解密结果数据包E。
可选的,该方法所述数据的组合方式包括合并方式、或位移方式。
可选的,该方法所述合并方式为随机合并方式。
可选的,该方法所述步骤b进一步包括在接收到的密文数据S,中 抽取N个比特组成数据包S'2,剩余的M-N个比特组成数据包S,l,其 中,N为加密算法的分组数据长度,N个比特的抽取与加密时对应步骤 所采用的数据组合方式相对应,其中数据S,2和加密时对应步骤所描述 的数据S3数据格式与位置一致,数据S,l和加密时对应步骤所描述的 数据S12数据格式与位置一致;
对N个比特的数据包S,2进行解密,得到解密的数才居E,2;
在数据E,2中抽取2N-M个比特组成数据包E,21,剩余的M-N个 比特组成数据包E,22; 2N-M个比特的抽取与加密对应步骤所采用的数 据组合方式相对应,其中数据E,21和加密时对应步骤所描述的Sll数 据格式与位置一致,数据E,22和加密所描述的数据E2数据格式与位置 一致。
将数据包S,l和E,21组成一个N比特的数据包S,3,组合方式和加 密时对应步骤所采用的数据抽取方式相对应,其中数据S,l和加密时对 应步骤所描述的数据S12数据格式与位置一致,数据E,21和加密时对 应步骤所描述的数据Sll数据格式与位置一致;
对N个比特的数据包S,3进行解密,得到解密的数据E,3;
所述步骤c进一步包括将数据E,22和数据E,3组合为长度M的 数据E,,组合方式和加密对对应步骤所采用的数据抽取方式相对应,其 中数据E,22和加密时对应步骤所描述的数据E2数据格式与位置一致, 数据E,3和加密时对应步骤所描述的数据El数据格式与位置一致;将 数据E,作为最后的解密数据输出。
可选的,该方法所述位移方式为向左位移、或向右位移。
可选的,该方法所述步骤a进一步包括将接收到的已加密数据包S前N比特数据进行解密得到数据El;
所述步骤b进一步包括对于第一次解密后结果数据El进行N比 特循环左移得到E2;
所述步骤c进一步包括将移位后数据E2的前N个比特进行第二 次解密,得到解密的结果数据E。
从上面所述可以看出,本发明提供的分组加解密数据长度适配的 方法,能够对不同长度的被加密的数据进行全加密,而且实现简单对 原系统的影响很小。对比现有技术,有以下明显的优点
可以对被加密数据和加密算法数据长度适配,可以实现采用不同 的分组加密算法对数据进行加密,被加密数据的分组长度不受算法长 度的限制;
可以对被加密数据进行全加密提高了加密的安全性; 保持加密数据分组的长度不变,避免了对原有数据格式的破坏, 能够原有的系统;
数据长度适配实现算法简单,实现难度低,对系统时延影响小; 以及解密实现算法简单,实现难度低,对系统时延影响小。


图l为本发明实施例总的加密流程示意图; 图2为本发明实施例总的解密流程示意图; 图3为本发明实施例l的加密流程示意图; 图4为本发明实施例l的解密流程示意图; 图5为本发明实施例2的加密流程示意图; 图6为本发明实施例2的解密流程示意图。
具体实施例方式
为了实现上述目的本发明提供了一种分组加密数据长度适配的方 法,可以应用于被加密数据长度大于分组数据加密要求长度的适配。 待适配的加密数据的长度满足大于分组数据加密长度而小于分組数
据加密长度的两倍,待适配的数据可以是被加密数据的全部或者部分。
如图1所示,本发明加密实现方法的总体流程包括
步骤101,在原始数据E中抽取N个比特长度的数据进行加密生成
加密数据S1。其中,N为加密算法的分组数据长度。
步骤102,在已经加密的数据Sl中抽取一部分比特和在步骤101
中未被抽取的比特组合为N比特长度的数据,并进行加密得到另 一组加
密数据S2。
步骤103,将加密数据Sl中未被抽取的比特和加密数据S2组合为
最终的加密结果。
如图2所示,本发明解密实现方法的总体流程包括
步骤201,将已加密的数据S,按照加密过程中步骤103组合时所用
的相反的方法分为数据S,l和数据S,2;其中数据S、1对应Sl, S'2对
应S2。
步骤202,将数据S,2解密,并按照加密过程中步骤102組合时所 用的相反的方法将解密结果分为数据E,21和数据E,22;其中数据E,21 对应在数据S1中抽取的比特,数据E,22对应数据包E2。
步骤203,将数据E,21和数据S,l按照步骤101抽取时所用的相反 的方法将解密结果组合为解密结果数据包E。
下面参照附图对本发明进行更全面的描述,其中说明本发明的示例 性实施例。
实施例1:
加密实现的方法,参见图3所示
步骤301,待适配的加密数据包E,长度为M比特,这些数据可以 是被加密数据的全部或者部分,分组数据长度为N比特。
步骤302,首先在将待适配的加密数据包E中抽取N个比特组成数 据包El, N个比特的抽取可以在数据包E中随意的比特,剩余的M-N 个比特组成数据包E2。
步骤303,对N个比特的数据包El进行加密,得到加密的数据Sl。步骤304,在加密的数据S1中抽取2N-M个比特组成数据包S11, 2N-M个比特可以在数据包Sl中随意的比特中抽取,剩余的M-N个比 特组成数据包S12。
步骤305,将数据包Sll和E2组成一个N比特的数据包E3, Sll 和E2的数据可以随意组合,两个数据包的位置不受限制,也可以交错 的方式进4于组合。
步骤306,对N个比特的数据包E3进行加密,得到加密的数据S3。
步骤307,将S12和S3组合为长度M的数据包S, Sll和E2的数 据可以随意组合,两个数据包的位置不受限制,也可以交错的方式进行 组合。
步骤308, S作为最后的加密数据输出。
本领域技术人员应该看到,除本实施例提供的随机合并方式以外, 也可以采用其他方法组合数据,比如按照约定规则合并数据等。 相应的解密实现的方法流程,如图4所示 步骤401,接收到的密文数据S,,长度为M比特。 步骤402,首先在接收到的密文数据S,中抽取N个比特组成数据包 S,2,剩余的M-N个比特组成数据包S,l。本步骤中,N个比特的抽取 与步骤307所采用的数据组合方式相对应,其中S,2和步骤307所描述 的S3数据格式与位置一致,S,l和步骤307所描述的S12数据格式与位 置一致。
步骤403,对N个比特的数据包S'2进行解密,得到解密的数据
E,2。
步骤404,在数据E,2中抽取2N-M个比特组成数据包E,21,剩余 的M-N个比特组成数据包E,22; 2N-M个比特的抽取与步骤305所采 用的数据组合方式相对应,其中E,21和步骤305所描述的Sll数据格 式与位置一致,E,22和步骤305所描述的E2数据格式与位置一致。
步骤405,将数据包S,1和E,21组成一个N比特的数据包S'3,組 合方式和步骤304所采用的数据抽取方式相对应,其中S,l和步骤304
所描述的S12数据格式与位置一致,E,21和步骤304所描述的Sll数 据格式与位置一致。
步骤406,对N个比特的数据包S,3进行解密,得到解密的数据
E,3。
步骤407,将E,22和E,3组合为长度M的数据E,,组合方式和步 骤302所采用的数据抽取方式相对应,其中E,22和步骤302所描述的 E2数据格式与位置一致,E,3和步骤302所描述的El数据格式与位置 一致。
步骤408, E,作为最后的解密数据输出。 实施例2:
加密实现的方法,如图5所示
步骤501,对待适配的加密数据包E前N比特数据进行加密得到51。
步骤502,对于第一次加密后结果SI进行N比特循环左移得到52。
步骤503,移位后数据S2的前N个比特进行第二次加密,将第二 次加密的结果与位移后数据S2的后M-N比特组合得到加密的结果S。 注意该前N比特是数据S2的前N比特,包括数据包E的剩余M-N 比特和第一次加密后数据SI的一部分。
本领域技术人员应该看到,除了本实施例的左移方式以外,也可以 采用其他的位移方法进行数据的组合,比如向右移、或者跳跃式移位 等方法。
相应的解密实现的方法,如图6所示
步骤601,接收到的已加密数据包S前N比特数据进行解密得到El。
步骤602,对于第一次解密后结果El进行N比特循环左移得到E2。
步骤603,移位后数据E2的前N个比特进行第二次解密,得到解 密的结果E。
本发明可以应用于多种加密算法,对多种数据格式进行加密,比
如可应用分组加密算法对多种数字通信制式的语音数据进行加密。
本发明的描述是为了示例和说明起见而给出的,而并不是无遗漏的 或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技 术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理 和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适 于特定用途的带有各种修改的各种实施例。
权利要求
1.一种分组加密数据长度适配的方法,其特征在于,包括A.在原始数据中抽取N个比特长度的数据进行加密生成加密数据;其中,N为加密算法的分组数据长度;B.在已经加密的数据中抽取一部分比特和原始数据未被抽取的比特组合成为N比特长度的数据,并进行加密得到另一组加密数据;C.将步骤A中生成的加密数据中未被抽取的一部分比特和步骤B生成的所述另一组加密数据组合为最终的加密结果。
2. 根据权利要求1所述的方法,其特征在于,步骤B和C所述数 据的组合方式包括合并方式、或位移方式。
3. 根据权利要求2所述的方法,其特征在于,所述合并方式为随 才几合并方式。
4. 根据权利要求3所述的方法,其特征在于,所述步骤B进一步 包括在步骤A获得的已经加密的数据中抽取2N-M个比特组成数据包 Sll,剩余的M-N个比特组成数据包S12,其中M为所述原始数据长 度;将数据包Sll和步骤A中加密后剩余的比特组成一个N比特的数 据包E3;对N个比特的数据包E3进行加密,得到加密的数据S3; 所述步骤C进一步包括将所述数据S12和S3组合为长度M的 数据包S作为最后的加密数据输出。
5. 根据权利要求2所述的方法,其特征在于,所述位移方式为向左 位移、或向右位移。
6. 根据权利要求5所述的方法,其特征在于,所述步骤A进一步 包括对待适配的加密数据包E前N比特数据进行加密得到Sl;所述步骤B进一步包括对于第一次加密后结果Sl进行N比特循 环左移得到S2;移位后数据S2的前N个比特进行第二次加密,所述步骤C进一步包括将第二次加密的结果与位移后数据S2的后M-N比特组合得到长度M的加密数据S输出,其中M为所述原始 数据长度。
7.根据权利要求1-6任意一项所述的方法,其特征在于,所述加 密算法为SMS4算法。
8, 一种分组解密数据长度适配的方法,应用于按照权利要求1-7 所述加密方法加密后的数据,其特征在于,包括a. 将已加密的数据S,按照加密过程中最后一次组合时所采用的相 反方法分为数据S,l和数据S,2;b. 将数据S,2解密,并按照加密过程中前一次组合时所用的相反的 方法将解密结果分为数据E,21和数据E,22;c. 将数据E,21和数据S,l按照抽取时所用的相反的方法将解密结 果组合为解密结果数据包E。
9. 根据权利要求8所述的方法,其特征在于,所述数据的组合方式 包括合并方式、或位移方式。
10. 根据权利要求9所述的方法,其特征在于,所述合并方式为随 才几合并方式。
11. 根据权利要求10所述的方法,其特征在于,所迷步骤b进一步 包括在接收到的密文数据S,中抽取N个比特組成数据包S,2,剩余的 M-N个比特组成数据包S,l,其中,N为加密算法的分组数椐长度,N 个比特的抽取与加密时对应步骤所采用的数据组合方式相对应,其中数 据S,2和加密时对应步骤所描迷的数据S3数据格式与位置一致,数据 S,l和加密时对应步骤所描迷的数据S12数据格式与位置一致;对N个比特的数据包S,2进行解密,得到解密的数据E,2;在数据E'2中抽取2N-M个比特组成数据包E,21,剩余的M-N个 比特組成数据包E,22; 2N-M个比特的抽取与加密对应步骤所采用的数 据组合方式相对应,其中数据E,21和加密时对应步骤所描述的Sll数 据格式与位置一致,数据E,22和加密所描述的数据E2数据格式与位置 一致。将数据包S,l和E,21组成一个N比特的数据包S,3,组合方式和加密时对应步骤所采用的数据抽取方式相对应,其中数据S,l和加密时对 应步骤所描迷的数据S12数据格式与位置一致,数据E,21和加密时对 应步骤所描述的数据Sll数据格式与位置一致;对N个比特的数据包S'3进行解密,得到解密的数据E,3;所述步骤c进一步包括将数据E,22和数据E,3组合为长度M的 数据E,,组合方式和加密时对应步骤所采用的数据抽取方式相对应,其 中数据E,22和加密时对应步骤所描述的数据E2数据格式与位置一致, 数据E,3和加密时对应步骤所描述的数据El数据格式与位置一致;将 数据E,作为最后的解密数据输出。
12. 根据权利要求9所述的方法,其特征在于,所述位移方式为向 左位移、或向右位移。
13. 根据权利要求12所述的方法,其特征在于,所述步骤a进一步 包括将接收到的已加密数据包S前N比特数据进行解密得到数据 El,其中,N为加密算法的分组数据长度;所述步骤b进一步包括对于第一次解密后结果数据El进行N比 特循环左移得到E2;所述步骤c进一步包括将移位后数据E2的前N个比特进行第二 次解密,得到解密的结果数据E。
全文摘要
本发明公开一种分组加解密数据长度适配的方法,在原始数据中抽取N个比特长度的数据进行加密生成加密数据;其中,N为加密算法的分组数据长度;在已经加密的数据中抽取一部分比特和原始数据未被抽取的比特组合成为N比特长度的数据,并进行加密的得到另一组加密数据;将所述第一步生成的加密数据中未被抽取的一部分比特和第二步生成的加密数据组合为最终的加密结果。本发明能够对不同长度的被加密的数据进行全加密,而且实现简单对原系统的影响很小。
文档编号H04L9/18GK101355421SQ20081016680
公开日2009年1月28日 申请日期2008年9月25日 优先权日2008年9月25日
发明者宇 孙, 张琳峰, 李宝荣, 杨维忠, 林奕琳, 林衡华, 王庆扬, 海 肖, 彪 龙 申请人:中国电信股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1