XDR数据信息加密方法、装置、设备及介质与流程

文档序号:15116600发布日期:2018-08-07 20:28阅读:783来源:国知局

本发明涉及信息安全技术领域,尤其涉及一种xdr数据信息加密方法、装置、设备及介质。



背景技术:

现有技术中,对数据进行加密,一般有两种方法。一种为普通数据加密,其具体为:采用一般的对称加密算法如aes(advancedencryptionstandard,高级加密标准),对msisdn(mobilesubscriberinternationalisdn/pstnnumber,移动用户国际isdn/pstn号码,其中,isdn即是综合业务数字网,是integratedservicedigitalnetwork的简称)等xdr(externaldatarepresentation,外部数据表示法)敏感信息进行加密,生成形如:zgpzrdbm/ue87cvdf1rbhg==的无意义密文。另一种方法为:数据掩蔽(datamasking),其具体为:对敏感数据进行克隆,掩码转换等,目前常见的办法是简单地对msisdn中间4位进行隐藏,即以*符号代替实际的数字,如:13900000000被加密为139****0000。

而上述两种数据加密方法均存在缺点。普通数据加密的缺点为:密码一旦被泄露,所有信息都可被获取数据掩藏方法进行加密后的信息仍然包含较多的真实信息,而真实信息的泄露容易导致用户的手机被定位,从而带来一定的安全风险。数据掩蔽方法容易导致不同数据产生相同的密文,如13900000000和13911110000的密文都为139****0000,从而使数据的关联操作产生误差。

此外,普通数据加密导致生成密文的字节长度往往大于原明文的长度,导致现有数据系统有需要修改的风险,带来额外的成本。

综上所述,现有技术还有待于进一步的改进。



技术实现要素:

本发明实施例提供了一种xdr数据信息加密方法、装置、设备及介质,克服现有技术中密码易泄露,或者不同数组产生相同的加密密文,或者加密密文的字节长度大于原明文长度的缺陷。

第一方面,本发明实施例提供了一种xdr数据信息加密方法,方法包括:

从待加密的xdr数据明文中选取n个相邻数字组成待加密数组;其中,所述n为大于等于4且小于等于9的自然数;

以逆序的方式,将所述待加密数组的最后一位数字、及所述最后一位数字与其相邻的一个或者多个数字组合,得到多组随机种子值;

以所述随机种子值、所述xdr数据信息中的e-utran小区全局标识ecgi值和日期值组合成为加密密钥,使用所述加密密钥对数字0~n分别通过加密算法进行加密得到密文,并根据所述密文得到随机排序数组;

以所述待加密数组中各个待加密数字mi为索引,将所述随机排序数组中排序号为mi-1的数字替换所述待加密数字,得到各个待加密数字替换后的重置待加密数组,其中m和i为0~9之间的任意一个自然数;m表示数字mi的数值,i表示数字mi在选取的待加密数字中的排序号;

将所述重置待加密数组按照预设排列规则进行数字位置重排,并将数字位置重排后的重置待加密数组与待加密的明文中未加密的数字相结合,得到加密后的xdr数据信息。

可选的,所述以所述随机种子值、所述xdr数据信息中的e-utran小区全局标识ecgi值和日期值组合成为加密密钥的步骤包括:

以ecgi值所对应的十进制数字除以日期值编码的后j位,取所得商的前k位数字,并以0为开头,得到k+1位的初始密钥;其中,j为大于1小于的等于6的自然数;所述k为大于1小于等于15的自然数;

根据所述初始密钥中被替换数字的起始数字序号与所述随机种子值所含数字的个数相同的规则,依次使用所述随机种子值替换所述初始密钥中相对应的数字,得到各个随机种子值所对应的最终加密密钥。

可选的,所述以所述随机种子值、所述xdr数据信息中的e-utran小区全局标识ecgi值和日期值组合成为加密密钥的步骤包括:

以ecgi值所对应的十进制数字除以日期值编码的后j位,以所得商的前k位数字,并以0为开头,得到k+1位的初始密钥;其中,j为大于1小于等于6的自然数;所述k为大于1小于等于15的自然数;

根据所述初始密钥中反向排序时被替换数字的起始数字序号与所述随机种子值所含数字的个数相同的规则,依次使用所述随机种子值替换所述初始密钥中相对应的数字,得到各个随机种子值所对应的最终加密密钥。

