一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数字加解密方法、装置、终端设备及存储介质与流程

2022-02-20 20:29:36 来源:中国专利 TAG:


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.图1示出了本发明实施例一提供的一种数字加密方法的流程图;
33.图2示出了本发明实施例二提供的一种数字加密方法的流程图;
34.图3示出了本发明实施例三提供的一种数字加密方法的流程图;
35.图4示出了本发明实施例四提供的一种数字解密方法的流程图;
36.图5示出了本发明实施例五提供的一种数字解密方法的流程图;
37.图6示出了本发明实施例六提供的一种数字解密方法的流程图;
38.图7示出了本发明实施例七提供的一种数字加解密方法的流程示意图;
39.图8示出了本发明实施例八提供的一种数字加密装置的结构示意图;
40.图9示出了本发明实施例九提供的一种数字解密装置的结构示意图;
41.图10示出了本发明实施例十提供的一种终端设备的硬件结构示意图。
具体实施方式
42.为使本发明的目的、技术方案和优点更加清楚,以下将参照本发明实施例中的附图,通过实施方式清楚、完整地描述本发明的技术方案,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。下述各实施例中,每个实施例中同时提供了可选特征和示例,实施例中记载的各个特征可进行组合,形成多个可选方案,不应将每个编号的实施例仅视为一个技术方案。
43.实施例一
44.图1示出了本发明实施例一提供的一种数字加密方法的流程图。本发明实施例提供的数字加解密方法可适用于对数字进行加密的情况。该方法可由数字加密装置来执行,该装置采用软件和/或硬件的方式实现,优选是配置于终端设备中,例如配置于计算机等终端设备中。
45.如图1所示,本发明实施例中提供的数字加密方法,包括如下步骤:
46.s110、将待加密数字进行位数补齐,并将补齐后的数字进行对称分割,得到第一高位数字和第一低位数字。
47.本发明实施例中,待加密数字可以是传输、展示或存储等过程中任何需要保证安全性的数字,且可以包含多位数字。例如,在一些实现方式中,待加密数字可以包括网址中的数字。通过将网址中的一些关键数字进行加密,能够防止外界爬虫通过简单的穷举页面网址的方式,对网站中的网页信息进行遍历抓取,从而能够在一定程度上保护网站页面信息的安全性。
48.其中,在预先设计数字加密方法时,可以基于对加密方法中涉及的加密算法能稳定解密的考量,设置待加密数字需要满足的位数条件。相应的,在根据加密方法对待加密数字进行加密过程中,若待加密数字未达到预设的位数条件,则可以根据预设的位数条件,将待加密数字进行左侧补零,以将待加密数字进行位数补齐。
49.其中,预设的位数条件可以为偶位数。相应的,将补齐后的数字进行对称分割后,可以获得位数相同的两组数字。其中,两组数字可以按“个、十、百、千...”的由低到高的位顺序,进行低位数字和高位数字的划分,且低位数字和高位数字的划分是相对的。例如,若两组数字分别包含两位,则“个、十”位的数字为低位数字,“百、千”位的数字为高位数字;若分割后的两组数字分别包含三位,则“个、十、百”位的数字为低位数字,“千、万、十万”位的数字为高位数字。
50.在划分得到高位数字和低位数字后,可以按由高到低的位顺序,将每组数字进行组合,得到第一高位数字和第一低位数字。例如,若两组数字分别包含两位,“个、十”位的数字分别为“1、2”,“百、千”位的数字分别为“3、4”,则可以由高到低的位顺序组合低位数字得到第一低位数字为“21”,且由高到低的位顺序组合高位数字得到第一高位数字为“43”。
51.s120、针对第一高位数字和第一低位数字中各数字,基于第一数字表对各数字进行置换加密,得到第二高位数字和第二低位数字。
52.本实施例中,可以基于第一数字表对第一高位数字和第二高位数字中的每位数字进行置换加密。其中,基于第一数字表对每位数字进行置换加密,可以认为是从第一置换表中查找与每位数字对应的数字,根据对应的数字对每位数字进行置换,得到置换后的数字。其中,在得到每位数字置换后的数字后,可以按照置换前每位数字所在的第一高位数字或第一低位数字中的位置,对置换后的数字进行组合,从而得到第二高位数字和第二低位数字。
53.其中,该置换加密的过程为可逆过程,基于同一第一数字表可实现根据置换后的数字,确定置换前的数字。从而有利于数字加密后进行稳定的解密。
54.s130、根据第二高位数字和第二低位数字确定原文和密钥,并利用密钥对原文加密,得到原文的密文。
55.本实施例中,可以将第二高位数字作为原文,将第二低位数字作为密钥;也可以将第二低位数字作为原文,将第二高位数字作为密钥。其中,可以是基于将数字加密为数字的可逆加密算法,利用密钥对原文进行加密。其中,将数字加密为数字的可逆加密算法,例如可以是基于异或、凯撒加密或维吉尼亚加密等算法,在此不做穷举。
56.s140、根据密文和密钥,得到待加密数字的加密结果。
57.本实施例中,可以将密文和密钥进行拼接,得到待加密数字的加密结果。通过利用第一数字表的置换混淆加密,与密钥加密相结合,能够实现稳定的加解密过程,且增强了加密强度,提高了数字安全性。
58.在一些可选的实施方式中,基于第一数字表对各数字进行置换加密,包括:根据当前数字确定第一数字表的第一索引位置;根据第一索引位置对第一数字表进行索引,得到当前数字的补位数字;利用补位数字对当前数字进行补位,得到当前数字经置换加密后的数字。
59.其中,第一数字表可以为二维的数字表格。相应的,第一数字表的第一索引位置可以为二维坐标,其中第一维坐标值和第二维坐标值可以表征表格的行序号和列序号。由于第一索引位置根据当前数字确定,当前数字可以为0-9,则第一索引位置的二维坐标中,行序号可以为0-9,列序号可以为0-9,即第一数字表可以为10
×
10的数字表。
60.其中,可以根据当前数字进行运算,确定第一索引位置。例如,可以将当前数字直接作为第一索引位置中的第一维坐标值,将当前数字减1作为第一索引位置中的第二维坐标值;又如,可以将当前数字减1作为第一索引位置中的第一维坐标值,将当前数字直接作为第一索引位置中的第二维坐标值,在此不做穷举。
61.在确定第一索引位置后,可以根据第一索引位置查找第一数字表,得到与当前数字对应的补位数字。并且可以将补位数字补在当前数字的左侧或右侧,根据补位后的数字置换当前数字,得到当前数字经置换加密后的数字。
62.示例性的,表1示出了本发明实施例提供的一种数字加密方法中第一数字表的示例表。参见表1,第一数字表为10
×
10的数字表,第一索引位置中行索引号和列索引号可以为0-9。
63.表1
64.61352084793729058461
71589206343287105649095731284664079385126374180295013279685418705954364729083156
65.假设第一高位数字为68,则基于表1的第一数字表,对第一高位数字进行加密,得到第二高位数字的过程,可以包括:
66.针对数字6,可以将6直接作为第一索引位置中的第一维坐标值,将6减1作为第一索引位置中的第二维坐标值,即第一索引位置为[6,5]。可以利用[6,5]对表1进行查找,得到补位数字为8。可以将补位数字8补在6的右侧,得到6经置换加密后的数字68;
[0067]
针对数字8,可以将8直接作为第一索引位置中的第一维坐标值,将8减1作为第一索引位置中的第二维坐标值,即第一索引位置为[8,7]。可以利用[8,7]对表1进行查找,得到补位数字为4。可以将补位数字4补在8的右侧,得到8经置换加密后的数字84;
[0068]
根据6、8所在的第一高位数字中的位置,对置换后的数字68、84进行组合,从而得到第二高位数字6884。
[0069]
在这些可选的实施方式中,通过第一数字表置换加密,能够对第一高位数字和第一低位数字进行混淆加密,并且能够实现稳定的可逆解密。
[0070]
在一些可选的实施方式中,利用密钥对原文加密,包括:判断原文和密钥是否包含于第二数字表;若是,则根据原文和密钥确定第二数字表的第二索引位置;根据第二索引位置对第二数字表进行索引,得到与原文对应的密文。
[0071]
其中,可以利用维吉尼亚加密算法,根据密钥对原文进行加密。且加密过程,可以包括:获取与维吉尼亚算法对应的第二数字表,该第二数字表的行索引、列索引和表中内容,可皆为数字;判断原文和密钥是否分别包含于行索引和列索引,或者判断原文和密钥是否分别包含于列索引和行索引;若是,则可以将原文作为第二索引位置中的行索引号,将密钥作为第二索引位置中的列索引号,或者将原文作为第二索引位置中的列索引号,将密钥作为第二索引位置中的行索引号;根据第二索引位置查找与原文对应的密文。
[0072]
其中,若判断原文和密钥不包含于第二数字表,则可以进行加密失败的相关提示,以提示对待加密数据进行修正。
[0073]
在这些可选的实施方式中,维吉尼亚加密算法可以由java实现,通过基于维吉尼亚算法中对称的密钥和对应的第二数字表,能够实现原文和密文中数字的稳定加解密。
[0074]
本发明实施例提供的一种数字加密方法,将待加密数字进行位数补齐,并将补齐后的数字进行对称分割,得到第一高位数字和第一低位数字;针对第一高位数字和第一低位数字中各数字,基于第一数字表对各数字进行置换加密,得到第二高位数字和第二低位数字;根据第二高位数字和第二低位数字确定原文和密钥,并利用密钥对原文加密,得到原文的密文;根据密文和密钥,得到待加密数字的加密结果。通过在密钥加密基础上,叠加了数字表置换可逆算法,能够增强加密强度,提高数字安全性。
[0075]
实施例二
[0076]
本实施例在上述实施例基础上,对由第二高位数字和第二低位数字确定原文和密钥的步骤进行了详细描述。通过将第二高位数字和第二低位数字分段转化为二进制,进行左移后转化为十进制的长整型,能够实现对第二高位数字和第二低位数字的位移加密。该位移加密方法为稳定的可逆算法,能够进一步提高加密数字被反算出的难度,从而提高了数字的安全性。
[0077]
图2示出了本发明实施例二提供的一种数字加密方法的流程图。参见图2,本发明实施例中提供的数字加密方法,包括如下步骤:
[0078]
s210、将待加密数字进行位数补齐,并将补齐后的数字进行对称分割,得到第一高位数字和第一低位数字。
[0079]
s220、针对第一高位数字和第一低位数字中各数字,基于第一数字表对各数字进行置换加密,得到第二高位数字和第二低位数字。
[0080]
其中,第二高位数字和第二低位数字包含多段十进制数字。例如,在一种实现方式中,在基于第一数字表对各数字进行置换加密过程中,可以将与各数字对应的经置换加密后的数字利用分隔符组合,从而得到包含多段十进制数字的第二高位数字和第二低位数字。示例性的,假设第一高位数字为68,6和8经置换加密后的数字分别为68和84,则可以将68和84利用分隔符“.”组合,得到68.84作为第二高位数字,此时第二高位数字包括了两段十进制数字。其中,分隔符不限于“.”,例如还可以是空格或“/”等。
[0081]
s230、针对第二高位数字和第二低位数字,将各段十进制数字转化为二进制数字。
[0082]
其中,针对第二高位数字和第二低位数字,皆可以基于分隔符确定各段十进制数字。并且,可以将各段十进制数字转化为预设位数的二进制数字,得到多段二进制数字。其中,若二进制转化后的数字未满足预设位数,则可以左侧补0,以补齐至预设位数。
[0083]
s240、根据各段二进制数字在所属整段二进制数字中的位置,对各段二进制数字进行左移。
[0084]
其中,针对第二高位数字和第二低位数字,可以将二进制转换前各段十进制数字在所属整段十进制数字中的位置,作为二进制转换后各段二进制数字在所属整段二进制数字中的位置。
[0085]
示例性的,假设第二高位数字为68.84,二进制转化后的数字需要满足8位数,则68转化后为01000100,84转化后为01010100。由于,二进制转换前68在所属整段十进制数字“68.84”的左侧第一组位置,84在所属整段十进制数字“68.84”的左侧第二组位置,则二进制转换后“01000100”将位于整段二进制数字中左侧第一组位置,“01010100”将位于整段二进制数字中左侧第二组位置,从而得到整段二进制数字为“01000100.01010100”。
[0086]
其中,根据各段二进制数字在所属整段二进制数字中的位置,对各段二进制数字进行左移,可以是:位置从左到右的各段二进制数字,分别左移不同位,且可以是越靠右侧左移位数越大。示例性的,假设二进制转化后包含4段二进制数字,则可将从左到右数的,第一段二进制数字不左移,第二段二进制数字左移8位,第三段二进制数字左移16位,第四段二进制数字左移24位。
[0087]
s250、将左移后的各段二进制数字拼接的二进制数字转化为十进制数字,得到第二高位数字和第二低位数字经位移加密后的第三高位数字和第三低位数字。
[0088]
其中,可以将左移后的各段二进制数字,拼接成新的二进制数字。示例性的,假设左移后的位置从左到右的各段二进制数字分别为“01000100”和“01010100”,则可以将两段二进制数字拼接成新的二进制数字为“0100010001010100”,可以将该拼接的二进制数字转化为十进制数字为“17492”。其中,十进制数字可以为长整型的数字。
[0089]
通过将第二高位数字和第二低位数字中,各段十进制数字经二进制转化、左移、拼接,以及十进制转化,可以得到第二高位数字和第二低位数字经位移加密后的第三高位数字和第三低位数字。其中,该位移加密方法为稳定的可逆算法。
[0090]
s260、将第三高位数字和第三低位数字分别作为原文和密钥,并利用密钥对原文加密,得到原文的密文。
[0091]
其中,可以将第三高位数字作为原文,将第三低位数字作为密钥;也可以将第三低位数字作为原文,将第三高位数字作为密钥。
[0092]
s270、根据密文和密钥,得到待加密数字的加密结果。
[0093]
通过在密钥加密、数字表置换加密基础上,进一步叠加位移加密,能够进一步提高加密数字被反算出的难度,从而提高了数字的安全性。
[0094]
在一些可选的实现方式中,第二高位数字和第二低位数字可以符合网址格式,即包含四段十进制数字。并且,为保证四段十进制数字在0-255的范围内,可以在基于第一数字表对各数字进行置换加密后,将加密结果左侧补1,得到在0-255的范围内的多段十进制数字。符合网址格式的第二高位数字和第二低位数字可以经4段十进制数字的二进制转化、左移、拼接,以及十进制转化后,得到第三高位数和第三低位数字。
[0095]
示例性的,第二高位数字可以为“168.184.184.195”,假设二进制转化的预设位数为8,且二进制转化后从左到右数的,第一段二进制数字不左移,第二段二进制数字左移8位,第三段二进制数字左移16位,第四段二进制数字左移24位。那么,将第二高位数字“168.184.184.195”经各段十进制数字二进制转化、左移、拼接,以及十进制转化后,可以得到第三高位数字“2830678211”。
[0096]
在这些可选的实现方式中,若待加密数字为网址格式的数字,则可以不经过位数补齐、对称分割和基于第一数字表置换加密的过程,而可以直接将其作为第二高位数字和第二低位数字,进行位移加密和密钥加密的过程。从而大大提高了数字加密的灵活程度。
[0097]
本发明实施例在上述实施例基础上,对由第二高位数字和第二低位数字确定原文和密钥的步骤进行了详细描述。通过将第二高位数字和第二低位数字分段转化为二进制,进行左移后转化为十进制的长整型,能够实现对第二高位数字和第二低位数字的位移加密。该位移加密方法为稳定的可逆算法,能够进一步提高数字被反算出的难度,从而提高了数字的安全性。此外,本发明实施例与上述实施例提出的数字加密方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,且本实施例与上述实施例具有相同的有益效果。
[0098]
实施例三
[0099]
本实施例在上述实施例基础上,对根据第二高位数字和第二低位数字确定种子字符的步骤进行了详细描述。通过对第二高位数字和第二低位数字进行运算,根据运算结果索引种子表得到种子字符,实现了种子加密。从而能够在解密过程中根据种子字符校验解密过程是否正常,进一步提高加密数字被反算出的难度,从而提高了数字的安全性。
[0100]
图3示出了本发明实施例三提供的一种数字加密方法的流程图。参见图3,本发明实施例中提供的数字加密方法,包括如下步骤:
[0101]
s310、将待加密数字进行位数补齐,并将补齐后的数字进行对称分割,得到第一高位数字和第一低位数字。
[0102]
s320、针对第一高位数字和第一低位数字中各数字,基于第一数字表对各数字进行置换加密,得到第二高位数字和第二低位数字。
[0103]
s331、利用第二高位数字和第二低位数字进行运算,得到种子表的第三索引位置。
[0104]
其中,种子表可以为一维表格。且种子表的元素可以包含字母、符号等不重复的、非数字的字符,以用于进行校验、以及与加解密数字进行区别。相应的,种子表的第三索引位置可以为一维索引号。
[0105]
其中,第三索引位置的确定步骤可以包括:首先,将第二高位数字和第二低位数字转化为二进制数字后,进行算术运算(例如加法运算)或逻辑运算运算(例如异或运算)等运算;然后,将运算结果转换为十进制数字;最后,将转换得到的十进制数字除以种子表的长度,可以将余数作为第三索引位置。
[0106]
s341、根据第三索引位置对种子表进行索引,得到种子字符。
[0107]
其中,根据第三索引位置查找种子表即可获得种子字符。
[0108]
s332、根据第二高位数字和第二低位数字确定原文和密钥,并利用密钥对原文加密,得到原文的密文。
[0109]
其中,步骤s331-s341,与步骤s332之间并无严格的时序关系,可以步骤s331-s341先执行,可以步骤s332先执行,也可以同时执行。
[0110]
s350、将密文、种子字符和密钥进行拼接,得到待加密数字的加密结果。
[0111]
其中,将密文、种子字符和密钥拼接时,可以将种子字符作为分隔符分隔密文和密钥。其中,可以按先密文、再种子字符、最后密钥的顺序进行拼接,也可以按先密钥、再种子字符、最后密文的顺序进行拼接。可以将拼接结果,作为待加密数字的加密结果。
[0112]
通过根据第二高位数字和第二低位数字运算的结果,索引种子表得到种子字符,能够使加密结果中携带混淆种子字符。从而有利于在反解密过程,根据种子字符校验当前的解密操作是否为正常的解密操作,避免异常强制破解操作。通过在数字表置换加密、密钥加密的基础上,叠加种子字符加密,能够提高加密数字被反算出的难度,从而提高了数字的安全性。
[0113]
本发明实施例在上述实施例基础上,对根据第二高位数字和第二低位数字确定种子字符的步骤进行了详细描述。通过对第二高位数字和第二低位数字进行运算,根据运算结果索引种子表得到种子字符,实现了种子加密。从而能够在解密过程中根据种子字符校验解密过程是否正常,进一步提高加密数字被反算出的难度,从而提高了数字的安全性。
[0114]
本发明实施例与上述实施例提出的数字加密方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,且本实施例与上述实施例具有相同的有益效果。并且,值得注意的是,本发明各实施例中提供的数字表置换加密、位移加密、密钥加密和种子字符加密中的各加密算法,可以根据不同的应用场景进行组合,各种组合形成的数字加密方法,皆属于本发明保护的范围。
[0115]
实施例四
[0116]
图4示出了本发明实施例四提供的一种数字解密方法的流程图。本发明实施例提供的数字解密方法可适用于对数字进行解密的情况。该方法可由数字解密装置来执行,该装置采用软件和/或硬件的方式实现,优选是配置于终端设备中,例如配置于计算机等终端设备中。
[0117]
如图4所示,本发明实施例中提供的数字解密方法,包括如下步骤:
[0118]
s410、从待解密数字中确定密文和密钥。
[0119]
本实施例中,待解密数字可以由密文和密钥拼接而成。可以根据预设的密文和密钥在待解密数字中的位置,对密文和密钥进行提取。
[0120]
s420、利用密钥对密文解密,得到密文的原文,并根据原文和密钥确定第二高位数字和第二低位数字。
[0121]
其中,密钥可以为对称密钥。可以认为,若利用密钥对原文加密得到密文,则可以利用同一密钥对密文解密得到原文,即密钥加密和密钥解密的过程,为对称的逆向过程。其中,可以利用与密钥加密过程中加密算法的逆向解密算法,基于密钥对密文进行解密。
[0122]
在一些实施方式中,利用密钥对密文解密,得到密文的原文,可以包括:判断密文和密钥是否包含于第二数字表;若是,则根据密文和密钥反向从第二数字表中查找出与密文对应的原文。
[0123]
在这些实施方式中,第二数字表可以为是与维吉尼亚加密算法对应的数字表,该第二数字表的行索引、列索引和表中内容,可皆为数字。判断密文和密钥是否分别包含于数字表的内容,以及行/列索引号;若是,则可以根据数字表的密文内容,以及密钥对应的行/列索引号,反向查找与密文对应的原文,即查找列/行索引号。其中,若判断密文和密钥不包含于第二数字表,则可以进行解密失败的相关提示,并停止解密过程,以提高数据安全性。
[0124]
s430、基于第一数字表对第二高位数字和第二低位数字中的数字进行反置换解密,得到第一高位数字和第一低位数字。
[0125]
其中,基于第一数字表对第二高位数字和第二低位数字中的数字进行反置换解密,与基于同一第一数字表对各数字进行置换加密的过程,为逆向过程。
[0126]
其中,可以将第二高位数字和第二低位数字中各数字作为置换后的数字。针对各置换后的数字,确定置换前的数字的过程,可以包括:首先查找第一数字表中与置换后的数字相同的数字;然后分别确定该些相同数字对应的行、列索引号;由于行、列索引号可基于置换前数字确定,最后可根据各相同数字的行、列索引号,求解出正确的置换前的数字。
[0127]
在求解出第二高位数字和第二低位数字中各数字置换前的数字后,可以以按照置换后每位数字所在的第二高位数字或第二低位数字中的位置,对置换前的数字进行组合,从而得到第一高位数字和第一低位数字。
[0128]
在一些实现方式中,基于第一数字表对第二高位数字和第二低位数字中的数字进行反置换解密,可以包括:
[0129]
对第二高位数字和第二低位数字分别进行分组,每组数字中包括置换前数字和对应的补位数字;根据置换前数字确定第一数字表的第一索引位置;根据第一索引位置对第一数字表进行索引,并根据索引结果对补位数字进行校验;若校验通过,则将每组数字反置换为置换前数组,以得到第一高位数字和第一低位数字。在这些实施方式中,根据置换前数字确定第一索引位置的步骤可参考上述实施例,在此不做赘述。其中,根据索引结果对补位
数字进行校验时,若索引结果与补位数字一致,则可以认为校验通过;若索引结果与补位数字不一致,则可以认为校验失败。其中,校验失败则可以进行解密失败的相关提示,并停止解密过程,以提高数据安全性。
[0130]
s440、将第一高位数字和第一低位数字进行拼接,根据拼接结果确定待解密数字的解密结果。
[0131]
其中,将第一高位数字和第一低位数字进行拼接的过程,与将补齐后的数字进行对称分割的过程为逆向过程。其中,拼接后可以将补位的数字进行过滤,得到待解密数字的解密结果。
[0132]
本发明实施例提供的一种数字解密方法,从待解密数字中确定密文和密钥;利用密钥对密文解密,得到密文的原文,并根据原文和密钥确定第二高位数字和第二低位数字;基于第一数字表对第二高位数字和第二低位数字中的数字进行反置换解密,得到第一高位数字和第一低位数字;将第一高位数字和第一低位数字进行拼接,根据拼接结果确定待解密数字的解密结果。利用密钥解密叠加数字表反置换解密的算法,能够实现对采用密钥加密和数字表置换加密的数字,进行逆向解密。不仅实现了稳定的加解密,避免数字解密过程中被修改,还提升了数字的安全性。
[0133]
此外,本发明实施例中的密钥解密和数字表反置换解密的过程,与上述实施例提出的数字加密方法中的密钥加密和数字表置换加密过程为逆向过程。加解密过程中具备相应的技术特征,属于同一发明构思。未在本实施例中详尽描述的技术细节可参见上述实施例,且本实施例与上述实施例具有相同的有益效果。
[0134]
实施例五
[0135]
本实施例在上述实施例基础上,对根据原文和密钥确定第二高位数字和第二低位数字的步骤进行了详细描述。通过将原文和密钥作为第三高位数字和第三低位数字,将第三高位数字和第三低位数字转换为二进制数字并分段,能够得到各段二进制数字;通过将各段二进制数字进行相应的右移,并转化为十进制数字,能够实现对原文和密钥的位移解密。该位移解密方法为位移加密方法的逆运算,能够实现数字稳定的加解密,进一步提高加密数字被反算出的难度,从而提高了数字的安全性。
[0136]
图5示出了本发明实施例五提供的一种数字解密方法的流程图。参见图5,本发明实施例中提供的数字解密方法,包括如下步骤:
[0137]
s510、从待解密数字中确定密文和密钥。
[0138]
s520、利用密钥对密文解密,得到密文的原文。
[0139]
s530、将原文和密钥分别作为第三高位数字和第三低位数字。
[0140]
其中,可以将原文作为第三高位数字,将密钥作为第三低位数字;也可以将原文作为第三低位数字,将密钥作为第三高位数字。
[0141]
s540、将第三高位数字和第三低位数字分别转化为整段二进制数字并进行拆分,得到多段二进制数字。
[0142]
s550、根据各段二进制数字在所属整段二进制数字中的位置,对各段二进制数字进行右移。
[0143]
s560、将右移后的各段二进制数字转化为十进制数字,根据各段十进制数字,得到原文和密钥经位移解密后的第二高位数字和第二低位数字。
[0144]
其中,步骤s540-s560中,将第三高位数字和第三低位数字经二进制转化、拆分、右移,以及十进制转化的右移解密过程,与上述实施例中公开的将第二高位数字和第二低位数字中,各段十进制数字经二进制转化、左移、拼接,以及十进制转化的左移加密过程,为逆向过程。
[0145]
其中,由于左移加密过程中,各段十进制数组转化为二进制数字时,需满足预设位数,在右移解密过程中,也可按照预设位数对转化后的整段二进制数字进行拆分,得到各段二进制数字。
[0146]
其中,由于在左移加密过程中,可以根据各段二进制数字在所属整段二进制数字中的位置,对各段二进制数字进行左移,在右移解密过程中,可以根据各段二进制数字在所属整段二进制数字中的位置,对各段二进制数字进行相应的右移。
[0147]
其中,在右移得到各段二进制数字后,可通过十进制转化,得到第二高位数字和第二低位数字中各段十进制数字。
[0148]
s570、基于第一数字表对第二高位数字和第二低位数字中的数字进行反置换解密,得到第一高位数字和第一低位数字。
[0149]
s580、将第一高位数字和第一低位数字进行拼接,根据拼接结果确定待解密数字的解密结果。
[0150]
本发明实施例在上述实施例基础上,对根据原文和密钥确定第二高位数字和第二低位数字的步骤进行了详细描述。通过将原文和密钥作为第三高位数字和第三低位数字,将第三高位数字和第三低位数字转换为二进制数字并分段,能够得到各段二进制数字;通过将各段二进制数字进行相应的右移,并转化为十进制数字,能够实现对原文和密钥的位移解密。该位移解密方法为位移加密方法的逆运算,能够实现数字稳定的加解密,进一步提高加密数字被反算出的难度,从而提高了数字的安全性。
[0151]
此外,本发明实施例中的右移解密的过程,与上述实施例提出的数字加密方法中的左移加密过程为逆向过程。加解密过程中具备相应的技术特征,属于同一发明构思。未在本实施例中详尽描述的技术细节可参见上述实施例,且本实施例与上述实施例具有相同的有益效果。
[0152]
实施例六
[0153]
本实施例在上述实施例基础上,对根据种子字符校验解密过程是否正常的步骤进行了详细描述。在确定第二高位数字和第二低位数字之后,可以对第二高位数字和第二低位数字进行运算,根据运算结果索引种子表得到种子字符。通过根据待解密数字中的种子字符对索引的种子字符进行校验,能够判断出当前解密过程是否正常,进而可以在正常时进一步对第二高位数字和第二低位数字中的数字进行反置换解密。进一步提高加密数字被反算出的难度,从而提高了数字的安全性。
[0154]
图6示出了本发明实施例六提供的一种数字解密方法的流程图。参见图6,本发明实施例中提供的数字解密方法,包括如下步骤:
[0155]
s610、根据待解密数字中的种子字符,对待解密数字进行分割,得到密文和密钥。
[0156]
其中,待解密数字可以由密文、种子字符和密钥拼接而成,且种子字符可作为分隔符分隔密文和密钥。在对待解密数字进行分割时,可以根据种子字符对待解密数据进行分割,且可以根据拼接过程中的拼接顺序,对分割后的密文和密钥进行提取。
[0157]
s620、利用密钥对密文解密,得到密文的原文,并根据原文和密钥确定第二高位数字和第二低位数字。
[0158]
s630、利用第二高位数字和第二低位数字进行运算,得到种子表的第三索引位置。
[0159]
其中,解密过程中利用第二高位数字和第二低位数字确定第三索引位置的过程,可以与加密过程中利用第二高位数字和第二低位数字确定第三索引位置的过程相同。
[0160]
s640、根据第三索引位置对种子表进行索引,并根据索引结果对种子字符进行校验。
[0161]
其中,根据索引结果对种子字符进行校验,可以包括:判断当前索引的字符,与待解密数字中的种子字符是否相同;若相同则校验通过,若不同则校验失败。
[0162]
s650、于校验通过时,基于第一数字表对第二高位数字和第二低位数字中的数字进行反置换解密,得到第一高位数字和第一低位数字。
[0163]
s660、将第一高位数字和第一低位数字进行拼接,根据拼接结果确定待解密数字的解密结果。
[0164]
由于在非正常解密过程中,也可以根据与加密过程不对应的解密过程,利用密钥对密文解密。此时,若解密过程与加密过程不对应,则得到的原文为错误的原文。相应的,由于种子表中字符不重复,基于错误的原文索引到的种子字符,很大程度上与待解密数字中的种子字符不同。从而能够识别出该解密过程为异常解密过程,进而停止继续解密,提高了加密数字被反算出的难度,提高了数字的安全性。
[0165]
本发明实施例在上述实施例基础上,对对根据种子字符校验解密过程是否正常的步骤进行了详细描述。在确定第二高位数字和第二低位数字之后,可以对第二高位数字和第二低位数字进行运算,根据运算结果索引种子表得到种子字符。通过根据待解密数字中的种子字符对索引的种子字符进行校验,能够判断出当前解密过程是否正常,进而可以在正常时进一步对第二高位数字和第二低位数字中的数字进行反置换解密。进一步提高加密数字被反算出的难度,从而提高了数字的安全性。
[0166]
此外,本发明实施例中的种子字符计算的过程,与上述实施例提出的数字加密方法中的种子字符计算的过程相同。加解密过程中具备相应的技术特征,属于同一发明构思。未在本实施例中详尽描述的技术细节可参见上述实施例,且本实施例与上述实施例具有相同的有益效果。
[0167]
并且,值得注意的是,可以根据各数字加密方法中组合的加密算法,对应组合本发明各实施例中提供的数字表反置换解密、位移解密、密钥解密和种子字符解密中的各解密算法,来形成不同的数字解密方法,该些数字解密方法皆属于本发明保护的范围。
[0168]
实施例七
[0169]
本实施例在上述实施例基础上,对加密方法和解密方法进行了结合。其中,数字加密过程中可以利用数字表混淆置换加密、位移加密、密钥加密和种子加密对待加密数字进行加密;相应的,解密过程采用与加密过程可逆的密钥解密、种子校验、位移解密和数字表反置换解密对待解密数字进行解密。能够实现稳定的加解密过程,且能够提高数字的安全性。
[0170]
图7示出了本发明实施例七提供的一种数字加解密方法的流程示意图。参见图7,本发明实施例中提供的数字加解密方法,包括加密和解密两个阶段:
[0171]
其中,加密阶段可以包括:
[0172]
s701、将待加密数字进行位数补齐,并将补齐后的数字进行对称分割,得到第一高位数字和第一低位数字。
[0173]
其中,步骤s701为数字处理步骤,进行了待加密数字的位数补齐和对称分割,拆出了第一高位数字和第一低位数字。
[0174]
s702、针对第一高位数字和第一低位数字中各数字,基于第一数字表对各数字进行置换加密,得到第二高位数字和第二低位数字。
[0175]
其中,步骤s702为第一次加密,即通过第一数字置换表对第一高位数字和第一低位数字进行混淆置换加密,得到第二高位数字和第二低位数字。其中,第二高位数字和第二低位数字可以包含多段十进制数字。
[0176]
s703、针对第二高位数字和第二低位数字,将各段十进制数字转化为二进制数字。
[0177]
s704、根据各段二进制数字在所属整段二进制数字中的位置,对各段二进制数字进行左移。
[0178]
s705、将左移后的各段二进制数字拼接的二进制数字转化为十进制数字,得到第二高位数字和第二低位数字经位移加密后的第三高位数字和第三低位数字。
[0179]
其中,步骤s703-705为第二次加密,即通过将第二高位数字和第二低位数字中各段十进制数字经二进制转化、左移、拼接,以及十进制转化的位移加密,得到长整型的第三高位数字和第三低位数字。
[0180]
s706、将第三高位数字和第三低位数字分别作为原文和密钥,并利用密钥对原文加密,得到原文的密文。
[0181]
其中,步骤s706为第三次加密,即将第三高位数字和第三低位数字分别作为原文和密钥,并利用密钥对原文加密。
[0182]
s707、利用第三高位数字和第三低位数字进行运算,得到种子表的第三索引位置;根据第三索引位置对种子表进行索引,得到种子字符。
[0183]
s708、将密文、种子字符和密钥进行拼接,得到待加密数字的加密结果。
[0184]
其中,s707-708为第四次加密,即通过根据第三高位数字和第三低位数字索引种子字符,并利用种子字符拼接出加密结果,能够实现种子加密。
[0185]
其中,数字在经上述加密阶段加密后,对应的解密阶段可以包括:
[0186]
s709、根据待解密数字中的种子字符,对待解密数字进行分割,得到密文和密钥。
[0187]
其中,步骤s709开始进行解密,可以查找出待解密数字中的种子字符,并进行分割,获得密钥、种子字符以及密文。
[0188]
s710、利用密钥对密文解密,得到密文的原文,并将原文和密钥分别作为第三高位数字和第三低位数字。
[0189]
其中,步骤s710为第一次解密,即利用密钥对密文解密,得到第三高位数字和第三低位数字。
[0190]
s711、利用第三高位数字和第三低位数字进行运算,得到种子表的第三索引位置;根据第三索引位置对种子表进行索引,并根据索引结果对种子字符进行校验。
[0191]
其中,步骤s711为第二次解密,即通过根据第三高位数字和第三低位数字索引种子字符,根据索引结果对待解密数字中的种子字符进行校验,能够实现种子解密,过滤非正
常解密操作。
[0192]
s712、于校验通过时,将第三高位数字和第三低位数字分别转化为整段二进制数字并进行拆分,得到多段二进制数字。
[0193]
s713、根据各段二进制数字在所属整段二进制数字中的位置,对各段二进制数字进行右移。
[0194]
s714、将右移后的各段二进制数字转化为十进制数字,根据各段十进制数字,得到原文和密钥经位移解密后的第二高位数字和第二低位数字。
[0195]
其中,步骤s712-s714为第三次解密,即通过将第三高位数字和第三低位数字经二进制转化、拆分、右移,以及十进制转化的位移解密,得到第二高位数字和第二低位数字。
[0196]
s715、基于第一数字表对第二高位数字和第二低位数字中的数字进行反置换解密,得到第一高位数字和第一低位数字。
[0197]
其中,步骤s715为第四次解密,即通过第一数字置换表对第二高位数字和第二低位数字进行反置换解密,得到第一高位数字和第一低位数字。
[0198]
s716、将第一高位数字和第一低位数字进行拼接,根据拼接结果确定待解密数字的解密结果。
[0199]
最后,将第一高低位数字拼接即还原出最初的明文。
[0200]
本发明实施例在上述实施例基础上,对加密方法和解密方法进行了结合。其中,数字加密过程中可以利用数字表混淆置换加密、位移加密、密钥加密和种子加密对待加密数字进行加密;相应的,解密过程采用与加密过程可逆的密钥解密、种子校验、位移解密和数字表反置换解密对待解密数字进行解密。能够实现稳定的加解密过程,且能够提高数字的安全性。此外,本发明实施例与上述实施例提出的数字加解密方法,和数字解密方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,且本实施例与上述实施例具有相同的有益效果。
[0201]
实施例八
[0202]
图8示出了本发明实施例八提供的一种数字加密装置的结构示意图。本发明实施例可适用于对数字进行加密的情况。
[0203]
如图8所示,本发明实施例提供的数字加密装置,包括:
[0204]
分割模块810,用于将待加密数字进行位数补齐,并将补齐后的数字进行对称分割,得到第一高位数字和第一低位数字;
[0205]
第一加密模块820,用于针对第一高位数字和第一低位数字中各数字,基于第一数字表对各数字进行置换加密,得到第二高位数字和第二低位数字;
[0206]
第二加密模块830,用于根据第二高位数字和第二低位数字确定原文和密钥,并利用密钥对原文加密,得到原文的密文;
[0207]
结果确定模块840,用于根据密文和密钥,得到待加密数字的加密结果。
[0208]
在一些可选的实施方式中,第一加密模块,可以具体用于:
[0209]
根据当前数字确定第一数字表的第一索引位置;根据第一索引位置对第一数字表进行索引,得到当前数字的补位数字;利用补位数字对当前数字进行补位,得到当前数字经置换加密后的数字。
[0210]
在一些可选的实施方式中,第二加密模块,可以具体用于:
[0211]
判断原文和密钥是否包含于第二数字表;若是,则根据原文和密钥确定第二数字表的第二索引位置;根据第二索引位置对第二数字表进行索引,得到与原文对应的密文。
[0212]
在一些可选的实施方式中,第二高位数字和第二低位数字包含多段十进制数字;
[0213]
相应的,第二加密模块,具体用于:
[0214]
针对第二高位数字和第二低位数字,将各段十进制数字转化为二进制数字;根据各段二进制数字在所属整段二进制数字中的位置,对各段二进制数字进行左移;将左移后的各段二进制数字拼接的二进制数字转化为十进制数字,得到第二高位数字和第二低位数字经位移加密后的第三高位数字和第三低位数字;将第三高位数字和第三低位数字分别作为原文和密钥。
[0215]
在一些可选的实施方式中,第二加密模块,还可以用于:
[0216]
在得到第二高位数字和第二低位数字之后,利用第二高位数字和第二低位数字进行运算,得到种子表的第三索引位置;根据第三索引位置对种子表进行索引,得到种子字符;
[0217]
相应的,结果确定模块,可以具体用于:
[0218]
将密文、种子字符和密钥进行拼接,得到待加密数字的加密结果。
[0219]
在一些可选的实施方式中,待加密数字包括网址中的数字。
[0220]
本发明实施例提供的数字加密装置,与上述实施例提供的数字加密方法属于同一发明构思,未在本发明实施例中详尽描述的技术细节可参见上述实施例,并且本发明实施例与上述实施例具有相同的有益效果。
[0221]
实施例九
[0222]
图9示出了本发明实施例九提供的一种数字解密装置的结构示意图。本发明实施例可适用于对数字进行解密的情况。
[0223]
如图9所示,本发明实施例提供的数字解密装置,包括:
[0224]
密文密钥确定模块910,用于从待解密数字中确定密文和密钥;
[0225]
第一解密模块920,用于利用密钥对密文解密,得到密文的原文,并根据原文和密钥确定第二高位数字和第二低位数字;
[0226]
第二解密模块930,用于基于第一数字表对第二高位数字和第二低位数字中的数字进行反置换解密,得到第一高位数字和第一低位数字;
[0227]
拼接模块940,用于将第一高位数字和第一低位数字进行拼接,根据拼接结果确定待解密数字的解密结果。
[0228]
其中,第一解密模块,可以具体用于:判断密文和密钥是否包含于第二数字表;若是,则根据密文和密钥反向从第二数字表中查找出与密文对应的原文。
[0229]
其中,第二解密模块,可以具体用于:对第二高位数字和第二低位数字分别进行分组,每组数字中包括置换前数字和对应的补位数字;根据置换前数字确定第一数字表的第一索引位置;根据第一索引位置对第一数字表进行索引,并根据索引结果对补位数字进行校验;若校验通过,则将每组数字反置换为置换前数组,以得到第一高位数字和第一低位数字。
[0230]
在一些可选的实施方式中,第一解密模块,可以具体用于:
[0231]
将原文和密钥分别作为第三高位数字和第三低位数字;
[0232]
将第三高位数字和第三低位数字分别转化为整段二进制数字并进行拆分,得到多段二进制数字;
[0233]
根据各段二进制数字在所属整段二进制数字中的位置,对各段二进制数字进行右移;
[0234]
将右移后的各段二进制数字转化为十进制数字,根据各段十进制数字,得到原文和密钥经位移解密后的第二高位数字和第二低位数字。
[0235]
在一些可选的实施方式中,密文密钥确定模块,可以具体用于:
[0236]
根据待解密数字中的种子字符,对待解密数字进行分割,得到密文和密钥;
[0237]
相应的,第一解密模块,还可以用于:
[0238]
在根据原文和密钥确定第二高位数字和第二低位数字之后,利用第二高位数字和第二低位数字进行运算,得到种子表的第三索引位置;
[0239]
根据第三索引位置对种子表进行索引,并根据索引结果对种子字符进行校验。
[0240]
本发明实施例提供的数字解密装置,与上述实施例提供的数字解密方法属于同一发明构思,未在本发明实施例中详尽描述的技术细节可参见上述实施例,并且本发明实施例与上述实施例具有相同的有益效果。
[0241]
实施例十
[0242]
图10示出了本发明实施例十提供的一种终端设备的硬件结构示意图。本发明实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。图10示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0243]
如图10所示,终端设备1000可以包括处理装置(例如中央处理器、图形处理器等)1001,其可以根据存储在只读存储器(read-only memory,rom)1002中的程序或者从存储装置1008加载到随机访问存储器(random access memory,ram)1003中的程序而执行各种适当的动作和处理。在ram1003中,还存储有终端设备1000操作所需的各种程序和数据。处理装置1001、rom 1002以及ram 1003通过总线1004彼此相连。输入/输出(i/o)接口1005也连接至总线1004。
[0244]
通常,以下装置可以连接至i/o接口1005:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置1006;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置1007;包括例如磁带、硬盘等的存储装置1008;以及通信装置1009。通信装置1009可以允许终端设备1000与其他设备进行无线或有线通信以交换数据。虽然图10示出了具有各种装置的终端设备1000,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
[0245]
特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置1009从网络上被下载和安装,或者从存储装置1008被安装,或者从rom 1002被安装。在该计算机程序被处理装置1001执行时,能够执行本发明实施例提供的数字加密方法,或者执行本发明实施例提供的数字解密方法中限定的上
述功能。
[0246]
本发明实施例提供的终端与上述实施例提供的数字加密方法,或者数字解密方法属于同一发明构思,未在本发明实施例中详尽描述的技术细节可参见上述实施例,并且本发明实施例与上述实施例具有相同的有益效果。
[0247]
实施例十一
[0248]
本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述实施例所提供的数字加解密方法,或者数字解密方法。
[0249]
需要说明的是,本发明实施例上述的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(random access memory,ram)、只读存储器(read-only memory,rom)、可擦式可编程只读存储器(erasable programmable read-only memory,eprom)或闪存(flash)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。
[0250]
在一些实施方式中,客户端、服务器可以利用诸如http(hyper text transfer protocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“lan”),广域网(“wan”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
[0251]
上述计算机可读存储介质可以是上述终端设备中所包含的,也可以是单独存在,而未装配入该终端设备中的。
[0252]
上述终端设备存储承载有一个或者多个程序,当上述一个或者多个程序被该终端设备执行时,使得该终端设备:
[0253]
将待加密数字进行位数补齐,并将补齐后的数字进行对称分割,得到第一高位数字和第一低位数字;针对第一高位数字和第一低位数字中各数字,基于第一数字表对各数字进行置换加密,得到第二高位数字和第二低位数字;根据第二高位数字和第二低位数字确定原文和密钥,并利用密钥对原文加密,得到原文的密文;根据密文和密钥,得到待加密数字的加密结果。
[0254]
或者,上述终端设备存储承载有一个或者多个程序,当上述一个或者多个程序被该终端设备执行时,使得该终端设备:
[0255]
从待解密数字中确定密文和密钥;利用密钥对密文解密,得到密文的原文,并根据原文和密钥确定第二高位数字和第二低位数字;基于第一数字表对第二高位数字和第二低位数字中的数字进行反置换解密,得到第一高位数字和第一低位数字;将第一高位数字和第一低位数字进行拼接,根据拼接结果确定待解密数字的解密结果。
[0256]
可以以一种或多种程序设计语言或其组合来编写用于执行本发明的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c ,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0257]
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能页可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0258]
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
[0259]
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范样式的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。
[0260]
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献