数据加密和解密的方法、装置及通信系统的制作方法

文档序号:7692394阅读:132来源:国知局
专利名称:数据加密和解密的方法、装置及通信系统的制作方法
技术领域
本发明涉及通信技术领域,特别是涉及一种数据加密和解密的方法、装 置及通信系统。
背景技术
密码技术是信息安全的核心技术,密码技术可以保证数据在传输过程中 的机密性和完整性,其中数据的机密性是通过对数据的加密来保证的。密码 算法是用于加密和解密的数学函数,它一般可以分为对称算法和非对称算法
两种;对称算法就是加密密钥能够从解密密钥中推算出来,反过来也成立, 在大多数的对称密码算法中,加密密钥和解密密钥是相同的。
分组密码算法是对称密码算法的一种。加密时首先对数据进行分组,然
后每次只对一组进行加密运算。在实际过程中,有很多种处理方法,这里称 作分组密码处理模式,常用的分组密码处理模式有电密码本模式、输出反馈 模式、密码分组链接方式和计数器模式等。
为保证数据在传输过程种的完整性,除了对数据进行加密,还需要计算 数据的消息验证码,实现数据的完整性校验,确保数据在传输过程中没有被 篡改,哈希消息验证码(HMAC)是一种典型的消息验证码。
目前业界通用的鉴权加密方案使用HMAC算法来计算出数据的消息验证 码,通过验证消息验证码确保数据在传输过程中的完整性。
由于HMAC是一种安全散列算法,只能对整个数据明文进行HMAC计 算,无法有效地应用多处理器,所以该方案并不是一个并行化方案,HMAC 算法本身又很复杂,因此该方案在处理海量数据时效率很低。