可选的,所述以所述随机种子值、所述xdr数据信息中的e-utran小区全局标识ecgi值和日期值组合成为加密密钥的步骤包括:

以ecgi值所对应的十进制数字除以日期值编码的后j位,以所得商的前k位数字,并以0为开头,且在所述前k位数字的预设位置加入含有数字为s个的数字密码,得到k+1+s位的初始密钥;其中,j为大于1小于等于6的自然数;所述k为大于1小于等于15的自然数;s为大于等于1小于等于9的自然数;

根据所述初始密钥中反向排序时或者正向排序时被替换数字的起始数字序号与所述随机种子值所含数字的个数相同的规则,依次使用所述随机种子值替换所述初始密钥中相对应的数字,得到各个随机种子值所对应的最终加密密钥。

可选的,所述使用所述加密密钥对数字0~n分别通过加密算法加密得到密文,并根据所述密文得到随机排序数组的步骤包括:

根据加密密钥对数字0~n分别进行aes128加密得到密文,得到密文与各个数字所对应的对应列表;

所述密文按照字典排序中的首字母顺序排列,将排列后所述密文所对应的数字组成随机排序数组。

可选的,所述n等于9;n个相邻的待加密数字为待加密的xdr数据明文中后9位数字。

可选的,所述将所述重置待加密数组按照预设排列规则进行数字顺序重排的步骤中,所述预设排列规则为:将数组中含有的数字对称互换。

第二方面,本发明实施例提供了一种xdr数据信息加密装置,所述装置包括:

加密数字选取模块,用于从待加密的xdr数据明文中选取数目为n个相邻数字组成待加密数组;其中,所述n为大于等于4且小于等于9的自然数;

种子值生成模块,用于以逆序的方式,将所述待加密数组的最后一位数字、及所述最后一位数字与其相邻的一个或者多个数字组合,得到多组随机种子值;

随机排序数组生成模块,用于以所述随机种子值、所述xdr数据信息中的e-utran小区全局标识ecgi值和日期值组合成为加密密钥,使用所述加密密钥对数字0~n分别通过加密算法加密得到密文,并根据所述密文得到随机排序数组;

待加密数组重置模块,用于以所述待加密数组中各个待加密数字mi为索引,将所述随机排序数组中排序号为mi-1的数字替换所述待加密数字,得到各个待加密数字替换后的重置待加密数组,其中m和i为0~9之间的任意一个自然数;m表示数字mi的数值,i表示数字mi在选取的待加密数字中的排序号;

加密合成模块,用于将所述重置待加密数组按照预设排列规则进行数字位置重排,并将数字位置重排后的重置待加密数组与待加密的明文中未加密的数字相结合,得到加密后的xdr数据信息。

第三方面,本实施例提供了一种xdr数据信息加密设备,所述加密设备包括:至少一个处理器、至少一个存储器以及存储在所述存储器中的计算机程序指令,当所述计算机程序指令被所述处理器执行时实现所述的方法。

第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,当计算机程序指令被处理器执行时实现如上述实施方式中所述的xdr数据信息加密方法。

本发明实施例提供了一种xdr数据信息加密方法、装置、设备及介质,通过选取多个相邻数字组成待加密数组;将待加密数组的最后一位数字及其相邻的一个或者多个数字组合得到随机种子值;以所述随机种子值、ecgi值和日期值组合成加密密钥,使用加密密钥对数字0~n进行加密得到密文,根据密文得到随机排序数组;将随机排序数组中排序号为待加密数字减一的数字替换成待加密数字,得到重置待加密数组,并将其按照预设排列规则进行数字位置重排,得到加密后的数据信息。由于上述技术方案,使得每一条待加密明文有独立的加密密钥,且不同明文的密文数据不重复,而且密文和明文格式完全相同,因此提高了破解的难度和降低应用系统的改造成本。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了本实施例所述xdr数据信息加密方法的步骤流程图。

图2示出了本实施例所述xdr数据信息加密方法的具体应用实施例步骤流程示意图。

图3示出了本实施例所述xdr数据信息加密装置的原理结构框图。

图4示出了本实施例所述xdr数据信息加密设备的硬件结构示意图。

具体实施方式

下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

