CN110933063B - 数据加密方法、数据解密方法及设备 - Google Patents
数据加密方法、数据解密方法及设备 Download PDFInfo
- Publication number
- CN110933063B CN110933063B CN201911168889.3A CN201911168889A CN110933063B CN 110933063 B CN110933063 B CN 110933063B CN 201911168889 A CN201911168889 A CN 201911168889A CN 110933063 B CN110933063 B CN 110933063B
- Authority
- CN
- China
- Prior art keywords
- target
- data
- character
- character string
- numerical value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 109
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 40
- 238000004891 communication Methods 0.000 claims description 6
- 238000010187 selection method Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000003068 static effect Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
Abstract
本申请实施例提供一种数据加密方法、数据解密方法及设备,涉及数据安全领域。本申请实施例能够对话单数据中涉密数据单元中的数据进行加密。该数据加密方法包括获取话单数据中目标数据单元所属消息的五元组;其中,在所述话单数据中,所述目标数据单元用于记录目标字符串;根据所述五元组,生成第一密钥;将所述第一密钥作为预设加密算法的参数,按照所述预设加密算法,改变所述目标字符串中的字符所对应的ASCII码数值,得到第一加密字符串;利用所述第一加密字符串,生成所述目标数据单元的密文。本申请应用于话单数据处理。
Description
技术领域
本申请涉及数据安全领域,尤其涉及一种数据加密方法、数据解密方法及设备。
背景技术
随着互联网技术的发展,重要数据、公民个人信息泄露的风险也越来越高。目前,运营商设备中的话单数据中包含许多敏感字段。例如,在话单数据中,每条消息通常都包括了手机号(MSISDN,Mobile Subscriber International ISDN/PSTN number)、国际移动用户识别码(IMSI,International Mobile Subscriber Identity)、国际移动设备识别码(IMEI),位置消息等等涉及个人隐私或者商业秘密的信息,而上述这些信息通常采用明文方式存储入库。通过明文方式存储的上述话单数据,很容易通过网络攻击等手段被非法获取。而一旦上述信息发生数据泄露,则会给公民个人、相关组织带来严重的威胁。
发明内容
本申请的的实施例提供一种数据加密方法、数据解密方法及设备,能够对话单数据中涉密数据单元中的数据进行加密。
第一方面,本申请实施例提供一种数据加密方法,包括:获取话单数据中目标数据单元所属消息的五元组;其中,在所述话单数据中,所述目标数据单元用于记录目标字符串;根据所述五元组,生成第一密钥;将所述第一密钥作为预设加密算法的参数,按照所述预设加密算法,改变所述目标字符串中的字符所对应的ASCII码数值,得到第一加密字符串;利用所述第一加密字符串,生成所述目标数据单元的密文。
第二方面,本申请实施例提供一种数据解密方法,包括:获取话单数据中目标数据单元所属消息的五元组;其中,在所述话单数据中,所述目标数据单元,用于记录目标字符串;根据所述五元组,生成第一密钥;获取所述目标数据单元的密文;根据所述目标数据单元的密文,得到待解密字符串;将所述第一密钥作为预设解密算法的参数,按照所述预设解密算法,改变所述待解密字符串中的字符所对应的ASCII码数值,得到所述目标字符串。
第三方面,本申请实施例提供一种加密机,包括:获取单元,用于获取话单数据中目标数据单元所属消息的五元组;其中,在所述话单数据中,所述目标数据单元用于记录目标字符串;密钥生成单元,用于根据所述五元组,生成第一密钥;字符转换单元,用于将所述第一密钥作为预设加密算法的参数,按照所述预设加密算法,改变所述目标字符串中的字符所对应的ASCII码数值,得到第一加密字符串;密文生成单元,用于利用所述第一加密字符串,生成所述目标数据单元的密文。
第四方面,本申请实施例提供一种解密机,包括:获取单元,用于获取话单数据中目标数据单元所属消息的五元组;其中,在所述话单数据中,所述目标数据单元,用于记录目标字符串;密钥生成单元,用于根据所述五元组,生成第一密钥;获取单元,还用于获取所述目标数据单元的密文;密文解析单元,用于根据所述目标数据单元的密文,得到待解密字符串;解密单元,用于将所述第一密钥作为预设解密算法的参数,按照所述预设解密算法,改变所述待解密字符串中的字符所对应的ASCII码数值,得到所述目标字符串。
第五方面,本申请实施例提供另一种加密机,包括:处理器、存储器、总线和通信接口;存储器用于存储计算机执行指令,处理器与存储器通过总线连接,当加密机运行时,处理器执行上述存储器存储的上述计算机执行指令,以使加密机执行如上述第一方面所提供的数据加密方法。
第六方面,本申请实施例提供另一种解密机,包括:处理器、存储器、总线和通信接口;存储器用于存储计算机执行指令,处理器与存储器通过总线连接,当解密机运行时,处理器执行上述存储器存储的上述计算机执行指令,以使解密机执行如上述第一方面所提供的数据解密方法。
第七方面,本申请实施例提供一种计算机存储介质,包括指令,当其在加密机上运行时,使得加密机执行上述第一方面所提供的数据加密方法。
第八方面,本申请实施例提供一种计算机存储介质,包括指令,当其在解密机上运行时,使得加密机执行上述第一方面所提供的数据解密方法。
第九方面,本申请实施例提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如上述第一方面所提供的数据加密方法。
第十方面,本申请实施例提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如上述第二方面所提供的数据解密方法。
本申请实施例所提供的数据加密方法中,能够利用话单数据中目标字符串所属消息对应的五元组,生成第一密钥。然后将所述第一密钥作为预设加密算法的参数,按照所述预设算法,改变目标字符串中的字符对应的ASCII码数值,得到第一加密字符串。也就是说,本申请中,利用目标字符串所属消息对应的五元组,来生成用于改变目标字符串中的字符对应的ASCII码数值的预设加密算法的密钥。因此,本申请既能够避免使用单一密钥来对话单数据中多条消息的敏感数据单元所包括的多个字符串进行批量加密时,所存在的安全问题。同时,本申请还能够降低每条消息使用不同密钥加密的情况下为存储密钥所产生的开销,以及解密时从存储空间中查询密钥所产生的开销。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种网络结构示意图之一;
图2为本申请实施例提供的一种数据加密方法的流程示意图之一;
图3为本申请实施例提供的一种数据加密方法的流程示意图之二;
图4为本申请实施例提供的一种数据加密方法的流程示意图之三;
图5为本申请实施例提供的一种网络结构示意图之二;
图6为本申请实施例提供的一种数据解密方法的流程示意图之一;
图7为本申请实施例提供的一种数据解密方法的流程示意图之二;
图8为本申请实施例提供的一种数据解密方法的流程示意图之三;
图9为本申请实施例提供的一种加密机的结构示意图之一;
图10为本申请实施例提供的一种加密机的结构示意图之二;
图11为本申请实施例提供的一种解密机的结构示意图之一;
图12为本申请实施例提供的一种解密机的结构示意图之二;
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。另外,还应当理解,本文中使用的术语“多个”、“多组”是指包含两个或两个以上的列出项目的任何或所有可能组合。
以下对本申请涉及的技术术语进行介绍:
话单数据:也可称为详单、CDR(Call Detail Record,呼叫详细记录即),指原始通信记录信息。以固定电话为例,话单数据主要记录以下信息:流水号、用户标识、主叫号码、被叫号码、起始时间、结束时间、通话时长、通话性质、费率、费用、折扣等。对于手机来说,除类似上述的通话记录外,话单数据记录的信息还包括手机号(MSISDN,Mobile SubscriberInternational ISDN/PSTN number)、、Wap、GPRS等,记录格式与上述固定电话的话单数据类似。需要说明的是,本申请中,为了便于描述,将话单数据中的一条数据,称为“消息”。并且,本申请中,将话单数据中一条消息中的一项数据,称为一个“数据单元”。示例性的,下表1为本申请实施例提供的一份话单数据的示例:
表1
其中,该话单数据中包括三条消息。其中,每条消息中分别包括九个数据单元。其中,每个数据单元,分别记录了一位用户在一次流量消费中的一项信息。具体的,每条消息中,具体包括:用户所使用终端设备的手机号码(即表1中,“MSISDN”字段)、用户所使用终端设备的IMEI码(即表1中,“IMEI”字段)、用户所使用终端设备的IMSI码(即表1中,“IMSI”字段)、用户本次消费的流量大小(即表1中,“所使用流量”字段),以及本次消费的五元组(即表1中,“传输协议”、“源IP”、“源端口”、“目的IP”、“目的端口”五个字段)。其中,传输协议字段中,各消息的数据单元中所记录的“201”代表HTTP协议。
需要说明的是,上述表1仅示例性的给出了话单数据可能的存储内容。在实际实施时,话单数据可能记录有更多或更少的信息。本申请对于话单数据的内容可以不做限制。
ASCII码:(American Standard Code for Information Interchange),美国信息交换标准代码)。是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。需要说明的是,本申请中,将在ASCII码表中字符对应的十进制数值,称为“ASCII码数值”。
以下介绍本申请的技术原理:
目前通信运营商的话单数据都是以明文的方式进行存储的,而话单数据中记录有诸多涉及隐私、秘密的信息。所以,如果话单数据发生泄漏,会产生不小的危害。因此,对话单数据中的敏感字段(例如,表1中“MSISDN”字段、“IMEI”字段、“IMSI”字段等字段)进行加密,就成了一项非常重要的工作。
由于话单数据中通常包括的数量巨大,往往一份话单数据中包括了数以千万条话单,所以若采用相同密钥来对一份话单数据中多条消息的敏感字段所包括的多个数据单元进行批量加密,则会存在安全性低的问题。而若采用对每条消息的敏感字段对应的数据单元采用不同密钥进行加密,则会产生大量的密钥。保存这些密钥的成本巨大,并且解密时查询对应的密钥也需要消耗大量资源。
进而,本申请中提供一种数据加密方法,在对话单数据中敏感字段所包括的数据单元中的字符串进行加密时,利用数据单元所属消息的五元组生成一个预设加密算法的密钥,来对数据单元中记录的字符串中的字符进行转换,从而得到新的字符串。再由得到的新的字符串生成数据单元的密文。从而,在保证了数据安全性的前提下,还避免了保存密钥、查询密钥的资源开销。
实施例一:
基于上述技术原理,本申请实施例提供一种数据加密方法。在具体应用时,本申请实施例所提供的数据加密方法可以由一种加密机来执行。具体的,该加密机可以是具有数据处理能力的各类电子设备。例如,加密机可以是个人计算机、便携式电子设备以及服务器等等。
在一种实现方式中,上述加密机可以是数据采集商设备。具体的,如图1所示,为本申请实施例提供的一种网络结构示意图。其中,该网络中包括:运营商设备和数据采集商设备。其中,运营商设备包括用于存储加密话单数据的ESB(Enterprise Service Bus,企业服务总线)设备101。数据采集商设备包括DPI(Deep Packet Inspection,深度报文检测)采集机102,以及加密机103。其中,DPI采集机102用于接收并解析外部码流数据,生成话单数据。加密机103,用于按照本申请所提供方法,对话单数据中的数据进行加密,生成加密话单数据,并将加密话单数据发送至运营商设备中的ESB设备进行保存。另外,运营商设备中还可以包括密钥管理设备104。密钥管理设备104用于向加密机103发送加密机103在加密数据的过程中除根据消息的五元组生成的密钥之外的其他所需要的密钥。
具体的,如图2所示,该数据加密方法,具体包括以下步骤S201-S204:
S201、获取话单数据中目标数据单元所属消息的五元组。
其中,在话单数据中,目标数据单元用于记录目标字符串。
具体的,目标数据单元可以为目标数据单元所属消息中任一个需要加密的字段所对应的数据单元。
例如,假设目标数据单元为表1中第一条消息中MSISDN字段对应的数据单元。再例如,目标数据单元为表1中第一条消息中IMEI字段对应的数据单元。再例如,目标数据单元为表1中第一条消息中IMSI字段对应的数据单元。目标数据单元所属消息的五元组,具体包括第一条消息的五元组,即表1中第一条消息中的后五个数据单元中记录的信息。
S202、根据上述五元组,生成第一密钥。
S203、将第一密钥作为预设加密算法的参数,按照预设加密算法,改变目标字符串中的字符所对应的ASCII码数值,得到第一加密字符串。
需要说明的是,本申请中所称ASCII码数值,表示ASCII字符的十进制数值。
在具体实施时,S203中的预设加密算法可以是现有的改变字符串中字符的ASCII码数值的加密方法。其中,该预设加密算法的密钥,可以由五元组生成。具体根据五元组生成第一密钥的过程,以及预设加密算法的具体算法内容,本申请可以不做限制。
S204、利用第一加密字符串,生成目标数据单元的密文。
在一种实现方式中,S204具体可以为:将第一加密字符串作为目标数据单元的密文。
在另一种实现方式中,为了保证数据的安全性,在生成第一加密字符串后,还可以对第一加密字符串进行进一步的加密。因此,S204具体可以包括以下步骤S2041-S2042:
S2041、向第一加密字符串中插入随机字符,生成第二加密字符串。
S2042、转换第二加密字符串中的字符位置,生成目标数据单元的密文。
在一种实现方式中,当本申请所提供的数据加密方法应用于数据采集商设备中时。例如,图1所示,当本申请所提供的数据加密方法应用于加密机103时,在执行上述步骤S2041之前,该方法还包括以下步骤S1和S2:
S1、接收运营商设备发送的第二密钥。
例如,在图1中,密钥管理设备104向加密机103发送第二密钥。
S2、使用非对称加密算法的私钥将第二密钥解封,得到第三密钥。
其中,第三密钥,用于确定在步骤S2041向第一加密字符串中插入随机字符时,插入随机字符的字符数以及随机字符插入的位置。
可选的,为了保证最终生成的目标数据单元的密文能够正确存储在加密话单数据中,本申请中,第三密钥为根据话单数据中目标数据单元的最大存储上限生成的。
在一种实现方式中,第三密钥,还用于在步骤S2042转换第二加密字符串中的字符位置时,确定字符位置变化的规则。
具体的,运营商设备(例如,图1中密钥管理设备104)可以根据话单数据中目标数据单元的最大存储上限,生成第三密钥。然后利用非对称加密算法的公钥将第三密钥封装成第二密钥。然后将第二密钥发送至加密机,以使得加密机执行上述S1-S2的步骤内容。
按照上述方法,可以对话单数据中各个需要加密的数据单元进行加密,生成各数据单元的密文。然后在将话单数据中各数据单元中的内容,替换为对应生成的密文,即可得到加密话单数据。进而,在后续传输话单数据时,可以保证数据的安全性。例如,图1中加密机103按照本申请上述方法生成各数据单元的密文,进而得到加密话单数据后,则可以将加密话单数据发送至ESB设备101,并且最大程度避免了传输过程中数据泄漏的问题。
进一步的,本申请实施例中还设计了一种生成上述第一加密字符串的方式。当将本申请设计的生成上述第一加密字符串的方式应用于上述数据加密方法中时,如图3所示,上述步骤S202具体包括以下步骤S202a:
S202a、根据上述五元组,生成目标数列。
其中,目标数列为自然数数列。
例如,将表1中第一条消息中的后五个数据单元中记录的信息,按顺序进行排列,再去除排列结果中的非数字部分,得到一串数字:
“2011089568564264140207541186592”。将得到的数字中每一位看做目标数列中的一个数值。进而得到目标数列:
{2,0,1,1,0,8,9,5,6,8,5,6,4,2,6,4,1,4,0,2,0,7,5,4,1,1,8,6,5,9,2}。
在一种实现方式中,上述S202a具体包括以下S202a1-S202a2:
S202a1、从五元组中提取至少一个自然数,将至少一个自然数进行组合,得到初始数列。
例如,将上文示例中生成的数列:
{2,0,1,1,0,8,9,5,6,8,5,6,4,2,6,4,1,4,0,2,0,7,5,4,1,1,8,6,5,9,2},作为初始数列。
S202a2、对初始数列中各数值分解质因数,将分解质因数后得到的数值进行组合,得到目标数列。
可选的,将分解质因数后得到的数值进行组合,具体包括:将分解质因数后得到的数值从大到小排列。
本申请中,通过对初始数列中各数值进行分解质因数,从而避免因为目标数列中的数值过大,而增大之后数据的运算量的问题。
需要说明的是,在具体实施时,也可以采用其他方式来根据获取的五元组,生成目标数列。对此,本申请可以不做限制。
在生成目标数列后,如图3所示,上述步骤S203具体可以包括以下S203a1-S203a2:
S203a1、按照预设选择方式,从目标数列中选择两个目标数值。
S203a2、将两个目标数值的积与目标字符串中的第y个字符所对应的ASCII码数值相加,得到第一加密字符串中第y个字符的ASCII码数值。
例如,可以从目标数列中选择第y个和第y+1个数值,作为两个目标数值。然后将目标数列中第y个数值和第y+1个数值的积与目标字符串中的第y个字符所对应的ASCII码数值相加,得到第一加密字符串中第y个字符的ASCII码数值。
然后,根据第一加密字符串中第y个字符的ASCII码数值,便可以确定第一加密字符串中第y个字符。
进一步的,按照上述S203a1-S203a2,便可以依次确定第一加密字符串中各字符。然后,同理可得出话单数据中其他消息中需要加密的字段对应的数据单元对应的加密字符串。
以下结合实例,对本申请上述步骤S203a1-S203a2,进行介绍:
假设话单数据中包括n条消息,Z[x]表示第x条消息中需要加密的字段对应的数据单元中记录的字符串(其中,1≤x≤n),length(Z[x])表示Z[x]中所记录的字符串的长度,Z[x][y]表示字符串Z[x]中第y个字符,W1[x]表示话单数据中对应第x条消息所生成的目标数列,W1[x][y]表示W1[x]中第y个数值。f()表示ASCII字符转换十进制方程,F()表示十进制转换ASCII字符方程。进而,对话单数据中需要加密的字段对应的数据单元中的字符串进行加密的具体算法如下:
其中,ZJM[x][y]即为将第x条消息中需要加密的字段对应的数据单元作为目标数据单元后,所生成的第一加密字符串中的第y个字符。
在另一种实现方式中,考虑到在一些情况下,将两个目标数值的积与目标字符串中的第y个字符所对应的ASCII码数值相加后,所得数值可能会大于126。而ASCII码表中,可见字符的十进制数值的范围为[32,126]。因此,为了避免生成的第一加密字符串中存在不可见字符。进而,在上述步骤S202a生成目标数列后,如图4所示,本申请中上述步骤S203具体可以包括以下步骤S203b1-S203b3:
S203b1、按照预设选择方式,从目标数列中选择两个目标数值。
S203b2、将两个目标数值的积与目标字符串中的第y个字符所对应的ASCII码数值相加,得到第一数值。
S203b3、将第二数值与32的和,作为第一加密字符串中的第y个字符的ASCII码数值。
其中,第二数值等于第一数值减去31之后再除以95后得到的余数。
在一种实现方式中,考虑到可能存在目标字符串中包括的字符个数可能超过目标数列中数值的个数这一问题,因此,本申请中为了均匀目标数列中各数值的利用次数,上述步骤S203b1具体可以包括:从目标数列中选择第a+1个数值和第b+1个数值。
其中,a的取值为y与目标数列的总项数求商后得到的余数;b的取值为y+1与目标数列的总项数求商后得到的余数。
在按照上述S203b1-S203b3的方法确定了第一加密字符串中的第y个字符的ASCII码数值之后,便可以根据第一加密字符串中第y个字符的ASCII码数值,确定第一加密字符串中第y个字符。
进一步的,按照上述S203b1-S203b3的方法,便可以依次确定第一加密字符串中各字符。然后,同理可得出话单数据中其他消息中需要加密的字段对应的数据单元对应的加密字符串。
以下结合实例,对本申请上述步骤S203b1-S203b3,进行介绍:
假设话单数据中包括n条消息,Z[x]表示第x条消息中需要加密的字段对应的数据单元中记录的字符串(其中,1≤x≤n),length(Z[x])表示Z[x]中所记录的字符串的长度,Z[x][y]表示字符串Z[x]中第y个字符,W1[x]表示话单数据中对应第x条消息所生成的目标数列,W1[x][y]表示W1[x]中第y个数值。f()表示ASCII字符转换十进制方程,F()表示十进制转换ASCII字符方程。mod(,)表示余数函数,例如mod(p,q)等于p/q的余数;若p<q,则mod(p,q)等于p。进而,对话单数据中需要加密的字段对应的数据单元中的字符串进行加密的具体算法如下:
其中,ZJM[x][y]即为将第x条消息中需要加密的字段对应的数据单元作为目标数据单元后,所生成的第一加密字符串中的第y个字符。
本申请实施例所提供的数据加密方法中,能够利用话单数据中目标字符串所属消息对应的五元组,生成第一密钥。然后将所述第一密钥作为预设加密算法的参数,按照所述预设算法,改变目标字符串中的字符对应的ASCII码数值,得到第一加密字符串。也就是说,本申请中,利用目标字符串所属消息对应的五元组,来生成用于改变目标字符串中的字符对应的ASCII码数值的预设加密算法的密钥。因此,本申请既能够避免使用单一密钥来对话单数据中多条消息的敏感数据单元所包括的多个字符串进行批量加密时,所存在的安全问题。同时,本申请还能够降低每条消息使用不同密钥加密的情况下为存储密钥所产生的开销,以及解密时从存储空间中查询密钥所产生的开销。
实施例二:
基于与上述实施例一所提供的数据加密方法相同的发明构思,本申请实施例还提供一种数据解密方法。在具体应用时,本申请实施例所提供的数据解密方法可以由一种解密机来执行。具体的,该解密机可以是具有数据处理能力的各类电子设备。例如,解密机可以是个人计算机、便携式电子设备以及服务器等等。
在一种实现方式中,上述解密机可以是数据使用方设备。具体的,如图5所示,为本申请实施例提供的一种网络结构示意图。其中,该网络中包括:运营商设备和数据使用方设备。其中,运营商设备包括用于存储加密话单数据的ESB(Enterprise Service Bus,企业服务总线)设备301。数据使用方设备包括解密机302,以及话单数据库303。其中,解密机302用于接收来自ESB设备301的加密话单数据,并按照本申请所提供的方法,对加密话单数据进行解密生成原始话单数据,并将原始话单数据发送至话单数据库303。话单数据库303,用于存储原始话单数据,并根据需要向数据使用方设备中的其他设备提供原始话单数据中的消息。另外,运营商设备中还可以包括密钥管理设备304。密钥管理设备304用于向解密机302提供解密机302在解密数据的过程中除根据消息的五元组生成的密钥之外的其他所需要的密钥。另外,运营商设备中还可以包括解密记录备案设备305。解密记录备案设备305,用于记录解密机302的解密记录,以及数据使用方的身份信息。
具体的,如图6所示,该数据解密方法,具体包括以下步骤S401-S405
S401、获取话单数据中目标数据单元所属消息的五元组。
其中,在话单数据中,目标数据单元,用于记录目标字符串。
其中,S401的具体实现过程,可参照上述实施例一中S201的内容。
S402、根据上述五元组,生成第一密钥。
S403、获取加密话单数据中目标数据单元的密文。
例如,可以从加密话单数据中对应目标数据单元的数据单元中获取到目标数据单元的密文。
S404、根据目标数据单元的密文,得到待解密字符串。
具体的,步骤S404可以看做是上述步骤S204的逆向过程。
在一种实现方式中,S404具体可以包括:将目标数据单元的密文作为待解密字符串。
在另一种实现方式中,S404具体可以包括以下步骤S4041-S4042:
S4041、转换目标数据单元的密文中的字符位置,生成第四加密字符串。
具体的,步骤S4041可以看做是上述步骤S2042的逆向过程。
S4042、去除第四加密字符串中的冗余字符,生成待解密字符串。
具体的,步骤S4042可以看做是上述步骤S2041的逆向过程。
在一种实现方式中,当本申请所提供的数据解密方法应用于数据使用方设备中时。例如,图5所示,当本申请所提供的数据解密方法应用于解密机302时,在执行上述步骤S4041之前,该方法还包括以下步骤S3和S4:
S3、接收运营商设备发送的第四密钥。
例如,在图5中,密钥管理设备304向加密机302发送第四密钥。
S4、使用非对称加密算法的私钥将第四密钥解封,得到第五密钥。
其中,第五密钥,用于在步骤S4041转换目标数据单元的密文中的字符位置时,确定字符位置变化的规则。
第五密钥,还用于在在步骤S4042去除第四加密字符串中的冗余字符时,确定第四加密字符串中的冗余字符。
S405、将第一密钥作为预设解密算法的参数,按照预设解密算法,改变待解密字符串中的字符所对应的ASCII码数值,得到目标字符串。
具体的,步骤S405可以作为上述S203的逆向过程。
按照上述方法,可以加密对话单数据中各数据单元的密文进行解密,生成各数据单元的明文。然后在将加密话单数据中各数据单元中的内容,替换为对应生成的明文,即可得到原始的话单数据。
进一步的,对应上述实施例一中本申请提供的生成第一加密字符串的方法,本申请所提供数据解密方法中,S402具体包括以下步骤S402a:
S402a、根据五元组,生成目标数列。
其中,目标数列为自然数数列。
具体的,S402a的实现过程可参数上述S202a的内容。
在一种实现方式中,上述S402a具体包括以下S402a1-S402a2:
S402a1、从五元组中提取至少一个自然数,将至少一个自然数进行组合,得到初始数列。
S402a2、对初始数列中各数值分解质因数,将分解质因数后得到的数值进行组合,得到目标数列。
具体的,S402a1-S402a2的实现过程可参数上述S202a1-S202a2的内容。
在生成目标数列后,如图7所示,上述步骤S405具体可以包括以下步骤S4051-S4052:
S4051、按照预设选择方法,从目标数列中选择两个目标数值。
具体的,S4051的实现过程可参数上述S203b1的相关内容。
S4052、利用两个目标数值以及待解密字符串中的第y个字符所对应的ASCII码数值,计算目标字符串中的第y个字符所对应的ASCII码数值。
其中,第一数值减去31之后再除以95后得到的余数与32的和,等于待解密字符串中第y个字符所对应的ASCII码数值;第一数值,等于两个目标数值的积与目标字符串中的第y个字符所对应的ASCII码数值之和。
其中,S4052可以看做是上述S203b2和S203b3的逆向过程。
在一种实现方式中,上述步骤S4051具体可以包括:从目标数列中选择第a+1个数值和第b+1个数值。
其中,a的取值为y与目标数列的总项数求商后得到的余数;b的取值为y+1与目标数列的总项数求商后得到的余数。
在一种实现方式中,如图7所示,当目标数列中各数值均为小于10的自然数时,S4052具体包括以下步骤S4052a-S4052c:
S4052a、判断待解密字符串中的第y个字符所对应的ASCII码数值与第三数值之差是否大于32。
其中,第三数值等于两个目标数值的积。
S4052b、若待解密字符串中的第y个字符所对应的ASCII码数值与第三数值之差大于32,则目标字符串中的第y个字符所对应的ASCII码数值,等于待解密字符串所对应的ASCII码数值减第三数值再减1。
S4052c、若待解密字符串中的第y个字符所对应的ASCII码数值与第三数值之差小于等于32,则目标字符串中的第y个字符所对应的ASCII码数值,等于待解密字符串所对应的ASCII码数值减第三数值再减1再加95。
然后,根据目标字符串中第y个字符的ASCII码数值,便可以确定目标字符串中第y个字符。
进一步的,按照上述S4052a-S4052c,便可以依次确定目标字符串中各字符。然后,同理可对加密话单数据中的其他数据单元的密文进行解密,最终生成原始话单数据。
以下结合实例,对本申请上述步骤S4052a-S4052c,进行介绍:
假设话单数据中包括n条消息,Z[x]表示原始话单数据中第x条消息中进过加密的字段对应的数据单元中记录的字符串(其中,1≤x≤n),length(Z[x])表示Z[x]中所记录的字符串的长度,Z[x][y]表示字符串Z[x]中第y个字符,W1[x]表示话单数据中对应第x条消息所生成的目标数列,W1[x][y]表示W1[x]中第y个数值。f()表示ASCII字符转换十进制方程,F()表示十进制转换ASCII字符方程。mod(,)表示余数函数,例如mod(p,q)等于p/q的余数;若p<q,则mod(p,q)等于p。ZJM[x][y]表示将第x条消息中经过加密的字段对应的数据单元作为目标数据单元后,待解密字符串中第y个字符。进而,对加密话单数据中需要解密的字段对应的数据单元中的字符串进行解密,生成原始话单数据中数据单元中的字符串的具体算法如下:
在另一种实现方式中,为了在目标数列中各数值没有被限制的情况,计算目标字符串中各字符的ASCII码数值,如图8所示,S4052具体包括以下步骤S4052d-S4052f:
S4052d、判断待解密字符串中的第y个字符所对应的ASCII码数值与第三数值之差是否大于32。
其中,第三数值等于两个目标数值的积。
S4052e、若待解密字符串中的第y个字符所对应的ASCII码数值与第三数值之差大于32,则目标字符串中的第y个字符所对应的ASCII码数值,等于待解密字符串所对应的ASCII码数值减第三数值再减1。
S4052f、若待解密字符串中的第y个字符所对应的ASCII码数值与第三数值之差小于或等于32,则确定目标字符串中的第y个字符所对应的ASCII码数值等于第四数值。
其中,第四数值减去待解密字符串所对应的ASCII码数值再加第三数值再加1,为95的倍数;并且第四数值为[32,126]之间的整数。
然后,根据目标字符串中第y个字符的ASCII码数值,便可以确定目标字符串中第y个字符。
进一步的,按照上述S4052d-S4052f,便可以依次确定目标字符串中各字符。然后,同理可对加密话单数据中的其他数据单元的密文进行解密,最终生成原始话单数据。
以下结合实例,对本申请上述步骤S4052d-S4052f,进行介绍。需要说明的是,以下实例中所使用的字母以及函数符合与上文实例所使用的字母以及函数符合的含义相同,因此在此不再赘述:
具体的,当f(ZJM[x][y])-1-c>31时,因为f(Z[x][y])+c-31必然小于95,所以:f(ZJM[x][y])=mod(f(Z[x][y])+c-31,95)+32=f(Z[x][y])+c-31+32。
所以:f(Z[x][y])=f(ZJM[x][y])-c-1。
另外一方面,当f(ZJM[x][y])-1–c<=31时,f(Z[x][y])+c-31必然大于等于95,意味着ZJM[x][y]为余数。进而:
f(ZJM[x][y])=mod(f(Z[x][y])+c-31,95)+32=f(Z[x][y])+c+1–x*95
即f(Z[x][y])=f(ZJM[x][y])–c–1+95x。其中,x为未知数。
由于f(Z[x][y])范围为[32,126]且x>=1,进而可以使用while循环,使x从1开始递增,每次加1,计算f(Z[x][y])。直至当f(Z[x][y])>32时停止循环,并输出f(Z[x][y])的结果。此时,因为x每加1,f(Z[x][y])会增大95,但是只会有一个f(Z[x][y])在[32,126]内,因此首次大于32的f(Z[x][y])即为。
可选的,本申请实施例所提供的数据解密方法,在将加密话单数据中各数据单元的密文进行解密,生成原始话单数据后,该方法还可以包括:将数据使用方身份以及话单数据的解密记录上报至运营商设备。
例如,图5中,解密机302在将加密话单数据中各数据单元的密文进行解密,生成原始话单数据后,将数据使用方身份以及话单数据的解密记录上报至解密记录备案设备305。
本申请上述实施例所提供的数据解密方法所解决的技术问题以及所实现的有益效果,可参照上述实施例一所解决的技术问题以及所实现的有益效果,在此不再赘述。
实施例三:
本申请实施例提供一种加密机,用于执行上述实施例一所提供的数据加密方法。如图9所示,为本申请实施例提供的加密机的一种可能的结构示意图。具体的,该加密机50包括:获取单元501、密钥生成单元502、字符转换单元503、密文生成单元504。其中:
获取单元501,用于获取话单数据中目标数据单元所属消息的五元组;其中,在所述话单数据中,所述目标数据单元用于记录目标字符串。
密钥生成单元502,用于根据所述五元组,生成第一密钥。
字符转换单元503,用于将所述第一密钥作为预设加密算法的参数,按照所述预设加密算法,改变所述目标字符串中的字符所对应的ASCII码数值,得到第一加密字符串。
密文生成单元504,用于利用所述第一加密字符串,生成所述目标数据单元的密文。
可选的,密钥生成单元502,具体用于:根据所述五元组,生成目标数列;其中,所述目标数列为自然数数列。
字符转换单元503,具体用于:按照预设选择方式,从所述目标数列中选择两个目标数值。将所述两个目标数值的积与所述目标字符串中的第y个字符所对应的ASCII码数值相加,得到第一数值。将第二数值与32的和,作为所述第一加密字符串中的第y个字符的ASCII码数值;其中,所述第二数值等于所述第一数值减去31之后再除以95后得到的余数。
可选的,字符转换单元503,具体用于:从所述目标数列中选择第a+1个数值和第b+1个数值。
其中,a的取值为y与所述目标数列的总项数求商后得到的余数;b的取值为y+1与所述目标数列的总项数求商后得到的余数。
可选的,密钥生成单元502,具体用于:从所述五元组中提取至少一个自然数,将所述至少一个自然数进行组合,得到初始数列;对所述初始数列中各数值分解质因数,将分解质因数后得到的数值进行组合,得到所述目标数列。
密文生成单元504,具体用于:向所述第一加密字符串中插入随机字符,生成第二加密字符串;转换所述第二加密字符串中的字符位置,生成所述目标数据单元的密文。
可选的,所述加密机50为数据采集商设备。加密机50还包括:接收单元505。
接收单元505,用于在向所述第一加密字符串中插入随机字符,生成第二加密字符串之前,接收运营商设备发送的第二密钥;使用非对称加密算法的私钥将所述第二密钥解封,得到第三密钥;所述第三密钥,用于确定在所述向所述第一加密字符串中插入随机字符时,插入随机字符的字符数以及随机字符插入的位置。所述第三密钥,还用于在所述转换所述第二加密字符串中的字符位置时,确定字符位置变化的规则。
本申请实施例中提供的加密机中各模块所的功能以及所产生的效果可以参照上述实施例一数据加密方法中的对应的描述内容,在此不再赘述。
需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
另外,本申请实施例还提供一种加密机的结构示意图。参照图10所示,其中加密机60包括:处理器601、存储器603和总线604。
可选的,当加密机60需要和其他实体进行通信时,例如加密机60需要与运营商设备进行通信,则如图10所示,加密机60还包括:收发器602。
其中,处理器601、收发器602、存储器603通过总线604相互连接;总线604可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
处理器601可以是一个通用中央处理器(Central Processing Unit,CPU),微处理器,特定应用集成电路(Application-Specific Integrated Circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
存储器603可以是只读存储器(Read-Only Memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(Random Access Memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器603用于存储执行本申请方案的应用程序代码,并由处理器601来控制执行。收发器602用于接收外部设备输入的内容,处理器601用于执行存储器603中存储的应用程序代码,从而实现本申请实施例中提供的数据加密方法。
另外,本申请还提供了一种计算机存储介质,包括指令,当其在加密机上运行时,使得加密机执行上述第一方面所提供的数据加密方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在加密机上运行时,使得加密机执行上述本申请实施例提供的数据加密方法。
实施例四:
本申请实施例提供一种解密机,用于执行上述实施例二所提供的数据解密方法。如图11所示,为本申请实施例提供的解密机的一种可能的结构示意图。具体的,该解密机70包括:获取单元701、密钥生成单元702、密文解析单元703、解密单元704。其中:
获取单元701,用于获取话单数据中目标数据单元所属消息的五元组;其中,在所述话单数据中,所述目标数据单元,用于记录目标字符串;
密钥生成单元702,用于根据所述五元组,生成第一密钥;
获取单元701,还用于获取所述目标数据单元的密文;
密文解析单元703,用于根据所述目标数据单元的密文,得到待解密字符串;
解密单元704,用于将所述第一密钥作为预设解密算法的参数,按照所述预设解密算法,改变所述待解密字符串中的字符所对应的ASCII码数值,得到所述目标字符串。
可选的,密钥生成单元702,具体用于根据所述五元组,生成目标数列;其中,所述目标数列为自然数数列;
解密单元704,具体用于按照预设选择方法,从所述目标数列中选择两个目标数值;利用所述两个目标数值以及所述待解密字符串中的第y个字符所对应的ASCII码数值,计算所述目标字符串中的第y个字符所对应的ASCII码数值;其中,第一数值减去31之后再除以95后得到的余数与32的和,等于所述待解密字符串中第y个字符所对应的ASCII码数值;所述第一数值,等于所述两个目标数值的积与所述目标字符串中的第y个字符所对应的ASCII码数值之和。
可选的,解密单元704,具体用于从所述目标数列中选择第a+1个数值和第b+1个数值。
其中,a的取值为y与所述目标数列的总项数求商后得到的余数;b的取值为y+1与所述目标数列的总项数求商后得到的余数。
可选的,解密单元704,具体用于判断所述待解密字符串中的第y个字符所对应的ASCII码数值与第三数值之差是否大于32;其中,所述第三数值等于所述两个目标数值的积。
解密单元704,还具体用于若所述待解密字符串中的第y个字符所对应的ASCII码数值与第三数值之差大于32,则所述目标字符串中的第y个字符所对应的ASCII码数值,等于所述待解密字符串所对应的ASCII码数值减第三数值再减1。
解密单元704,还具体用于若所述待解密字符串中的第y个字符所对应的ASCII码数值与第三数值之差小于或等于32,则确定所述目标字符串中的第y个字符所对应的ASCII码数值等于第四数值;其中,所述第四数值减去所述待解密字符串所对应的ASCII码数值再加所述第三数值再加1,为95的倍数;并且所述第四数值为[32,126]之间的整数。
密钥生成单元702,具体用于从所述五元组中提取至少一个自然数,将所述至少一个自然数进行组合,得到初始数列;对所述初始数列中各数值分解质因数,将分解质因数后得到的数值进行组合,得到所述目标数列。
密文解析单元703,具体用于转换所述目标数据单元的密文中的字符位置,生成第四加密字符串;去除所述第四加密字符串中的冗余字符,生成待解密字符串。
可选的,所述解密机70为数据使用方设备;解密机70还包括接收单元705。
接收单元705,用于在所述转换所述目标数据单元的密文中的字符位置,生成第四加密字符串之前,接收运营商设备发送的第四密钥;使用非对称加密算法的私钥将所述第四密钥解封,得到第五密钥;所述第五密钥,用于在所述转换所述目标数据单元的密文中的字符位置时,确定字符位置变化的规则。
所述第五密钥,还用于在去除所述第四加密字符串中的冗余字符时,确定所述第四加密字符串中的冗余字符。
本申请实施例中提供的解密机中各模块所的功能以及所产生的效果可以参照上述实施例二数据解密方法中的对应的描述内容,在此不再赘述。
需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
另外,本申请实施例还提供一种解密机的结构示意图。参照图12所示,其中解密机80包括:处理器801、存储器803和总线804。
可选的,当解密机80需要和其他实体进行通信时,例如解密机80需要与运营商设备进行通信,则如图12所示,解密机80还包括:收发器802。
其中,处理器801、收发器802、存储器803通过总线804相互连接;总线804可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
处理器801可以是一个通用中央处理器(Central Processing Unit,CPU),微处理器,特定应用集成电路(Application-Specific Integrated Circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
存储器803可以是只读存储器(Read-Only Memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(Random Access Memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器803用于存储执行本申请方案的应用程序代码,并由处理器801来控制执行。收发器802用于接收外部设备输入的内容,处理器801用于执行存储器803中存储的应用程序代码,从而实现本申请实施例中提供的数据解密方法。
另外,本申请还提供了一种计算机存储介质,包括指令,当其在解密机上运行时,使得解密机执行上述第一方面所提供的数据解密方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在解密机上运行时,使得解密机执行上述本申请实施例提供的数据解密方法。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所有作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户终端线(Digital SubscriberLine,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (14)
1.一种数据加密方法,其特征在于,所述方法包括:
获取话单数据中目标数据单元所属消息的五元组;其中,在所述话单数据中,所述目标数据单元用于记录目标字符串;
根据所述五元组,生成目标数列;其中,所述目标数列为自然数数列;
按照预设选择方式,从所述目标数列中选择两个目标数值;
将所述两个目标数值的积与所述目标字符串中的第y个字符所对应的ASCII码数值相加,得到第一数值;
将第二数值与32的和,作为第一加密字符串中的第y个字符的ASCII码数值;其中,所述第二数值等于所述第一数值减去31之后再除以95后得到的余数;
利用所述第一加密字符串,生成所述目标数据单元的密文。
2.根据权利要求1所述数据加密方法,其特征在于,按照预设选择方法,从所述目标数列中选择两个目标数值,具体包括:从所述目标数列中选择第a+1个数值和第b+1个数值;
其中,a的取值为y与所述目标数列的总项数求商后得到的余数;b的取值为y+1与所述目标数列的总项数求商后得到的余数。
3.根据权利要求1或2所述数据加密方法,其特征在于,所述根据所述五元组,生成目标数列,具体包括:
从所述五元组中提取至少一个自然数,将所述至少一个自然数进行组合,得到初始数列;
对所述初始数列中各数值分解质因数,将分解质因数后得到的数值进行组合,得到所述目标数列。
4.根据权利要求1或2所述数据加密方法,其特征在于,所述利用所述第一加密字符串,生成所述目标数据单元的密文,具体包括:
向所述第一加密字符串中插入随机字符,生成第二加密字符串;
转换所述第二加密字符串中的字符位置,生成所述目标数据单元的密文。
5.根据权利要求4所述数据加密方法,其特征在于,所述数据加密方法应用于数据采集商设备;在向所述第一加密字符串中插入随机字符,生成第二加密字符串之前,所述方法还包括:
接收运营商设备发送的第二密钥;
使用非对称加密算法的私钥将所述第二密钥解封,得到第三密钥;所述第三密钥,用于确定在所述向所述第一加密字符串中插入随机字符时,插入随机字符的字符数以及随机字符插入的位置;
所述第三密钥,还用于在所述转换所述第二加密字符串中的字符位置时,确定字符位置变化的规则。
6.一种数据解密方法,其特征在于,所述方法包括:
获取话单数据中目标数据单元所属消息的五元组;其中,在所述话单数据中,所述目标数据单元,用于记录目标字符串;
根据所述五元组,生成目标数列;其中,所述目标数列为自然数数列;
获取加密话单数据中所述目标数据单元的密文;
根据所述目标数据单元的密文,得到待解密字符串;
按照预设选择方法,从所述目标数列中选择两个目标数值;
利用所述两个目标数值以及所述待解密字符串中的第y个字符所对应的ASCII码数值,计算所述目标字符串中的第y个字符所对应的ASCII码数值;其中,第一数值减去31之后再除以95后得到的余数与32的和,等于所述待解密字符串中第y个字符所对应的ASCII码数值;所述第一数值,等于所述两个目标数值的积与所述目标字符串中的第y个字符所对应的ASCII码数值之和。
7.根据权利要求6所述数据解密方法,其特征在于,按照预设选择方法,从所述目标数列中选择两个目标数值,具体包括:从所述目标数列中选择第a+1个数值和第b+1个数值;
其中,a的取值为y与所述目标数列的总项数求商后得到的余数;b的取值为y+1与所述目标数列的总项数求商后得到的余数。
8.根据权利要求6所述数据解密方法,其特征在于,所述利用所述两个目标数值以及所述目标字符串中的第y个字符所对应的ASCII码数值,计算所述目标字符串中的第y个字符所对应的ASCII码数值,具体包括:
判断所述待解密字符串中的第y个字符所对应的ASCII码数值与第三数值之差是否大于32;其中,所述第三数值等于所述两个目标数值的积;
若所述待解密字符串中的第y个字符所对应的ASCII码数值与第三数值之差大于32,则所述目标字符串中的第y个字符所对应的ASCII码数值,等于所述待解密字符串所对应的ASCII码数值减第三数值再减1。
9.根据权利要求8所述数据解密方法,其特征在于,所述利用所述两个目标数值以及所述目标字符串中的第y个字符所对应的ASCII码数值,计算所述目标字符串中的第y个字符所对应的ASCII码数值,具体包括:
若所述待解密字符串中的第y个字符所对应的ASCII码数值与第三数值之差小于或等于32,则确定所述目标字符串中的第y个字符所对应的ASCII码数值等于第四数值;其中,所述第四数值减去所述待解密字符串所对应的ASCII码数值再加所述第三数值再加1,为95的倍数;并且所述第四数值为[32,126]之间的整数。
10.根据权利要求6-9任一项所述数据解密方法,其特征在于,所述根据所述五元组,生成目标数列,具体包括:
从所述五元组中提取至少一个自然数,将所述至少一个自然数进行组合,得到初始数列;
对所述初始数列中各数值分解质因数,将分解质因数后得到的数值进行组合,得到所述目标数列。
11.根据权利要求6-9任一项所述数据解密方法,其特征在于,所述根据所述目标数据单元的密文,得到待解密字符串,具体包括:
转换所述目标数据单元的密文中的字符位置,生成第四加密字符串;
去除所述第四加密字符串中的冗余字符,生成待解密字符串。
12.根据权利要求11所述数据解密方法,其特征在于,所述数据解密方法应用于数据使用方设备;
在所述转换所述目标数据单元的密文中的字符位置,生成第四加密字符串之前,所述方法还包括:
接收运营商设备发送的第四密钥;
使用非对称加密算法的私钥将所述第四密钥解封,得到第五密钥;所述第五密钥,用于在所述转换所述目标数据单元的密文中的字符位置时,确定字符位置变化的规则;
所述第五密钥,还用于在去除所述第四加密字符串中的冗余字符时,确定所述第四加密字符串中的冗余字符。
13.一种加密机,其特征在于,包括:处理器、存储器、总线和通信接口;所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,当所述加密机运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述加密机执行如上述权利要求1-5任一项所提供的数据加密方法。
14.一种解密机,其特征在于,包括:处理器、存储器、总线和通信接口;所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,当所述解密机运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述解密机执行如上述权利要求6-12任一项所提供的数据解密方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911168889.3A CN110933063B (zh) | 2019-11-25 | 2019-11-25 | 数据加密方法、数据解密方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911168889.3A CN110933063B (zh) | 2019-11-25 | 2019-11-25 | 数据加密方法、数据解密方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110933063A CN110933063A (zh) | 2020-03-27 |
CN110933063B true CN110933063B (zh) | 2022-02-18 |
Family
ID=69851061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911168889.3A Active CN110933063B (zh) | 2019-11-25 | 2019-11-25 | 数据加密方法、数据解密方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110933063B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114978560B (zh) * | 2021-02-24 | 2023-07-18 | 中国联合网络通信集团有限公司 | 明文密码加密解密方法、装置、设备及介质 |
CN113810174A (zh) * | 2021-09-16 | 2021-12-17 | 金蝶软件(中国)有限公司 | 一种数据处理方法以及相关设备 |
CN114221792B (zh) * | 2021-11-23 | 2023-06-16 | 杭州天宽科技有限公司 | 一种互联网数据传输加密系统 |
CN114553511A (zh) * | 2022-02-14 | 2022-05-27 | 山东浪潮通软信息科技有限公司 | 一种基于工业生产的数据安全传输方法、设备及介质 |
CN116074826B (zh) * | 2023-03-07 | 2023-06-23 | 深圳市好盈科技股份有限公司 | 一种应用于电动滑板车的通讯数据加解密方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103853985A (zh) * | 2012-12-05 | 2014-06-11 | 中国移动通信集团黑龙江有限公司 | 数据加密方法、解密方法及装置 |
CN104244235A (zh) * | 2013-06-20 | 2014-12-24 | 中国移动通信集团安徽有限公司 | 一种电信话单敏感信息加密、解密方法及系统 |
CN107517183A (zh) * | 2016-06-15 | 2017-12-26 | 华为技术有限公司 | 加密内容检测的方法和设备 |
CN109450852A (zh) * | 2018-10-09 | 2019-03-08 | 中国科学院信息工程研究所 | 网络通信加密解密方法及电子设备 |
CN110198214A (zh) * | 2019-06-02 | 2019-09-03 | 四川虹微技术有限公司 | 身份标识生成方法、验证方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW566024B (en) * | 2001-07-30 | 2003-12-11 | Nagravision Sa | Method to create a virtual private network through a public network |
US8050404B2 (en) * | 2008-12-29 | 2011-11-01 | Nortel Networks Limited | Bandwidth efficient method and system for obscuring the existence of encryption in a communications channel |
-
2019
- 2019-11-25 CN CN201911168889.3A patent/CN110933063B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103853985A (zh) * | 2012-12-05 | 2014-06-11 | 中国移动通信集团黑龙江有限公司 | 数据加密方法、解密方法及装置 |
CN104244235A (zh) * | 2013-06-20 | 2014-12-24 | 中国移动通信集团安徽有限公司 | 一种电信话单敏感信息加密、解密方法及系统 |
CN107517183A (zh) * | 2016-06-15 | 2017-12-26 | 华为技术有限公司 | 加密内容检测的方法和设备 |
CN109450852A (zh) * | 2018-10-09 | 2019-03-08 | 中国科学院信息工程研究所 | 网络通信加密解密方法及电子设备 |
CN110198214A (zh) * | 2019-06-02 | 2019-09-03 | 四川虹微技术有限公司 | 身份标识生成方法、验证方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110933063A (zh) | 2020-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110933063B (zh) | 数据加密方法、数据解密方法及设备 | |
CN107786331B (zh) | 数据处理方法、装置、系统及计算机可读存储介质 | |
CN106599723B (zh) | 一种文件加密方法及装置、文件解密方法及装置 | |
CN107590396B (zh) | 数据处理方法及装置、存储介质、电子设备 | |
CN107292197B (zh) | 数据加密方法、解密方法、加密装置和解密装置 | |
CN111274611A (zh) | 数据脱敏方法、装置及计算机可读存储介质 | |
CN112287372A (zh) | 用于保护剪贴板隐私的方法和装置 | |
CN105827582A (zh) | 一种通信加密方法、装置和系统 | |
CN112437060B (zh) | 一种数据传输方法、装置、计算机设备及存储介质 | |
CN110061967A (zh) | 业务数据提供方法、装置、设备及计算机可读存储介质 | |
CN104281272A (zh) | 密码输入处理方法及装置 | |
CN108833500B (zh) | 服务调用方法、服务提供方法、数据传递方法和服务器 | |
CN116455572B (zh) | 数据加密方法、装置及设备 | |
CN115941279A (zh) | 数据中用户标识的加解密方法、系统及设备 | |
CN115118520A (zh) | 数据处理方法、装置和服务器 | |
CN113037760B (zh) | 报文发送方法和装置 | |
CN110365468A (zh) | 匿名化处理方法、装置、设备及存储介质 | |
CN108390887A (zh) | 一种电影数据传输方法及装置 | |
CN113904865A (zh) | 一种基于非对称算法的日志传输方法及装置 | |
CN112232639A (zh) | 统计方法、装置和电子设备 | |
CN110717078A (zh) | 美容院店务数据监控方法、装置、设备及介质 | |
CN110784602B (zh) | 软电话通信方法、装置、终端及存储介质 | |
CN116318686B (zh) | 一种数据加密传输方法、装置、电子设备及存储介质 | |
CN115242389B (zh) | 基于多级节点网络的数据混淆传输方法和系统 | |
CN117390687B (zh) | 敏感数据查询方法、装置、存储介质和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |