一种数据加解密方法、装置、电子设备及存储介质与流程

文档序号:32884084发布日期:2023-01-12 21:14阅读:20来源:国知局
一种数据加解密方法、装置、电子设备及存储介质与流程

1.本发明涉及数据加解密技术领域,特别是涉及一种数据加解密方法、一种数据加解密装置、一种电子设备以及一种计算机可读存储介质。


背景技术:

2.随着网络技术的不断发展,网络安全是网络生产过程中很重要的一环,而在数据传输过程中对于参数加密或者数据加密是很常见的安全手段。然而,相关技术往往采用对称加密,并将密钥明文显示,这便会降低针对数据的安全性。


技术实现要素:

3.本发明实施例是提供一种数据加解密方法、装置、电子设备以及计算机可读存储介质,以解决如何提升针对数据的安全性的问题。
4.本发明实施例公开了一种数据加解密方法,所述方法应用于第一设备,所述第一设备具有对应的第二设备,所述第二设备用于按照预设规则从待加密数据中提取出待加密子数据,并将所述待加密子数据发送至所述第一设备,所述方法可以包括:
5.接收由所述第二设备发送的所述待加密子数据;
6.按照预设规则从所述待加密数据中提取出待加密子数据;
7.通过所述待加密子数据确定出第一目标进制,和第二目标进制;
8.通过所述第一目标进制将所述待加密数据转化为第一加密字符串,并通过所述第一加密字符串生成公密钥;
9.通过所述第二目标进制将所述待加密数据转化为第二加密字符串,并通过所述第二加密字符串生成私密钥;
10.将所述公密钥发送至所述第二设备;所述第二设备用于采用所述公密钥对所述待加密数据进行加密,并生成密文;所述第二设备还用于将所述密文发送给第一设备;
11.采用所述私密钥对所述密文进行解密,并将所述密文还原为所述待加密数据。
12.可选地,在所述将所述公密钥发送至所述第二设备的步骤之前,还可以包括:
13.通过所述待加密子数据生成针对所述私密钥的解密标识;所述私密钥和所述解密标识具有第一关联关系;
14.将所述解密标识发送至所述第二设备。
15.可选地,所述密文和所述解密标识具有第二关联关系,所述采用所述私密钥对所述密文进行解密,并将所述密文还原为所述待加密数据的步骤可以包括:
16.采用所述第一关联关系和所述第二关联关系确定出针对所述密文的目标私密钥;
17.采用所述目标私密钥对所述密文进行解密,并将所述密文还原为所述待加密数据。
18.可选地,所述通过所述第一目标进制将所述待加密数据转化为第一加密字符串,并通过所述第一加密字符串生成公密钥的步骤可以包括:
19.生成第一随机数;
20.采用所述第一随机数和所述第一目标进制确定出第三目标进制;
21.采用所述第三目标进制将所述待加密数据转化为第一加密字符串,并通过所述第一加密字符串生成公密钥。
22.可选地,所述通过所述第二目标进制将所述待加密数据转化为第二加密字符串,并通过所述第二加密字符串生成私密钥的步骤可以包括:
23.生成第二随机数;
24.采用所述第二随机数和所述第二目标进制确定出第四目标进制;
25.采用所述第四目标进制将所述待加密数据转化为第二加密字符串,并通过所述第二加密字符串生成私密钥。
26.可选地,所述第一设备配置有用于转化进制的进制池。
27.本发明实施例还公开了一种数据加解密方法,所述方法应用于第二设备,所述第二设备具有对应的第一设备,所述方法可以包括:
28.按照预设规则从待加密数据中提取出待加密子数据;
29.将所述待加密子数据发送至所述第一设备;所述第一设备用于接收由所述第二设备发送的所述待加密子数据;通过所述待加密子数据确定出第一目标进制,和第二目标进制;通过所述第一目标进制将所述待加密数据转化为第一加密字符串,并通过所述第一加密字符串生成公密钥;通过所述第二目标进制将所述待加密数据转化为第二加密字符串,并通过所述第二加密字符串生成私密钥;将所述公密钥发送至所述第二设备;
30.采用所述公密钥对所述待加密数据进行加密,并生成密文;
31.将所述密文发送给第一设备;所述第一设备还用于采用所述私密钥对所述密文进行解密,并将所述密文还原为所述待加密数据。
32.可选地,所述第一设备用于通过所述待加密子数据生成针对所述私密钥的解密标识,并将所述解密标识发送至所述第二设备,所述私密钥和所述解密标识具有第一关联关系,所述方法还可以包括:
33.接收由所述第一设备发送的解密标识。
34.可选地,所述密文和所述解密标识可以具有第二关联关系,所述第一设备用于可以采用所述第一关联关系和所述第二关联关系确定出针对所述密文的目标私密钥,可以采用所述目标私密钥对所述密文进行解密,并将所述密文还原为所述待加密数据。
35.本发明实施例还公开了一种数据加解密装置,所述装置应用于第一设备,所述第一设备具有对应的第二设备,所述第二设备用于按照预设规则从待加密数据中提取出待加密子数据,并将所述待加密子数据发送至所述第一设备,所述装置可以包括:
36.请求加密信息接收模块,用于接收由所述第二设备发送的所述待加密子数据;
37.加密子数据提取模块,用于按照预设规则从所述待加密数据中提取出待加密子数据;
38.第一目标进制确定模块,用于通过所述待加密子数据确定出第一目标进制,和第二目标进制;
39.公密钥生成模块,用于通过所述第一目标进制将所述待加密数据转化为第一加密字符串,并通过所述第一加密字符串生成公密钥;
40.私密钥生成模块,用于通过所述第二目标进制将所述待加密数据转化为第二加密字符串,并通过所述第二加密字符串生成私密钥;
41.公密钥发送模块,用于将所述公密钥发送至所述第二设备;所述第二设备用于采用所述公密钥对所述待加密数据进行加密,并生成密文;所述第二设备还用于将所述密文发送给第一设备;
42.密文解密模块,用于采用所述私密钥对所述密文进行解密,并将所述密文还原为所述待加密数据。
43.可选地,还可以包括:
44.解密标识生成模块,用于通过所述待加密子数据生成针对所述私密钥的解密标识;所述私密钥和所述解密标识具有第一关联关系;
45.解密标识发送模块,用于将所述解密标识发送至所述第二设备。
46.可选地,所述密文和所述解密标识具有第二关联关系,所述密文解密模块可以包括:
47.目标私密钥确定子模块,用于采用所述第一关联关系和所述第二关联关系确定出针对所述密文的目标私密钥;
48.密文解密子模块,用于采用所述目标私密钥对所述密文进行解密,并将所述密文还原为所述待加密数据。
49.可选地,所述公密钥生成模块可以包括:
50.第一随机数生成子模块,用于生成第一随机数;
51.第三目标进制确定子模块,用于采用所述第一随机数和所述第一目标进制确定出第三目标进制;
52.公密钥生成子模块,用于采用所述第三目标进制将所述待加密数据转化为第一加密字符串,并通过所述第一加密字符串生成公密钥。
53.可选地,所述私密钥生成模块可以包括:
54.第二随机数生成子模块,用于生成第二随机数;
55.第四目标进制确定子模块,用于采用所述第二随机数和所述第二目标进制确定出第四目标进制;
56.私密钥生成子模块,用于采用所述第四目标进制将所述待加密数据转化为第二加密字符串,并通过所述第二加密字符串生成私密钥。
57.可选地,所述第一设备可以配置有用于转化进制的进制池。
58.本发明实施例还公开了一种数据加解密装置,所述装置应用于第二设备,所述第二设备具有对应的第一设备,所述装置可以包括:
59.请求加密信息生成模块,用于按照预设规则从待加密数据中提取出待加密子数据;
60.请求加密信息发送模块,用于将所述待加密子数据发送至所述第一设备;所述第一设备用于接收由所述第二设备发送的所述待加密子数据;通过所述待加密子数据确定出第一目标进制,和第二目标进制;通过所述第一目标进制将所述待加密数据转化为第一加密字符串,并通过所述第一加密字符串生成公密钥;通过所述第二目标进制将所述待加密数据转化为第二加密字符串,并通过所述第二加密字符串生成私密钥;将所述公密钥发送
至所述第二设备;
61.密文生成模块,用于采用所述公密钥对所述待加密数据进行加密,并生成密文;
62.密文发送模块,用于将所述密文发送给第一设备;所述第一设备还用于采用所述私密钥对所述密文进行解密,并将所述密文还原为所述待加密数据。
63.可选地,所述第一设备用于通过所述待加密子数据生成针对所述私密钥的解密标识,并将所述解密标识发送至所述第二设备,所述私密钥和所述解密标识具有第一关联关系,所述装置还可以包括:
64.解密标识发送模块,用于接收由所述第一设备发送的解密标识。
65.可选地,所述密文和所述解密标识可以具有第二关联关系,所述第一设备用于可以采用所述第一关联关系和所述第二关联关系确定出针对所述密文的目标私密钥,可以采用所述目标私密钥对所述密文进行解密,并将所述密文还原为所述待加密数据。
66.本发明实施例还公开了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
67.所述存储器,用于存放计算机程序;
68.所述处理器,用于执行存储器上所存放的程序时,实现如本发明实施例所述的方法。
69.本发明实施例还公开了一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本发明实施例所述的方法。
70.本发明实施例包括以下优点:
71.本发明实施例,通过接收由第二设备发送的所述待加密子数据;按照预设规则从待加密数据中提取出待加密子数据;通过待加密子数据确定出第一目标进制,和第二目标进制;通过第一目标进制将待加密数据转化为第一加密字符串,并通过第一加密字符串生成公密钥;通过第二目标进制将待加密数据转化为第二加密字符串,并通过第二加密字符串生成私密钥;采用私密钥对密文进行解密,并将密文还原为待加密数据,从而避免了以对称加密形式对加密数据进行加密,同时还避免了以明文显示密钥,从而提升针对数据的安全性。
附图说明
72.图1是本发明实施例中提供的一种针对第一设备和第二设备的结构示意图;
73.图2是本发明实施例一中提供的一种数据加解密方法的步骤流程图;
74.图3是本发明实施例中提供的另一种数据加解密方法的步骤流程图;
75.图4是本发明实施例中提供的又一种数据加解密方法的步骤流程图;
76.图5是本发明实施例二中提供的一种数据加解密方法的步骤流程图;
77.图6是本发明实施例三中提供的一种数据加解密装置的结构框图;
78.图7是本发明实施例四中提供的一种数据加解密装置的结构框图;
79.图8是本发明各实施例中提供的一种电子设备的硬件结构框图。
具体实施方式
80.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
81.在实际应用中,随着网络技术的不断发展,网络安全是网络生产过程中很重要的一环,而在数据传输过程中对于参数加密或者数据加密是很常见的安全手段。在传统电信行业,手机号往往是用户各种信息的载体,获取用户的手机号就可以获取用户大量的信息,相关技术采用的加密算法绝大多数都是统一的加密方法,加密秘钥也几乎是动态不变的,无法适应电信行业对于用户隐私数据的保护,本发明实施例的重要核心之一在于,提出的基于进制转换的待加密数据动态加密解密算法,采用非对称加解密方式通过对待加密数据进行不同的进制转换生成公钥和私钥,从而实现每次请求根据手机号的不同而不同,进而极大的提高了用户隐私保护的安全等级。
82.本发明实施例所提供的数据加解密方法,可以应用于如图1所示的应用环境中。其中,第一设备102均通过网络与第二设备104进行通信。具体地,第一设备102可以接收由第二设备104发送的请求加密信息,以及,与请求加密信息对应的待加密数据;第一设备102可以按照预设规则从待加密数据中提取出待加密子数据;第一设备102可以通过待加密子数据确定出第一目标进制,和第二目标进制;第一设备102可以通过第一目标进制将待加密数据转化为第一加密字符串,并通过第一加密字符串生成公密钥;第一设备102可以通过第二目标进制将待加密数据转化为第二加密字符串,并通过第二加密字符串生成私密钥;第一设备102可以将公密钥发送至第二设备104;第二设备104可以用于采用公密钥对待加密数据进行加密,并生成密文;第二设备104还可以用于将密文发送给第一设备102;第一设备102可以采用私密钥对密文进行解密,并将密文还原为待加密数据。
83.实际应用中,终端设备102可以包括但不限于解密服务器,第二设备104可以是数据加密设备。
84.实施例一
85.参照图2,示出了本发明实施例一中提供的一种数据加解密方法的步骤流程图,具体可以包括如下步骤:
86.步骤201,接收由所述第二设备发送的所述待加密子数据;
87.步骤202,按照预设规则从所述待加密数据中提取出待加密子数据;
88.步骤203,通过所述待加密子数据确定出第一目标进制,和第二目标进制;
89.步骤204,通过所述第一目标进制将所述待加密数据转化为第一加密字符串,并通过所述第一加密字符串生成公密钥;
90.步骤205,通过所述第二目标进制将所述待加密数据转化为第二加密字符串,并通过所述第二加密字符串生成私密钥;
91.步骤206,将所述公密钥发送至所述第二设备;所述第二设备用于采用所述公密钥对所述待加密数据进行加密,并生成密文;所述第二设备还用于将所述密文发送给第一设备;
92.步骤207,采用所述私密钥对所述密文进行解密,并将所述密文还原为所述待加密数据。
93.在具体实现中,本发明实施例的第一设备可以是解密设备,例如,解密服务器,第
二设备可以是加密设备。
94.本发明实施例可以由第二设备生成请求加密信息,请求加密信息具有对应的待加密数据,第二设备还可以响应请求加密信息,按照预设规则从待加密数据中提取出待加密子数据,然后可以向第一设备发送请求加密信息和所述待加子密数据,例如,第二设备可以获取用户的手机号,当用户有对该手机号进行加密的需求时,第二设备可以生成与该手机号对应的请求加密信息,假设用户的手机号为19110411217,第二设备可以响应请求加密信息,提取19110411217的后四位“1217”作为待加密子数据,并将该请求加密信息和待加密子数据“1217”发送给第一设备。
95.当然,上述例子仅作为示例,本领域技术人员可以提取任意数位的数字作为待加密子数据,对此,本发明实施例不作限定。
96.在提取出待加密子数据后,本发明实施例的第一设备可以响应请求加密信息生成针对待加密数据的密钥,具体地,可以通过待加密子数据确定出第一目标进制,和第二目标进制。可选地,第一目标进制和第二目标进制为2至36进制中的任意进制。
97.例如,假设用户的手机号为19110411217,第二设备可以响应请求加密信息,提取19110411217的后四位“1217”作为待加密子数据,并将待加密子数据发送给第一设备;假设待加密子数据1217”的第一位a=1,第二位b=2,第三位c=1,第四位d=7,第一设备可以确定出第一目标进制(公钥进制)a=1*1+(1+1)=3,第二目标进制(私钥进制)b=2*7+(2+7)=23。
98.当然,上述例子仅作为示例,本领域技术人员可以通过其他算法实现通过待加密子数据确定出第一目标进制和第二目标进制,对此,本发明实施例不作限制。
99.对称加密算法在加密和解密时使用的是同一个秘钥;而非对称加密算法需要两个密钥来进行加密和解密,这两个密钥是公开密钥(public key,简称公密钥)和私有密钥(private key,简称私密钥)。
100.与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。
101.数据的加密和解密过程是通过密码体制和密钥来控制的。密码体制的安全性依赖于密钥的安全性,现代密码学不追求加密算法的保密性,而是追求加密算法的完备,即:使攻击者在不知道密钥的情况下,没有办法从算法找到突破口。根据加解密算法所使用的密钥是否相同,或能否由加(解)密密钥简单地求得解(加)密密钥。密码体制可分为对称密码体制和非对称密码体制。
102.非对称密码体制也叫公钥加密技术,该技术是针对私钥密码体制(对称加密算法)的缺陷被提出来的。与对称密码体制不同,公钥加密系统中,加密和解密是相对独立的,加密和解密会使用两把不同的密钥,加密密钥(公开密钥)向公众公开,谁都可以使用,解密密钥(秘密密钥)只有解密人自己知道,非法使用者根据公开的加密密钥无法推算出解密密钥,这样就大大加强了信息保护的力度。公钥密码体制不仅解决了密钥分配的问题,它还为签名和认证提供了手段。
103.在确定出第一目标进制后,本发明实施例可以通过第一目标进制将待加密数据转化为第一加密字符串,并通过第一加密字符串生成公密钥。
104.例如,假设用户的手机号为19110411217,第二设备可以响应请求加密信息,提取19110411217的后四位“1217”作为待加密子数据,并将待加密子数据发送给第一设备;假设待加密子数据1217”的第一位a=1,第二位b=2,第三位c=1,第四位d=7,第一设备可以确定出第一目标进制(公钥进制)a=1*1+(1+1)=3,第一设备还可以将19110411217进行3进制转化生成字符串“1211022211121110212001”作为第一加密字符串,为了将其与私密钥区分,可以为其配置标识“g”生成公密钥“g1211022211121110212001”。
105.在确定出第二目标进制后,本发明实施例可以通过第二目标进制将待加密数据转化为第二加密字符串,并通过第二加密字符串生成私密钥。
106.例如,假设用户的手机号为19110411217,第二设备可以响应请求加密信息,提取19110411217的后四位“1217”作为待加密子数据,并将待加密子数据发送给第一设备;假设待加密子数据1217”的第一位a=1,第二位b=2,第三位c=1,第四位d=7,第一设备可以确定出第二目标进制(私钥进制)b=2*7+(2+7)=23,同时,第一设备可以将19110411217进行23进制转化生成字符串“5e235g15”作为第二加密字符串,为了将其与公密钥区分,可以为其配置标识“s”生成私密钥“s5e235g15”。
107.在生成公密钥和私密钥后,本发明实施例可以将公密钥发送至第二设备,第二设备则可以采用公密钥对待加密数据进行加密,并生成密文,当需要对该密文进行解密时,第二设备可以将密文发送给第一设备,第一设备则可以采用私密钥对密文进行解密,并将密文还原为待加密数据。
108.本发明实施例,通过接收由第二设备发送的所述待加密子数据;按照预设规则从待加密数据中提取出待加密子数据;通过待加密子数据确定出第一目标进制,和第二目标进制;通过第一目标进制将待加密数据转化为第一加密字符串,并通过第一加密字符串生成公密钥;通过第二目标进制将待加密数据转化为第二加密字符串,并通过第二加密字符串生成私密钥;采用私密钥对密文进行解密,并将密文还原为待加密数据,从而避免了以对称加密形式对加密数据进行加密,同时还避免了以明文显示密钥,从而提升针对数据的安全性。
109.在上述实施例的基础上,提出了上述实施例的变型实施例,在此需要说明的是,为了使描述简要,在变型实施例中仅描述与上述实施例的不同之处。
110.在本发明的一个可选地实施例中,在所述将所述公密钥发送至所述第二设备的步骤之前,还包括:
111.通过所述待加密子数据生成针对所述私密钥的解密标识;所述私密钥和所述解密标识具有第一关联关系;
112.将所述解密标识发送至所述第二设备;
113.所述密文和所述解密标识具有第二关联关系,所述采用所述私密钥对所述密文进行解密,并将所述密文还原为所述待加密数据的步骤包括:
114.采用所述第一关联关系和所述第二关联关系确定出针对所述密文的目标私密钥;
115.采用所述目标私密钥对所述密文进行解密,并将所述密文还原为所述待加密数据。
116.在实际应用中,第一设备和第二设备在通常情况下不止针对一个待加密数据进行加解密,所以,本发明实施例可以在将公密钥发送至第二设备之前,先采用第一设备通过待加密子数据生成针对私密钥的和私密钥具有第一关联关系的解密标识,然后第一设备可以将解密标识发送至第二设备,第二设备在接收由第一设备发送的解密标识,且在第二设备生成与解密标识具有第二关联关系的密文后,第二设备可以把密文和解密标识打包一起发给第一设备,第一设备则可以通过解密标识与密文之间的第二关联关系,以及,解密标识与私密钥之间的第一关联关系,从多个私密钥中确定出目标私密钥,并通过目标私密钥对这个密文进行解密。
117.在具体实现中,解密标识可以为键值对key-value,key-value的本意是钥匙和值的意思,在计算机应用中通常被用作键值对,而在键值对中,value则可以为值,所以,本发明实施例可以采用私密钥作为value,在确定目标私密钥时,可以通过value作为第一关联关系从诸多私密钥中确定出目标私密钥,而key则可以是公密钥,或是其他能够与用于建立第二关联关系的值。
118.本发明实施例通过在所述将所述公密钥发送至所述第二设备的步骤之前,通过所述待加密子数据生成针对所述私密钥的解密标识;所述私密钥和所述解密标识具有第一关联关系;将所述解密标识发送至所述第二设备;所述密文和所述解密标识具有第二关联关系,采用所述第一关联关系和所述第二关联关系确定出针对所述密文的目标私密钥;采用所述目标私密钥对所述密文进行解密,并将所述密文还原为所述待加密数据,实现了在针对多个待加密数据进行加解密时,也可以保证能够快速确定出与密文相对应的私密钥,从而提高了对加密数据进行解密时的效率。
119.在本发明的一个可选地实施例中,所述通过所述第一目标进制将所述待加密数据转化为第一加密字符串,并通过所述第一加密字符串生成公密钥的步骤包括:
120.生成第一随机数;
121.采用所述第一随机数和所述第一目标进制确定出第三目标进制;
122.采用所述第三目标进制将所述待加密数据转化为第一加密字符串,并通过所述第一加密字符串生成公密钥。
123.在实际应用中,相关技术会采用“固定密钥”的方式对数据进行加密,例如,每次对于同一个手机号码进行加密时,生成的密钥都相同,即,现有技术并没有对密钥进行更新的机制无法适应手机号加密要求的安全等级,所以,本发明实施例可以生成第一随机数,然后采用第一随机数和第一目标进制确定出第三目标进制,再采用第三目标进制将待加密数据转化为第一加密字符串,并通过第一加密字符串生成公密钥。
124.例如,假设用户的手机号为19110411217,第二设备可以响应请求加密信息,提取19110411217的后四位“1217”作为待加密子数据,并将待加密子数据发送给第一设备;假设待加密子数据1217”的第一位a=1,第二位b=2,第三位c=1,第四位d=7,第一设备可以确定出第一目标进制(公钥进制)a=1*1+(1+1)=3,然后生成第一随机数6,3+6=9,第一设备还可以将19110411217进行9进制转化生成字符串“54284543761”作为第一加密字符串,为了将其与私密钥区分,可以为其配置标识“g”生成公密钥“g54284543761”。
125.当然,本领域技术人员可以基于其他算法采用所述第一随机数和所述第一目标进制确定出第三目标进制,对此,本发明实施例不作限制。
126.本发明实施例,通过生成第一随机数;采用所述第一随机数和所述第一目标进制确定出第三目标进制;采用所述第三目标进制将所述待加密数据转化为第一加密字符串,并通过所述第一加密字符串生成公密钥,避免采用固定密钥的生成公密钥,从而更进一步地提升了针对待加密数据的安全性。
127.在本发明的一个可选地实施例中,所述通过所述第二目标进制将所述待加密数据转化为第二加密字符串,并通过所述第二加密字符串生成私密钥的步骤包括:
128.生成第二随机数;
129.采用所述第二随机数和所述第二目标进制确定出第四目标进制;
130.采用所述第四目标进制将所述待加密数据转化为第二加密字符串,并通过所述第二加密字符串生成私密钥。
131.在实际应用中,相关技术会采用“固定密钥”的方式对数据进行加密,例如,每次对于同一个手机号码进行加密时,生成的密钥都相同,即,现有技术并没有对密钥进行更新的机制无法适应手机号加密要求的安全等级,所以,本发明实施例可以生成第二随机数,然后采用第二随机数和第二目标进制确定出第四目标进制,再采用第四目标进制将待加密数据转化为第二加密字符串,并通过第二加密字符串生成私密钥。
132.例如,假设用户的手机号为19110411217,第二设备可以响应请求加密信息,提取19110411217的后四位“1217”作为待加密子数据,并将待加密子数据发送给第一设备;假设待加密子数据1217”的第一位a=1,第二位b=2,第三位c=1,第四位d=7,第一设备可以确定出第二目标进制(私钥进制)b=2*7+(2+7)=23,生成第二随机数2,23+2=25,第一设备还可以将19110411217进行25进制转化生成字符串“336mg7nh”作为第二加密字符串,为了将其与公密钥区分,可以为其配置标识“s”生成私密钥“s336mg7nh”。
133.当然,本领域技术人员可以基于其他算法采用所述第二随机数和所述第二目标进制确定出第四目标进制,对此,本发明实施例不作限制。
134.本发明实施例,通过生成第二随机数,然后采用第二随机数和第二目标进制确定出第四目标进制,再采用第四目标进制将待加密数据转化为第二加密字符串,并通过第二加密字符串生成私密钥,避免采用固定密钥的生成私密钥,从而更进一步地提升了针对待加密数据的安全性。
135.可选地,本发明实施例在采用私密匙对加密数据进行解密后,删除私密钥和公密钥。本发明实施例可以在采用私密匙对加密数据进行解密后销毁私密钥和公密钥,从而进一步地保证了针对待加密数据的安全性。
136.在本发明的一个可选地实施例中,,所述第一设备配置有用于转化进制的进制池。
137.在实际应用中,若果每次在进制转化时都需要通过人工完成会导致成本增高且效率低下,所以,本发明实施例可以为第一设备配置用于转化进制的进制池,当需要对数据进行进制转化时可以通过以下公式自动生成第一加密字符串,和/或,第二加密字符串。
138.进制转化公式:
139.abcd=a*x
(n-1)
+b*x
(n-1)
+c*x
(n-1)
140.其中,x代表进制,n代表位数。
141.为使本领域技术人员更好的理解本发明实施例,以下用一完整示例对本发明实施例进行说明。
142.参考图3,图3是本发明实施例中提供的另一种数据加解密方法的步骤流程图,本发明实施例的解密方(第一设备)可以配置有用于向加密方(第二设备)发送公密钥的数据接口,加密方进行数据加密之前可以先访问数据接口获取公钥和解密id,加密方进行加密数据传输的时候需要携带解密id,解密方通过解密id获取私钥,进行解密。
143.具体地,可以参考图4,图4是本发明实施例中提供的又一种数据加解密方法的步骤流程图,第一设备可以生成进制池;假设用户的手机号为19110411217,第二设备可以响应请求加密信息,提取19110411217的后四位“1217”作为待加密子数据,并将待加密子数据发送给第一设备,假设后四位“1217”的第一位a=1,第二位b=2,第三位c=1,第四位d=7,第一设备可以确定出第一目标进制(公钥进制)a=1*1+(1+1)=3,然后生成第一随机数6,3+6=9,则可以将19110411217进行9进制转化生成字符串“54284543761”作为第一加密字符串,为了将其与私密钥区分,可以为其配置标识“g”生成公密钥“g54284543761”;第一设备还可以确定出第二目标进制(私钥进制)b=2*7+(2+7)=23,生成第二随机数2,23+2=25,则可以将19110411217进行25进制转化生成字符串“336mg7nh”作为第二加密字符串,为了将其与公密钥区分,可以为其配置标识“s”生成私密钥“s336mg7nh”,其中,进制数最小为二进制,最大为三十六进制,此过程可以由设置于解密方的进制池基于进制转换公式完成;生成键值对key-value作为解密id,可以将value作为第一关联关系从诸多私密钥中确定出目标私密钥,而key则可以是公密钥,或是其他能够与用于建立第二关联关系的值;解密方将公密钥和解密id发送给加密方,加密方通过公密钥对手机号进行加密;当数据传输方加密完成之后,需要传输解密id给数据接收方,解密id唯一且只可使用一次;数据接收方通过解密进制id请求私钥获取方法,通过进制id确定解密进制,生成私钥后进行解密,解密完成后,销毁公密钥和私密钥。
144.进制转换公式:
145.abcd=a*x
(n-1)
+b*x
(n-1)
+c*x
(n-1)
146.其中,x代表进制,n代表位数。
147.通过以上方式,在避免了对称加密的前提下,避免了明文显示密钥,并且实现了一个请求分配一对公钥私钥,每次请求都可以重新生成,使用后进行销毁,就算秘钥被攻破或者泄露也只会损失单个用户的数据,更好的保护了用户数据的安全,极大的提高了手机号加密的安全等级。
148.实施例二
149.参照图5,示出了本发明实施例二中提供的一种数据加解密方法的步骤流程图,具体可以包括如下步骤:
150.步骤501,按照预设规则从待加密数据中提取出待加密子数据;
151.步骤502,将所述待加密子数据发送至所述第一设备;
152.步骤503,采用所述公密钥对所述待加密数据进行加密,并生成密文;
153.步骤504,将所述密文发送给第一设备;所述第一设备还用于采用所述私密钥对所述密文进行解密,并将所述密文还原为所述待加密数据。
154.在具体实现中,本发明实施例可以应用于第二设备,具体地,第二设备可以是加密方设备,例如,加密服务器、加密终端设备等等,第一设备可以用于接收由所述第二设备发送的所述待加密子数据;通过所述待加密子数据确定出第一目标进制,和第二目标进制;通
过所述第一目标进制将所述待加密数据转化为第一加密字符串,并通过所述第一加密字符串生成公密钥;通过所述第二目标进制将所述待加密数据转化为第二加密字符串,并通过所述第二加密字符串生成私密钥;将所述公密钥发送至所述第二设备。
155.在本发明的一个可选地实施例中,所述第一设备用于通过所述待加密子数据生成针对所述私密钥的解密标识,并将所述解密标识发送至所述第二设备,所述私密钥和所述解密标识具有第一关联关系,所述方法还包括:
156.接收由所述第一设备发送的解密标识。
157.在本发明的一个可选地实施例中,所述密文和所述解密标识具有第二关联关系,所述第一设备用于采用所述第一关联关系和所述第二关联关系确定出针对所述密文的目标私密钥,采用所述目标私密钥对所述密文进行解密,并将所述密文还原为所述待加密数据。
158.本发明实施例通过按照预设规则从待加密数据中提取出待加密子数据;将所述待加密子数据发送至所述第一设备;所述第一设备用于接收由所述第二设备发送的所述待加密子数据;通过所述待加密子数据确定出第一目标进制,和第二目标进制;通过所述第一目标进制将所述待加密数据转化为第一加密字符串,并通过所述第一加密字符串生成公密钥;通过所述第二目标进制将所述待加密数据转化为第二加密字符串,并通过所述第二加密字符串生成私密钥;将所述公密钥发送至所述第二设备;采用所述公密钥对所述待加密数据进行加密,并生成密文;将所述密文发送给第一设备;所述第一设备还用于采用所述私密钥对所述密文进行解密,并将所述密文还原为所述待加密数据,从而避免了以对称加密形式对加密数据进行加密,同时还避免了以明文显示密钥,从而提升针对数据的安全性。
159.对于实施例二而言,由于其与第一设备侧的实施例一基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
160.需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
161.实施例三
162.参照图6,示出了本发明实施例三中提供的一种数据加解密装置的结构框图,具体可以包括如下模块:
163.请求加密信息接收模块601,用于接收由所述第二设备发送的所述待加密子数据;
164.加密子数据提取模块602,用于按照预设规则从所述待加密数据中提取出待加密子数据;
165.第一目标进制确定模块603,用于通过所述待加密子数据确定出第一目标进制,和第二目标进制;
166.公密钥生成模块604,用于通过所述第一目标进制将所述待加密数据转化为第一加密字符串,并通过所述第一加密字符串生成公密钥;
167.私密钥生成模块605,用于通过所述第二目标进制将所述待加密数据转化为第二加密字符串,并通过所述第二加密字符串生成私密钥;
168.公密钥发送模块606,用于将所述公密钥发送至所述第二设备;所述第二设备用于采用所述公密钥对所述待加密数据进行加密,并生成密文;所述第二设备还用于将所述密文发送给第一设备;
169.密文解密模块607,用于采用所述私密钥对所述密文进行解密,并将所述密文还原为所述待加密数据。
170.实施例四
171.参照图7,示出了本发明实施例四中提供的一种数据加解密装置的结构框图,具体可以包括如下模块:
172.请求加密信息生成模块701,用于按照预设规则从待加密数据中提取出待加密子数据;
173.请求加密信息发送模块702,用于将所述待加密子数据发送至所述第一设备;所述第一设备用于接收由所述第二设备发送的所述待加密子数据;通过所述待加密子数据确定出第一目标进制,和第二目标进制;通过所述第一目标进制将所述待加密数据转化为第一加密字符串,并通过所述第一加密字符串生成公密钥;通过所述第二目标进制将所述待加密数据转化为第二加密字符串,并通过所述第二加密字符串生成私密钥;将所述公密钥发送至所述第二设备;
174.密文生成模块703,用于采用所述公密钥对所述待加密数据进行加密,并生成密文;
175.密文发送模块704,用于将所述密文发送给第一设备;所述第一设备还用于采用所述私密钥对所述密文进行解密,并将所述密文还原为所述待加密数据。
176.对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
177.另外,本发明实施例还提供了一种电子设备,包括:处理器,存储器,存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述数据加解密方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
178.本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述数据加解密方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等。
179.图8为实现本发明各个实施例的一种电子设备的硬件结构示意图。
180.该电子设备800包括但不限于:射频单元801、网络模块802、音频输出单元803、输入单元804、传感器805、显示单元806、用户输入单元807、接口单元808、存储器809、处理器810、以及电源811等部件。本领域技术人员可以理解,图8中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,电子设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
181.应理解的是,本发明实施例中,射频单元801可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器810处理;另外,将上行的
数据发送给基站。通常,射频单元801包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元801还可以通过无线通信系统与网络和其他设备通信。
182.电子设备通过网络模块802为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
183.音频输出单元803可以将射频单元801或网络模块802接收的或者在存储器809中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元803还可以提供与电子设备800执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元803包括扬声器、蜂鸣器以及受话器等。
184.输入单元804用于接收音频或视频信号。输入单元804可以包括图形处理器(graphics processing unit,gpu)8041和麦克风8042,图形处理器8041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元806上。经图形处理器8041处理后的图像帧可以存储在存储器809(或其它存储介质)中或者经由射频单元801或网络模块802进行发送。麦克风8042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元801发送到移动通信基站的格式输出。
185.电子设备800还包括至少一种传感器805,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板8061的亮度,接近传感器可在电子设备800移动到耳边时,关闭显示面板8061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别电子设备姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器805还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
186.显示单元806用于显示由用户输入的信息或提供给用户的信息。显示单元806可包括显示面板8061,可以采用液晶显示器(liquid crystal display,lcd)、有机发光二极管(organic light-emitting diode,oled)等形式来配置显示面板8061。
187.用户输入单元807可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元807包括触控面板8071以及其他输入设备8072。触控面板8071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板8071上或在触控面板8071附近的操作)。触控面板8071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器810,接收处理器810发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板8071。除了触控面板8071,用户输入单元807还可以包括其他输入设备8072。具体地,其他输入设备8072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
188.进一步的,触控面板8071可覆盖在显示面板8061上,当触控面板8071检测到在其
上或附近的触摸操作后,传送给处理器810以确定触摸事件的类型,随后处理器810根据触摸事件的类型在显示面板8061上提供相应的视觉输出。虽然在图8中,触控面板8071与显示面板8061是作为两个独立的部件来实现电子设备的输入和输出功能,但是在某些实施例中,可以将触控面板8071与显示面板8061集成而实现电子设备的输入和输出功能,具体此处不做限定。
189.接口单元808为外部装置与电子设备800连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(i/o)端口、视频i/o端口、耳机端口等等。接口单元808可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到电子设备800内的一个或多个元件或者可以用于在电子设备800和外部装置之间传输数据。
190.存储器809可用于存储软件程序以及各种数据。存储器809可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器809可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
191.处理器810是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器809内的软件程序和/或模块,以及调用存储在存储器809内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。处理器810可包括一个或多个处理单元;优选的,处理器810可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器810中。
192.电子设备800还可以包括给各个部件供电的电源811(比如电池),优选的,电源811可以通过电源管理系统与处理器810逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
193.另外,电子设备800包括一些未示出的功能模块,在此不再赘述。
194.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
195.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
196.上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员
在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
197.本领域普通技术人员可以意识到,结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
198.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
199.在本技术所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
200.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
201.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
202.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
203.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1