如本发明普通技术人员所知的在xdr信息中包含有:主叫用户的通讯号码、被叫用户的通讯号码、时间信息以及ecgi(e-utrancellglobalidentifier,e-utran小区全局标识符)信息等,为了对上述用户的通讯号码进行保护,避免信息泄露给用户的带来不便,本发明实施例提供了以下加密方法、装置、设备及介质。

概括来说,本发明实施例的核心思路是对msisdn中的后九位数字进行fpe加密,使密文形同原始明文。具体步骤为:通过待加密的明文中的每一个数字以及之前的数字组成一个随机种子值(randomseedvalue),以该随机种子值,ecgi和日期联合生成一密钥,并以该密钥对数字(0~9)进行aes128加密,产生密文随机排序数组,最后以当前数字为索引,获取相应数字替代当前数字。重复上述步骤对msisdn号的后九位数字每一位进行加密。

下面通过示例实施例对本发明的技术方案进行详细说明。

请参阅图1,本发明实施例提供了一种xdr数据信息加密方法,所述方法包括如下步骤:

步骤s1、从待加密的xdr数据明文中选取n个相邻数字组成待加密数组;其中,所述n例如为大于等于4且小于等于9的自然数。

具体地,获取待加密的xdr信息,从待加密的xdr数据中选择待加密数组。优选的,为了获得较佳的加密效果,所选择的待加密数组至少包含4个数字,例如:待加密的用户通讯号码为:13123456789,则至少从中选择出4个相邻的数字,比如:6789。较好的,为了提高密文破解的难度,可以从待加密的通讯号码中选择最多选择9位数字。

上述选取出的n位数字可以是从后往前、从前往后或者从中间位置任意选取相邻的数字,但是由于通讯号码一般都为数字“1”开头,而且中间位置由于代表区号,导致数字相同的情况,因此较佳的选择为从后往前选取后n位数字,比如:若选择9位数字,则根据手机通讯号码的后9位,按照从后向前依次选取,若使用上述举例的通讯号码,则9位数字所组成的待加密数组为:123456789。

步骤s2、以逆序的方式,将所述待加密数组的最后一位数字、及所述最后一位数字与其相邻的一个或者多个数字组合,得到多组随机种子值。

以逆序的方式,将所述待加密数组中依次选择数字,将其数字与其相邻的数字组成随机种子值,为了满足上述步骤s2中的从最后一位数字开始,及最后一位数字与其相邻数字组合,以上述举例的待加密用户通讯号码13123456789为例,选取后9位数字,分别为:1、2、3、4、5、6、7、8和9,则由最后一位,及最后一位数字与其相邻的数字组成的随机种子值分别为以下数组:[9]、[9,8]、[9,8,7]、[9,8,7,6]、[9,8,7,6,5]、[9,8,7,6,5,4]、[9,8,7,6,5,4,3]、[9,8,7,6,5,4,3,2]和[9,8,7,6,5,4,3,2,1]。

步骤s3、以所述随机种子值、ecgi值和日期值组合成为加密密钥,使用所述加密密钥对数字0~n分别通过加密算法加密得到密文,并根据所述密文得到随机排序数组。

根据上述步骤s3中的随机种子值、xdr信息单中的ecgi值及日期值相结合,得到加密密钥。

在本发明一些实施例中,上述步骤s3中所含有的步骤:以所述随机种子值、ecgi值和日期值组合成为加密密钥例如可以具有以下各个示例实施例中描述的几种加密密钥生成方式。

在一个示例实施例中,在第一种方式中,以所述随机种子值、所述xdr数据信息中的e-utran小区全局标识ecgi值和日期值组合成为加密密钥的步骤例如可以包括:

以ecgi值所对应的十进制数字除以日期值编码的后j位,取所得商的前k位数字,并以0为开头,得到k+1位的初始密钥;其中,j为大于1小于的等于6的自然数;所述k为大于1小于等于15的自然数;

例如:以ecgi值所对应的十进制数字除以日期值编码的后6位,取所得商的前15位数字,并以0为开头(在头部补充0),得到16位的初始密钥;可以想到的是,j和k还可以选择其他位数的数字进行合成加密密钥。

根据所述初始密钥中被替换数字的起始数字序号与所述随机种子值所含数字的个数相同的规则,依次使用所述随机种子值替换所述初始密钥中相对应的数字,得到各个随机种子值所对应的最终加密密钥。