发明内容
有鉴于此,本发明实施例提供了一种数据加密和解密的方法、装置及通 信系统,以实现对数据鉴权加密的完全并行化处理,技术方案如下本发明实施例提供了一种数据加密方法,包括 将数据进行分段为包括至少两段的分段数据; 对所述分段数据并行加密,得到所述数据的密文; 采用线性算法,对各段数据进行并行计算,得到消息验证码; 根据所述密文和消息验证码,得到加密数据。 本发明实施例还提供了一种数据加密装置,包括 数据分组单元,用于对数据进行划分,得到数据分段; 数据加密单元,用于对所述数据分组单元得到的数据分段进行并行加密, 得到密文;
消息验证码计算单元,用于对所述数据分组单元得到的数据分段采用线 性算法进行并行计算,得到消息验证码。
加密数据生成单元,用于根据所述加密单元得到的密文和所述消息验证 码计算单元得到的消息验证码,得到加密数据。
本发明实施例还提供了一种数据解密方法,包括 对待验证数据进行分段,得到密文分段与消息验证码; 对各段密文进行并行解密,得到解密文与解密文分段; 采用线性算法,对各段解密文进行并行计算,得到校验码; 根据所述校验码和所述消息验证码,判断所述待验证数据是否正确。 本发明实施例还提供了一种数据解密装置,包括
数据分组单元,用于对待验证的数据进行分段,得到密文分段与消息验 证码;
数据解密单元,用于对所述数据分组单元得到的密文分段进行解密,得 到解密文分^R与解密文;
校验码计算单元,用于对所述数据解密单元得到的解密文分段采用线性 算法进行并行计算,得到校验码;
判断单元,用于根据所述校验码计算单元得到的校验码和所述数据分组 单元得到的消息验证码,判断所述待验证数据是否正确。
本发明实施例还提供了一种通信系统,包括
数据加密端,用于将数据进行分段为包括至少两段的分段数据;对所述 分段数据并行加密,得到所述数据的密文;采用线性算法,对各段数据进行并行计算,得到消息验证码;根据所述密文和消息验证码,得到加密数据;
数据解密端,用于对来自所述数据加密端的经过加密处理的待验证数据 进行分段,得到密文分段与消息验证码;对各段密文进行并行解密,得到解 密文与解密文分段;采用线性算法,对各段解密文进行并行计算,得到校验 码;根据所述校验码和所述消息验证码,判断所述待验证数据是否正确。
以上技术方案在计算消息验证码的时候可以对每个数据分段分别处理, 实现了鉴权方案的并行化操作,提高了运算效率。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对 实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地, 下面描述中的附图仅仅是本发明的 一些实施例,对于本领域普通技术人员 来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的 附图。
图1为实现本发明邀:据加密方法具体实施例的流程图2为本发明实施例的数据加密装置结构示意图3为实现本发明凄t据解密方法具体实施例的流程图4为实现本发明邀:据解密方法另一具体实施例的流程图5为本发明实施例的数据解密装置结构示意图6为本发明实施例的凝:据解密装置的另一种结构示意图7为本发明实施例的通信系统的结构示意图。
具体实施例方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发 明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述, 显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。 基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下 所获得的所有其他实施例,都属于本发明保护的范围。
计数器模式(CTR)下的分组算法中,首先构造一组数据序列作为计数 器,用来标记明文的分组信息,数据序列经过加密之后,得到一组计数器密文流,用于加密明文。计数器模式非常适合多处理器机器的并行加密操作, 因为任何一块的操作都是相对独立的,只要知道计数的值便可以进行加密或 者解密操作,操作后又很容易拼接起处理结果,当并行处理海量加密解密操 作的时候,计数器模式比其他加密模式更适合更有效。
本发明实施例提出 一种修改的计数器模式将密钥加上数据序列的值, 作为加密每一个明文分组的密钥,这样,不同明文分组的密钥就互不相同。 这种修改的计数器模式,下文简称MCTR(Modified CTR)。
下面我们将结合附图,对本发明的实施例进行详细描述。举个例子,发 送端机器有x个并发的处理器。接收端机器有y个并发的处理器。
图1所示为数据加密方法流程图,具体步骤如下
步骤101,将明文P划分为x个数据段P,, P2, ...Px,得到分组信息 Counterlnfoi( 1 <i<x),这里必须保证每个数据块是对称分组算法长度的倍数;
步骤102,在发送端机器的多个处理器上对各数据分段进行加密,得到密 文分段Q=MCTRE(Pi, K, Counterlnfoi),所述MCTRE为MCTR模式分组密码 算法的加密算法,K为加密密钥;
步骤103,合并各密文分段Ci,得到密文C, C二dllC2…HCx;
步骤104,在发送端机器的多个处理器上计算各数据分段的校验码 CRC(Pi);
步骤105,通过俄罗斯农民算法,由CRC(PO计算出校验码CRC(P); 在本步骤中,也可以采用除了俄罗斯农民算法之外的其他算法。 步骤106 ,对校验码CRC(P)进行加密,得到消息验证码, M=MCTRE(CRC(P), Kmac),为保证鉴权的安全性,本步骤所述加密算法可以 与步骤102中的加密算法不同,但必须都是基于MCTR模式;K,^为消息验 -i正码生成密钥;
步骤107,集联步骤103得到的密文与步骤106得到的消息验证码,得到 加密数据S, S=C||M;
进一步地,该方法还可以包括 步骤108,发送加密^据S。
需要说明的是,本发明各实施例都是以CRC算法为例子,但并非只能使 用CRC算法。事实上,任何一种线性校验码算法,都可以应用于本发明实施例,这些都不影响本发明实施例的实现。
上述数据加密的方法实施例中,利用校验码算法结合计数器模式实现鉴 权加密操作模式,由于校验码的计算采用线性算法,因此可以由多个处理器 并行计算出各数据分段所对应的校验码分段,再将各校验码分段合并得到校 验码,提高了运算效率。
对应方法实施例,本发明实施例提供一种数据加密装置,参见图2所示,
包括
数据分组单元210,用于对数据进行划分,得到数据分段; 数据加密单元220,用于对所述数据分组单元得到的数据分段进行并行加 密,得到密文;
消息验证码计算单元230,用于对所述数据分组单元得到的数据分段釆用 线性算法进行并行计算,得到消息验证码。
加密数据生成单元240,用于根据所述加密单元得到的密文和所述消息验 证码计算单元得到的消息验证码,得到加密数据。
其中,数据加密单元220,具体包括
加密子单元221,用于对所述数据分组单元得到的数据分段进行并行加 密,得到相应的密文分段;
合并子单元222,用于合并所述加密子单元所得到的密文分段,得到密文。 所述消息验证码计算单元230,具体包括
校验码计算子单元231 ,用于对所述数据分组单元得到的数据分段采用线 性算法并行进行校验码计算,得到相应的校验码分段;
合并子单元232,用于合并所述校验码计算子单元所得到的校验码分段, 得到校验码;
加密子单元233,用于对所述合并子单元得到的校验码进行加密,得到消 息—验证码。
上述装置实施例中,利用校验码算法结合计数器模式实现鉴权加密操作 模式,应用校验码算法的线性特征实现了校验码计算的并行化处理,提高了 运算效率。
除数据加密方法的实施例外,本发明实施例还提供相应的数据解密方法,
10参见图3所示,方法的流程如下
步骤301,获取接收数据(CIIM)',如果在传输过程中,数据没有被篡改, 则该接收数据与发送端发送数据相同,W(C||M)'= C||M;
步骤302,对接收数据进行分组,由于消息验证码长度是固定的,所以首 先可以划分出消息验证码M',然后将剩下的数据即C'划分为y个数据段d, C'2,…C'y,得到分组信息Counterlnfoj (Kj《x),这里必须保证每个数据块 是对称分组算法长度的倍数;
步骤303,在接收端机器的多个处理器上对各数据分段进行解密,得到解 密文分段P'产MCTRD(C'j, K, Counterlnfoj),所述MCTRD为MCTR模式分组 密码算法的解密算法,对应步骤102中的加密算法,K为密钥;
步骤304,合并各解密文分段P'i,得到解密文P', P'rP、IIP'2…IIP'y;
步骤305,在不同的处理器上计算各解密文分段的校验码CRC(P'i);
步骤306,通过俄罗斯农民算法,由CRC(P'i)计算出校验码CRC(P');
在本步骤中,也可以采用除了俄罗斯农民算法之外的其他算法。
步骤307,对校验码CRC(P')进行加密计算,M"=MCTRE(CRC(P'),Kmac), MCTRE为加密算法,与步骤106中的加密算法相同;K^c为消息验证码生成 密钥;
步骤308,比较M'与M"是否相等,如果相等则判断接收数据正确。 与数据加密方法相对应,上述数据解密的方法施例中,仍然是应用校验
码算法的线性特性,因此可以对各解密文分段并行计算校验码后再合并,从
而实现鉴权的并行化处理。
上述方法也可以修改为对接收到的消息验证码进行解密计算,通过比
较解密结果与校验码CRC(P')是否相等来判断接收数据是否正确,参见图4所
示,具体步骤如下
步骤401-步骤406,同步骤301-步骤306所述;
步骤407,对消息验证码M'进行解密计算,[CRC(P')] ,=MCTRD(M,, Kmac), MCTRD为解密算法,与步骤106中的加密算法相对应;K^e为消息—睑证码生 成密钥;
步骤408,比较[CRC(P')]'与CRC(P')是否相等,如果相等则判断接收数据 正确。对比图3和图4两幅流程图,可以清楚地看到,步骤307必须在步骤306 之后执行,而步骤407则可以与步骤403-405-406同时执行。由于对称密码算 法的加密和解密过程计算量相同,因此在接收端处理器数目足够的前提下, 与上一实施例相比,本实施例的解密方法可以获得更高的数据处理效率。
对应上面的方法实施例,本发明实施例提供一种数据解密装置,参见图5 所示,包括
数据分组单元510,用于对待验证数据进行分段,得到密文分段与消息验 证码;
数据解密单元520,用于对所述数据分组单元得到的密文分段进行解密, 得到解密文分段与解密文;
校验码计算单元530,用于对所述数据解密单元得到的解密文分段采用线 性算法进行并行计算,得到校验码;
判断单元540,用于根据所述校验码计算单元得到的校验码和所述数据分 组单元得到的消息验证码,判断所述待验证数据是否正确。
所述数据解密单元520,具体包括
解密子单元521,用于对所述数据分组单元得到的密文分段进行并行解密 运算,得到相应的解密文分_|爻;
合并子单元522,用于合并所述解密子单元所得到的解密文分段,得到解 密文。
所述校验码计算单元,具体包括
计算子单元531,用于对所述数据解密单元得到的解密文分^:采用线性算 法进行并行校验码计算,得到相应的校验码分段;
合并子单元532,用于合并所述校验码计算子单元所得到的校验码分段, 得到校验码。
所述判断单元540,具体包括
加密子单元541 ,对所述校验码计算单元所得到的校验码进行加密运算; 判断子单元542,比较所述加密子单元运算结果与所述数据分组单元得到 的消息验证码是否相等,如果相等,则判断所述待验证数据正确。本发明实施例还提供了另一种数据解密装置,参见图6所示,与图5不
同之处仅在于判断单元640,具体包括
解密子单元641,对所述数据分组单元得到的消息验证码进行解密运算; 判断子单元642,比较所述校验码计算单元得到的校验码与所述消息验证
码解密子单元的运算结果是否相等,如果相等,则所述待-睑证数据正确。
上述数据解密装置实施例中,应用校验码算法的线性特性,对各解密文
分段并行计算校验码后再合并,实现了鉴权的并行化处理。
本发明实施例还提供一种通信系统,参见图7所示,包括数据加密端 701和数据解密端702。所述数据加密端701用于将数据进行分段为包括至少 两段的分段数据;对所述分段数据并行加密,得到所述数据的密文;采用线 性算法,对各段数据进行并行计算,得到消息验证码;根据所述密文和消息 验证码,得到加密数据;所述数据解密端702用于对来自所述数据加密端的 经过加密处理的待验证数据进行分段,得到密文分段与消息验证码;对各段 密文进行并行解密,得到解密文与解密文分段;采用线性算法,对各段解密 文进行并行计算,得到校验码;根据所述校验码和所述消息验证码,判断所 述待验证数据是否正确。
本实施的通信系统,其数据加密端和数据解密端的数据处理采用并行化 鉴权加密模式,与应用现有鉴权加密模式的通信系统相比,在保证通信数据 安全性和完整性的同时,提高了加密端和解密端的数据处理效率。本实施例 的通信系统可以集成在计算机、手机、路由器、交换机、基站、基站控制器、 服务器等设备中,也可以部署在传输网、接入网、核心网等网络中。
对于装置和系统实施例而言,由于其基本相应于方法实施例,所以描述 得比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例利用诸如CRC这种本身并不具备密码学安全性的校-验码算 法结合计数器模式实现鉴权加密操作模式,通过对校验码值进行加密来保证 鉴权的安全性。由于校验码本身可以并行化操作,因此在计算消息验证码的 时候可以对每个数据分段分别处理,实现了鉴权方案的并行化操作。
本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤
13可以通过程序指令相关的硬件来完成,前述的程序可以存储于 一计算机可读
取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述 的存储介质包括ROM、 RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的具体实施方式
,应当指出,对于本技术领域的普 通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润 饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1、一种数据加密方法,其特征在于,包括将数据进行分段为包括至少两段的分段数据;对所述分段数据并行加密,得到所述数据的密文;采用线性算法,对各段数据进行并行计算,得到消息验证码;根据所述密文和消息验证码,得到加密数据。
2、 根据权利要求1所述的方法,其特征在于,所述对各段数据并行加密, 得到密文包括采用改进计数器模式分组密码算法对各段数据并行加密,得 到密文。
3、 根据权利要求1所述的方法,其特征在于,所述对各段数据并行加密, 得到密文包括并行对每一段数据进行加密,得到密文分段; 合并所述密文分段,得到密文。
4、 根据权利要求1所述的方法,其特征在于,所述采用线性算法,对各 段数据进行并行计算,得到消息验证码包括采用线性算法对各段数据并行计算,得到校验码; 对所述校验码进行加密,得到消息验证码。
5、 根据权利要求4所述的方法,其特征在于,所述对各段数据并行计算, 得到校验码包括并行对每一段数据进行计算,得到校验码分段;合并各段校验码分段,得到校验码。
6、 根据权利要求1所述的方法,其特征在于,所述根据密文和消息验证 码,得到加密数据包括集联所述密文与消息验证码,得到加密数据。
7、 一种数据加密装置,其特征在于,包括 数据分组单元,用于对数据进行划分,得到数据分段; 数据加密单元,用于对所述数据分组单元得到的数据分段进行并行加密,得到密文;消息验证码计算单元,用于对所述数据分组单元得到的数据分段采用线 性算法进行并行计算,得到消息验证码。加密数据生成单元,用于根据所述加密单元得到的密文和所述消息验证码计算单元得到的消息-验证码,得到加密数据。
8、 根据权利要求7所述的装置,其特征在于,所述数据加密单元包括 加密子单元,用于对所述数据分组单元得到的数据分段进行并行加密,得到相应的密文分^a;合并子单元,用于合并所述加密子单元所得到的密文分段,得到密文。
9、 根据权利要求7所述的装置,其特征在于,所述消息验证码计算单元, 包括校验码计算子单元,用于对所述数据分组单元得到的数据分段采用线性 算法并行进行校验码计算,得到相应的校验码分段;合并子单元,用于合并所述校验码计算子单元所得到的校验码分段,得 到校验码;加密子单元,用于对所述合并子单元得到的校验码进行加密,得到消息 验证码。
10、 一种数据解密方法,其特征在于,包括 对待验证数据进行分段,得到密文分段与消息验证码; 对各段密文进行并行解密,得到解密文与解密文分段; 采用线性算法,对各段解密文进行并行计算,得到校验码; 根据所述校验码和所述消息验证码,判断所述待验证数据是否正确。
11、 根据权利要求IO所述的方法,其特征在于,所述对各段数据进行并 行解密,得到解密文包括并行对每一段密文分段进行解密,得到解密文分段;合并所述解密文分段,得到解密文。
12、 根据权利要求IO所述的方法,其特征在于,所述对各段解密文进行 并行计算,得到校验码,包括并行对每一段解密文进行计算,得到校验码分段; 合并各段校验码分段,得到校验码。
13、 根据权利要求IO所述的方法,其特征在于,根据所述校验码和所述 消息验证码,判断所述待验证数据是否正确包括加密所述校验码;比较加密后的校验码和所述消息验证码是否相等,如果相等,则判断所述待验证数据正确。
14、 根据权利要求IO所述的方法,其特征在于,根据所述校验码和所述消息验证码,判断所述接收数据是否正确包括 解密所述消息验证码;比较解密后的消息验证码和所述校验码是否相等,如果相等,则判断所 述待验证数据正确。
15、 一种数据解密装置,其特征在于,包括数据分组单元,用于对待验证的数据进行分段,得到密文分段与消息验 证码;数据解密单元,用于对所述数据分组单元得到的密文分段进行解密,得 到解密文分^l炎与解密文;校验码计算单元,用于对所述数据解密单元得到的解密文分段采用线性 算法进行并行计算,得到校验码;判断单元,用于根据所述校验码计算单元得到的校验码和所述数据分组 单元得到的消息验证码,判断所述待验证数据是否正确。
16、 根据权利要求15所述的装置,其特征在于,所述数据解密单元,包括解密子单元,用于对所述数据分组单元得到的密文分段进行并行解密运 算,得到相应的解密文分段;合并子单元,用于合并所述解密子单元所得到的解密文分段,得到解密文。
17、 根据权利要求15所述的装置,其特征在于,所述校验码计算单元, 包括计算子单元,用于对所述数据解密单元得到的解密文分段采用线性算法 进行并行校验码计算,得到相应的校验码分段;合并子单元,用于合并所述校验码计算子单元所得到的校验码分段,得 到校验码。
18、 根据权利要求15所述的装置,其特征在于,所述判断单元,包括 加密子单元,对所述4L验码计算单元得到的4L睑码进行加密运算; 判断子单元,比较所述加密子单元运算结果与所述数据分组单元得到的消息验证码是否相等,如果相等,则判断所述待验证数据正确。
19、 根据权利要求15所述的装置,其特征在于,所述判断单元,包括 消息验证码解密子单元,对所述数据分组单元得到的消息验证码进行解密运算;判断子单元,比较所述校验码计算单元得到的校验码与所述消息验证码 解密子单元的运算结果是否相等,如果相等,则判断所述待验证数据正确。
20、 一种通信系统,其特征在于,包括数据加密端,用于将数据进行分段为包括至少两段的分段数据;对所述 分段数据并行加密,得到所述数据的密文;采用线性算法,对各段数据进行 并行计算,得到消息验证码;根据所述密文和消息验证码,得到加密数据;数据解密端,用于对来自所述数据加密端的经过加密处理的待验证数据 进行分段,得到密文分段与消息验证码;对各段密文进行并行解密,得到解 密文与解密文分段;采用线性算法,对各段解密文进行并行计算,得到校验 码;根据所述校验码和所述消息验证码,判断所述待验证数据是否正确。
21、 根据权利要求20所述的系统,其特征在于,所述系统集成在计算机、 或手机、或路由器、或交换机、或基站、或基站控制器、或服务器中,或者 部署在传输网、或接入网、或核心网。
全文摘要
本发明实施例公开了一种数据加密和解密的方法、装置及通信系统。一种数据加密方法,包括将数据进行分段为包括至少两段的分段数据;对所述分段数据并行加密,得到所述数据的密文;采用线性算法,对各段数据进行并行计算,得到消息验证码;根据所述密文和消息验证码,得到加密数据。一种数据解密方法,包括对待验证数据进行分段,得到密文分段与消息验证码;对各段密文进行并行解密,得到解密文与解密文分段;采用线性算法,对各段解密文进行并行计算,得到校验码;根据所述校验码和所述消息验证码,判断所述待验证数据是否正确。
文档编号H04L9/28GK101594227SQ20081009837
公开日2009年12月2日 申请日期2008年5月30日 优先权日2008年5月30日
发明者昱 刘, 吴伟国, 伊 孙, 贤 朱, 李光应, 赵元顶 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1