例如:使用ecgi十进制数字为54726274,日期为2017年3月3日,则54726274+170303,取所得商值数字部分15位并在头部填充‘0’作为16位的初始密钥,此例中,得到的初始密钥为0321346505933542。

分别以每个随机种子值依次替换初始密钥中所对应的数字,替换的规则为传入数字中的ni替换初始密钥中的第(length(n)+i-1)mod16个元素。根据上述规则,根据在正向排序时,被替换的起始数字所处初始密钥中的位置序号与所述随机种子值所含数字的个数相同的规则结合上述步骤中的通讯号码,若随机种子值为[9],则其所含数字的个数为1,则使用9替换初始密钥中正向排列序号为1的数字,也即是,使用9替换初始密钥首位的“0”,则随机种子9所对应的加密密钥为:9321346505933542。又若随机种子值为[9,8],则所含数字的个数为2个,则使用[9,8]替换初始密钥中正向排列序号为2及2以后的数字,也即是,使用9替换初始密钥中位于第2位和第3位的“32”,则随机种子[9,8]所对应的加密密钥为:0981346505933542。

当然,本发明实施例可以根据实际情况灵活的生成密钥。例如初始密钥中可以加入一部分固定的密码。此外,根据随机种子值替换初始密钥的过程可以从初始密钥的尾部进行。

在一个示例实施例中,在第二种方式中,以ecgi值所对应的十进制数字除以日期值编码的后j位,以所得商的前k位数字,并以0为开头,得到k+1位的初始密钥;其中,j为大于1小于等于6的自然数;所述k为大于1小于等于15的自然数;例如:以ecgi值所对应的十进制数字除以日期值编码的后6位,以所得商的前15位数字,并以0为开头,得到16位的初始密钥。根据初始密钥中反向排序时被替换数字的起始数字序号与随机种子值所含数字的个数相同的规则,依次使用随机种子值替换初始密钥中相对应的数字,得到各个随机种子值所对应的最终加密密钥。

与上述第一种方式不同的,替换初始密钥上的数字是从初始密钥的尾部开始的,例如:若随机种子值为:9,则所含数字的个数为:1,则使用9替换初始密钥中反向排列序号为1的数字,也即是,使用9替换初始密钥尾位的“2”,则随机种子9所对应的加密密钥为:0321346505933549。又若随机种子值为:[9,8],则其含有两个字数,则使用98替换初始密钥中反向排列序号为2及2以后的数字,也即是,使用9替换初始密钥反向排序为第2位和第3位的“45”,则随机种子98所对应的加密密钥为:0321346505933892。

在一个示例实施例中,在第三种方式中,以ecgi值所对应的十进制数字除以日期值编码的后j位,以所得商的前k位数字,并以0为开头,且在所述前k位数字的预设位置加入含有数字为s个的数字密码,得到k+1+s位的初始密钥;其中,j为大于1小于等于6的自然数;所述k为大于1小于等于15的自然数;s为大于等于1小于等于9的自然数。例如:以ecgi值所对应的十进制数字除以日期值编码的后6位,以所得商的前15位数字,并以0为开头,且在前15位数字的预设位置加入预设数字密码,得到16位的初始密钥。

根据初始密钥中反向排序时或者正向排序时被替换数字的起始数字序号与随机种子值所含数字的个数相同的规则,依次使用随机种子值替换初始密钥中相对应的数字,得到各个随机种子值所对应的最终加密密钥。

在上述第一种方式和第二种方式的基础上,第三种方式做了进一步的改进,在15位的商值中预设位置的数字使用预设数字密码替换,从而进一步的提高密钥破解的难度。

具体的,可以在前15位数字的中间位置的5位数字分别使用预设的固定数字密码:比如:44444替换,在将替换后的15位数字加上“0”作为开头,得到初始密钥。然后再使用如第一种方式或者第二种方式,得到最终的加密密钥。

也即是,在具体的不同实施例的实施过程中,可以利用上述三种不同的方式,将随机种子值、ecgi值和日期值组合成为加密密钥。

当各个随机种子值均得到其所对应的加密密钥后,则根据加密密钥得到随机排序数组。

具体地,使用加密密钥对数字0~n分别通过加密算法加密得到密文,并根据密文得到随机排序数组的步骤包括:

根据加密密钥对数字0~n分别进行aes128加密得到密文,得到密文与各个数字所对应的对应列表。

密文按照字典排序中的首字母顺序排列,将排列后密文所对应的数字组成随机排序数组。

上述内容中n与步骤s1中所述的n数字相同,也即是当选择的待加密数字为多少个的时候,便依次对数字0~n分别进行aes128加密得到密文。比如:选择4为待加密数字,则便对数字0~4分别进行aes128加密得到密文。可以想到的是,本步骤中还可以选择其他方式的加密算法对数字0~n进行加密,比如:des加密算法、3des或者md5加密算法,优选的,本步骤中选择通过对称加密算法对数字进行加密得到密文。

得到密文后,则使用上述步骤得到的加密密钥对数字进行aes128加密,得到密文,根据密文与数字的对应关系表,得到随机乱序数组。

步骤s4、以待加密数组中各个待加密数字mi为索引,将随机排序数组中排序号为mi-1的数字替换待加密数字,得到各个待加密数字替换后的重置待加密数组;其中m和i为0~9之间的任意一个自然数;m表示数字mi的数值,i表示数字mi在选取的待加密数字中的排序号。

当上述步骤s3中获取到随机乱序数组后,设待加密数字为k,则将上述步骤中获取的随机排序数组中排序为第k-1位的数字替换当前待加密数字。例如,待替换数字为5,随机乱序数组为[0,2,3,7,6,9,8,4,5,1],则以第4位即7来替换当前的数字5,依次对每个待加密数字进行替换后,得到重置待加密数组。

步骤s5、将重置待加密数组按照预设排列规则进行数字位置重排,然后将数字位置重排后的重置待加密数组与待加密的明文中未加密的数字相结合得到加密后的xdr数据信息。

在一个示例实施例中,当上述步骤中得到重置待加密数组后,为了提高加密后数组的破解难度,本步骤中对重置待加密数组中含有的数字进行乱序重排。较佳的,上述预设排列规则为乱序的排列规则。例如,在一个具体示例中,将数组中含有的数字对称互换,最后将乱序排列后的数组与xdr数据中未加密的数据相结合得到加密后的xdr数据。

下面结合图2所示的本发明所述方法的具体应用实施例,以待加密数字为待加密明文后9位为例,对本发明所述的方法做进一步的说明,如图2所示,具体应用示例的步骤如下。

步骤s21、收到对xdr数据信息进行加密的任务,所述xdr数据信息中具体待加密的msisdn号为13912345678。

步骤s22、选择msisdn号的后九位作为待加密数字,也即是:912345678。

步骤s23、对上述步骤中选择出的待加密数字进行逆序,循环选择该待加密数组中每一数字及其之前的所有数字组成字符串数组作为随机种子值,对上述待加密数组依次进行选取后,生成的随机种子值分别为[8],[8,7],[8,7,6],[8,7,6,5]...[8,7,6,5,4,3,2,1]。

步骤s24、使用ecgi十进制数字ecgi除以日期编码的后6位,取15位数字并在头部补充‘0’作为初始密钥。如ecgi为54726274,日期为2017年3月3日,则取54726274÷170303的数字部分15位并在头部填充‘0’作为16位的初始密钥。此例中,初始密钥为0321346505933542。

循环传入各个随机种子值,依次替换初始密码中的数字,形成真正的加密密钥。

如上所述,这里可以使用如上在步骤3中描述的本发明不同实施例中的三种不同的替换规则。

替换的规则为传入数字替换初始密钥中的相应数字元素。以本实施例举出的例子,当传入随机种子值为[8]时,密钥为8321346505933542。当传入的随机种子值为[8,7]时,初始密钥为0871346505933542,依次类推。

步骤s25、根据加密密钥对数字0~n分别进行aes128加密得到密文,得到密文与各个数字(密文-数字)相对应的对应列表,所述密文按照字典排序中的首字母顺序排列,将排列后所述密文所对应的数字组成随机排序数组。

本实施例中,n为9,也即是根据加密密钥对数字0~9分别进行aes128加密得到密文,得到密文与各个数字所对应的对应列表。以上述的随机种子[8]和密钥8321346505933542为例,生成的密文-数字对应表为:

密文数字

b8kgwxabku1hgt1mbvhqaw==0

ztjvqz5ly51sxbh9rkhnjg==1

eqw0jfzwnckwddloi1o6eg==2

fm8ouptm9yatwy7oowiavw==3

yefbhn4z0avjexndcqb7jg==4

yiz9ezem7tygojkbjppcqw==5

stk5nno3nwynpmq9ivkrpw==6

mhd9sc6jl8hp6erjguybag==7

u0hfqkoapty6sloetbr0ca==8

txwbqvduikvghywpzxuntg==9

结合上述表格所示,对得到的密文进行字典排序,以密文的首字母的排序顺序,得到一个随机乱序数组[0,2,3,7,6,9,8,4,5,1]。

步骤s26、设当前待加密数组中的待替换的数字为k,则选择上一步骤中得到的随机数组中的第k-1个数字,替换当前数字。例如,待替换的数字为7,随机乱序数组为[0,2,3,7,6,9,8,4,5,1],则以第6位即9来替换当前的数字。

步骤s27、对替换完成后得到的重置待加密数组进行乱序,并将乱序后得到的加密数组与明文中未加密的数字相结合,得到加密后的明文。

在一个示例中,应用本发明上述实施例描述的技术方案,对于msisdn号13912345678和13912345677分别进行加密,则得到的密文分别为13079767533和13873186903。

综上所述,在具体应用时,依次通过逆序的方式将待加密的明文中的每一个数字以及之前的数字组成一个随机种子值,以该随机种子值,ecgi和日期联合生成一密钥,并以该密钥对数字(例如,0~9其中的任意数字)进行aes128加密,产生密文随机排序数组,然后以当前待加密的数字为索引,从所述随机排序数组中获取相应数字替代当前待加密的数字。重复上述步骤对msisdn号的后九位数字每一位进行加密后,对替换后得到的重置加密数组进行乱序,最后将明文中未替换的数字与所述重置加密数组相结合,得到加密后的xdr数据信息。

本发明所提供的上述加密方法,由于在密钥中引入时间信息数据和空间信息数据,使得破解难度增大,而且msisdn自身作为密钥的一部分,每一个用户信息的密钥独立,即使单个用户被破解,其他用户仍可以保证不被直接破解,因此每一条数据相互之间不具备参照性。并且本发明实施例的加密方法采用保留格式加密(formatpreservingencryption,fpe)技术,使数据密文和原文相比有相同的格式,从而具有较强的迷惑性。密文和明文格式完全相同,利用fpe对数据加密的同时,不会破坏数据格式的约束,从而降低正在运行的应用系统的改造成本,因此可以取得较佳的加密效果。

此外,基于本发明所公开的加密方法,在利用本发明所公开的加密方法进行加密完成的xdr数据信息进行加密后,可以通过反向操作对其进行解密。

第二方面,本发明一个实施例提供了一种xdr数据信息加密装置,如图3所示,所述装置包括:

加密数字选取模块310,用于从待加密的xdr数据明文中选取数目为n个相邻数字组成待加密数组;其中,所述n为大于等于4且小于等于9的自然数;其功能如步骤s1所述。

种子值生成模块320,用于以逆序的方式,将所述待加密数组的最后一位数字、及所述最后一位数字与其相邻的一个或者多个数字组合,得到多组随机种子值;其功能如步骤s2所述。

随机排序数组生成模块330,用于以所述随机种子值、所述xdr数据信息中的e-utran小区全局标识ecgi值和日期值组合成为加密密钥,使用所述加密密钥对数字0~n分别通过加密算法加密得到密文,并根据所述密文得到随机排序数组;其功能如步骤s3所述。

待加密数组重置模块340,用于以所述待加密数组中各个待加密数字mi为索引,将所述随机排序数组中排序号为mi-1的数字替换所述待加密数字,得到各个待加密数字替换后的重置待加密数组,其中m和i为0~9之间的任意一个自然数;m表示数字mi的数值,i表示数字mi在选取的待加密数字中的排序号;其功能如步骤s4所述。

加密合成模块350,用于将所述重置待加密数组按照预设排列规则进行数字位置重排,并将数字位置重排后的重置待加密数组与待加密的明文中未加密的数字相结合,得到加密后的xdr数据信息。其功能如步骤s5所述。

进一步的,所述随机排序数组生成模块330包括:

第一生成单元,用于以ecgi值所对应的十进制数字除以日期值编码的后j位,取所得商的前k位数字,并以0为开头,得到k+1位的初始密钥;其中,j为大于1小于的等于6的自然数;所述k为大于1小于等于15的自然数;以及,根据所述初始密钥中被替换数字的起始数字序号与所述随机种子值所含数字的个数相同的规则,依次使用所述随机种子值替换所述初始密钥中相对应的数字,得到各个随机种子值所对应的最终加密密钥。

或者,所述随机排序数组生成模块330包括:

第二生成单元,用于以ecgi值所对应的十进制数字除以日期值编码的后j位,以所得商的前k位数字,并以0为开头,得到k+1位的初始密钥;其中,j为大于1小于等于6的自然数;所述k为大于1小于等于15的自然数;以及根据所述初始密钥中反向排序时被替换数字的起始数字序号与所述随机种子值所含数字的个数相同的规则,依次使用所述随机种子值替换所述初始密钥中相对应的数字,得到各个随机种子值所对应的最终加密密钥。

或者,所述随机排序数组生成模块330包括:

第三生成单元,用于以ecgi值所对应的十进制数字除以日期值编码的后j位,以所得商的前k位数字,并以0为开头,且在所述前k位数字的预设位置加入含有数字为s个的数字密码,得到k+1+s位的初始密钥;其中,j为大于1小于等于6的自然数;所述k为大于1小于等于15的自然数;s为大于等于1小于等于9的自然数;以及根据所述初始密钥中反向排序时或者正向排序时被替换数字的起始数字序号与所述随机种子值所含数字的个数相同的规则,依次使用所述随机种子值替换所述初始密钥中相对应的数字,得到各个随机种子值所对应的最终加密密钥。

进一步的或者,所述随机排序数组生成模块330还包括:

密文数字排序单元,用于根据加密密钥对数字0~n分别进行aes128加密得到密文,得到密文与各个数字所对应的对应列表,以及所述密文按照字典排序中的首字母顺序排列,将排列后所述密文所对应的数字组成随机排序数组。

较佳的,在上述加密数字选取模块中,所述n等于9;n个相邻的待加密数字为待加密的xdr数据明文中后9位数字。

较佳的,在所述加密合成模块中所述预设排列规则为:将数组中含有的数字对称互换。

在一个实施例中,结合图1和2描述的本发明实施例的一种xdr数据信息加密方法可以由一种xdr数据信息加密设备来实现。

图4示出了本发明一个实施例提供的一种xdr数据信息加密设备的硬件结构示意图。

本发明所提供的一种xdr数据信息加密设备可以包括处理器401以及存储有计算机程序指令的存储器402。

具体地,上述处理器401可以包括中央处理器(cpu),或者特定集成电路(applicationspecificintegratedcircuit,asic),或者可以被配置成实施本发明实施例的一个或多个集成电路。

存储器402可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器402可包括硬盘驱动器(harddiskdrive,hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(universalserialbus,usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器402可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器402可在数据处理装置的内部或外部。在特定实施例中,存储器402是非易失性固态存储器。在特定实施例中,存储器402包括只读存储器(rom)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、电可改写rom(earom)或闪存或者两个或更多个以上这些的组合。

处理器401通过读取并执行存储器402中存储的计算机程序指令,以实现上述实施例中的任意一种xdr数据信息加密方法。

在一个示例中,本发明所提供的一种xdr数据信息加密设备还可包括通信接口403和总线410。其中,如图4所示,处理器401、存储器402、通信接口403通过总线410连接并完成相互间的通信。

通信接口403,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。

总线410包括硬件、软件或两者,将一种xdr数据信息加密设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(agp)或其他图形总线、增强工业标准架构(eisa)总线、前端总线(fsb)、超传输(ht)互连、工业标准架构(isa)总线、无限带宽互连、低引脚数(lpc)总线、存储器总线、微信道架构(mca)总线、外围组件互连(pci)总线、pci-express(pci-x)总线、串行高级技术附件(sata)总线、视频电子标准协会局部(vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线410可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。

该一种xdr数据信息加密设备可以基于获取的待加密xdr数据信息执行本发明实施例中的一种xdr数据信息加密方法,从而实现对xdr数据信息的加密。

另外,结合上述实施例中的一种xdr数据信息加密方法,本发明一个实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种xdr数据信息加密方法。

需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。

以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。

还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。

以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1