CN110378083B - 一种布尔值的混淆方法和装置及计算机可读存储介质 - Google Patents
一种布尔值的混淆方法和装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110378083B CN110378083B CN201910508003.9A CN201910508003A CN110378083B CN 110378083 B CN110378083 B CN 110378083B CN 201910508003 A CN201910508003 A CN 201910508003A CN 110378083 B CN110378083 B CN 110378083B
- Authority
- CN
- China
- Prior art keywords
- value
- array
- target
- candidate
- boolean
- 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 75
- 238000003491 array Methods 0.000 claims abstract description 94
- 238000004590 computer program Methods 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 21
- 230000015654 memory Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/14—Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Image Processing (AREA)
Abstract
本申请实施例提供了一种布尔值的混淆方法和装置及计算机可读存储介质,应用于包括发送端和接收端的***,所述发送端和所述接收端均预设有候选数组;该方法包括:所述发送端获取布尔值;所述发送端从所述候选数组中确定布尔值对应的目标数组;所述目标数组中包括多个候选数值;所述发送端根据所述目标数组包括的多个候选数值获取目标混淆值;所述发送端将所述目标混淆值发送至所述接收端;所述接收端根据所述目标混淆值从所述候选数组中确定目标数组;所述接收端根据所述目标数组,确定所述发送端获取到的布尔值。综上,本申请通过数组查找的方式将布尔值进行混淆,使得篡改者较难破译到混淆前的布尔值,从而较难对混淆后的布尔值进行篡改。
Description
技术领域
本申请涉及计算机安全领域,特别是涉及一种布尔值的混淆方法和装置及计算机可读存储介质。
背景技术
由于应用程序在发布后,篡改者可以对该应用程序进行反编译从而获取到该应用程序的源代码,这样,篡改者可以对源代码进行篡改,从而使得该应用程序存在网络安全隐患,以及对应用程序的开发者的权益造成损害。其中,在发送端发出布尔值后,篡改者通常拦截布尔值,并对布尔值进行篡改,将篡改后的布尔值发送至接收端,导致接收端根据篡改后的布尔值执行相应的操作。
目前,都是对布尔值进行代码混淆,以加大反编译的难度。例如,若该布尔值为“1”,则可以将布尔值设置为“5+3+2-6-3”,这样,将布尔值通过一种简单运算的方式进行混淆,对篡改者造成干扰。但是,发明人在研究过程中发现,由于现有技术中仅通过简单运算对布尔值进行混淆,而篡改者仍可以通过编译优化分析的方式获取到布尔值,并对布尔值进行篡改,使得信息安全性仍较低。
发明内容
鉴于上述问题,本申请实施例提供一种布尔值的混淆方法和装置及计算机可读存储介质,以解决布尔值容易被篡改而造成的信息安全性较低的问题。
根据本申请实施例的第一方面,提供了一种布尔值的混淆方法,应用于包括发送端和接收端的***,所述发送端和所述接收端均预设有候选数组;所述方法包括:
所述发送端获取布尔值;
所述发送端从所述候选数组中确定所述布尔值对应的目标数组;所述目标数组中包括多个候选数值;
所述发送端根据所述目标数组包括的多个候选数值获取目标混淆值;
所述发送端将所述目标混淆值发送至所述接收端;
所述接收端根据所述目标混淆值从所述候选数组中确定目标数组;
所述接收端根据所述目标数组,确定所述发送端获取到的布尔值。
根据本申请实施例的第二方面,提供了一种布尔类型的获取方法,应用于发送端,所述发送端预设有候选数组;所述方法包括:
获取布尔值;
从所述候选数组中确定所述布尔值对应的目标数组;所述目标数组中包括多个候选数值;
根据所述目标数组包括的多个候选数值获取目标混淆值;
将所述目标混淆值发送至接收端。
可选的,所述从所述候选数组中确定所述布尔值对应的目标数组,包括:
获取所述布尔值对应的布尔类型;
根据所述布尔类型从所述候选数组中确定所述目标数组。
可选的,所述候选数组包括真值类型对应的真值数组和假值类型对应的假值数组;所述根据所述布尔类型从所述候选数组中确定所述目标数组,包括:
若所述布尔类型为真值类型,确定所述真值数组为所述目标数组;或者,若所述布尔类型为假值类型,确定所述假值数组为所述目标数组;
其中,所述真值数组中包括的多个第一候选数值与所述假值数组中包括的多个第二候选数值均不相同。
可选的,所述根据所述目标数组包括的多个候选数值获取目标混淆值,包括:
从所述目标数组包括的多个候选数值中选择至少一个候选数值;对所述至少一个候选数值进行加密运算,得到所述目标混淆值;或者,
从所述目标数组包括的多个候选数值中随机获取至少一个候选数值,以作为所述目标混淆值。
根据本申请实施例的第三方面,提供了一种布尔类型的获取方法,应用于接收端,所述接收端预设有候选数组;所述方法包括:
接收发送端发送的目标混淆值;
根据所述目标混淆值从所述候选数组中确定目标数组;
根据所述目标数组,确定所述发送端获取到的布尔值。
可选的,所述候选数组包括真值类型对应的真值数组和假值类型对应的假值数组,所述根据所述目标混淆值从所述候选数组中确定目标数组,包括:
判断所述真值数组中是否包括所述目标混淆值;
在所述真值数组中包括所述目标混淆值的情况下,判断出所述真值数组为所述目标数组;
在所述真值数组中未包括所述目标混淆值的情况下,且判断出所述假值数组中包括所述目标混淆值的情况下,判断出所述假值数组为所述目标数组。
可选的,在所述根据所述目标混淆值从所述候选数组中确定目标数组之前,还包括:对所述目标混淆值进行解密运算,得到候选数值;
所述根据所述目标混淆值从所述候选数组中确定目标数组,包括:
根据所述候选数值从所述候选数组中确定目标数组。
根据本申请实施例的第四方面,提供了一种布尔值的混淆***,所述***包括发送端和接收端,所述发送端和所述接收端均预设有候选数组;
其中,所述发送端用于:获取布尔值;从所述候选数组中确定所述布尔值对应的目标数组;所述目标数组中包括多个候选数值;根据所述目标数组包括的多个候选数值获取目标混淆值;将所述目标混淆值发送至所述接收端;
所述接收端用于:根据所述目标混淆值从所述候选数组中确定目标数组;根据所述目标数组,确定所述发送端获取到的布尔值。
根据本申请实施例的第五方面,提供了一种布尔值的混淆装置,设置于发送端,所述发送端预设有候选数组;所述装置包括:
布尔值获取模块,用于获取布尔值;
目标数组确定模块,用于从所述候选数组中确定所述布尔值对应的目标数组;所述目标数组中包括多个候选数值;
混淆值获取模块,用于根据所述目标数组包括的多个候选数值获取目标混淆值;
发送模块,用于将所述目标混淆值发送至接收端。
可选的,所述目标数组确定模块进一步包括:
布尔类型获取子模块,用于获取所述布尔值对应的布尔类型;
目标数组确定子模块,用于根据所述布尔类型从所述候选数组中确定所述目标数组。
可选的,所述候选数组包括真值类型对应的真值数组和假值类型对应的假值数组;所述目标数组确定子模块具体用于若所述布尔类型为真值类型,确定所述真值数组为所述目标数组;或者,用于若所述布尔类型为假值类型,确定所述假值数组为所述目标数组;
其中,所述真值数组中包括的多个第一候选数值与所述假值数组中包括的多个第二候选数值均不相同。
可选的,所述混淆值获取模块具体用于从所述目标数组包括的多个候选数值中选择至少一个候选数值;对所述至少一个候选数值进行加密运算,得到所述目标混淆值;或者,从所述目标数组包括的多个候选数值中随机获取至少一个候选数值,以作为所述目标混淆值。
根据本申请实施例的第六方面,提供了一种布尔值的混淆装置,设置于接收端,所述接收端预设有候选数组;所述装置包括:
混淆值接收模块,用于接收发送端发送的目标混淆值;
混淆值目标数组确定模块,用于根据所述目标混淆值从所述候选数组中确定目标数组;
布尔值确定模块,用于根据所述目标数组,确定所述发送端获取到的布尔值。
可选的,所述候选数组包括真值类型对应的真值数组和假值类型对应的假值数组,所述混淆值目标数组确定模块进一步包括:
真值数组混淆值判断子模块,用于判断所述真值数组中是否包括所述目标混淆值;
真值数组判断子模块,用于在所述真值数组中包括所述目标混淆值的情况下,判断出所述真值数组为所述目标数组;
假值数组判断子模块,用于在所述真值数组中未包括所述目标混淆值的情况下,且判断出所述假值数组中包括所述目标混淆值的情况下,判断出所述假值数组为所述目标数组。
可选的,所述装置还包括:
解密模块,用于对所述目标混淆值进行解密运算,得到候选数值;
所述混淆值目标数组确定模块具体用于根据所述候选数值从所述候选数组中确定目标数组。
根据本申请实施例的第七方面,提供了一种布尔值的混淆装置,包括处理器以及存储器,其中,
所述处理器执行所述存储器所存放的计算机程序代码,以实现本申请所述的布尔值的混淆方法的步骤。
根据本申请实施例的第八方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现本申请所述的布尔值的混淆方法的步骤。
本申请实施例包括以下优点:
本申请实施例中发送端和接收端均预设有候选数组;发送端获取布尔值;发送端从候选数组中确定布尔值对应的目标数组;目标数组中包括多个候选数值;发送端根据目标数组包括的多个候选数值获取目标混淆值;发送端将目标混淆值发送至接收端;接收端根据目标混淆值从候选数组中确定目标数组;接收端根据目标数组,确定发送端获取到的布尔值。综上,本申请通过数组查找的方式将布尔值进行混淆,得到目标混淆值,相对于现有技术中,简单运算的结果依然为实际布尔值0或1仅两种结果而言,上述目标混淆值的取值范围大、取值可能性多,首先使得篡改者较难破译到上述目标混淆值代表布尔类别,即使篡改者破译到上述目标混淆值代表布尔类别,由于目标混淆值的取值并不限于0或1两种,在没有目标混淆值与实际布尔值对应关系的情况下,使得篡改者根据上述目标混淆值,较难破译到混淆前的实际布尔值,从而较难对混淆后的布尔值进行篡改,进而提升了接收端获取到的布尔值的准确性。
附图说明
图1是本申请的一种布尔值的混淆方法实施例的步骤流程图;
图2示出了本申请的一种预先设置真值数组和假值数组的示意图;
图3是本申请的第一种布尔值的混淆方法可选实施例的步骤流程图;
图4是本申请的第二种布尔值的混淆方法可选实施例的步骤流程图;
图5是本申请的第三种布尔值的混淆方法可选实施例的步骤流程图;
图6是本申请的一种布尔值的混淆***实施例的结构框图;
图7是本申请的一种布尔值的混淆装置实施例的结构框图;
图8是本申请的一种布尔值的混淆装置可选实施例的结构框图;
图9是本申请的又一种布尔值的混淆装置实施例的结构框图;
图10是本申请的一种布尔值的混淆装置可选实施例的结构框图;
图11是本申请的一种布尔值的混淆装置可选实施例的结构框图;
图12为本申请的一实施例提供的布尔值的混淆装置的硬件结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
下面将结合具体实施例对本申请进行详细说明。
参照图1,示出了本申请的一种布尔值的混淆方法布尔值的混淆方法实施例的步骤流程图,该方法可以应用于包括发送端和接收端的***,其中,该发送端可以为终端或服务器,该接收端也可以为终端或服务器。
另外,本申请还可以应用于包括发送端和接收端的电子设备,此时,该发送端和接收端可以为电子设备中的两个函数,即该发送端为发送函数,该接收端为接收函数,该电子设备可以为服务器或者终端。
本申请中,上述发送端和接收端均预设有候选数组,该候选数组用于表征布尔值为真值或布尔值为假值,上述候选数组的数量可以根据实际需要进行设定。如,上述候选数组可以为两个,分别为真值数组和假值数组,其中,真值数组可以用于表征布尔值为真值,假值数组可以用于表征布尔值为假值。
具体可以包括如下步骤:
步骤101,所述发送端获取布尔值。
在本申请实施例中,接收端通常向发送端发送待验证消息,发送端在接收到上述待验证消息后,获取关于该待验证消息的实际情况,根据该待验证消息的实际情况,判断该待验证消息的真假,以得到布尔值。
例如,若发送端为终端,若接收端为视频服务器,若该待验证消息为“发送端对应的电子设备的当前环境是否为安全状态”,则终端在接收到视频服务器发送的上述待验证信息后,获取自身当前环境的安全参数等,并在获取到的安全参数指示为安全状态的情况下,该终端获取到的布尔值为真值,在获取到的安全参数指示为危险状态的情况下,该终端获取到的布尔值为假值。上述示例只是举例说明,本申请对此不作限定。
在本发明实施例中,可选的,该布尔值可以为“真”或“假”,或者,可以用“1”表示“真”,用“0”表示“假”,则,布尔值还可以为“1”或“0”。在本发明实施例中,对此不作具体限定。
例如,针对上述例子,若终端获取到的安全参数指示为安全状态的情况下,该终端获取到的布尔值可为真值或为1。若终端获取到的安全参数指示为危险状态的情况下,该终端获取到的布尔值可为假值或为0。
步骤102,所述发送端从所述候选数组中确定所述布尔值对应的目标数组。
其中,所述目标数组中包括多个候选数值。具体的,上述候选数值可以为任意的数值。在本发明实施例中,对此不作具体限定。
在本实施例中,该候选数组可以包括真值类型对应的真值数组和假值类型对应的假值数组,并且真值数组中包括的多个第一候选数值和假值数组中包括的多个第二候选数值均不相同,也就是说,两个数组之间不存在任何相同的数值。可以在上述布尔值为真值的情况下,将表征真值类型的真值数组确定为该布尔值对应的目标数组;在上述布尔值为假值的情况下,将表征假值类型的假值数组确定为该布尔值对应的目标数组。
其中,该真值数组和该假值数组可以预先构建并分别设置在发送端和接收端。包括发送端和接收端的***还可以包括预处理器等,该预处理器可以用于预先生成真值数组和假值数组,并将上述真值数组和假值数组均设置在发送端和接收端。
例如,参照图2所示,图2示出了本申请的一种预先设置真值数组和假值数组的示意图。图2中预处理器可以通过随机函数等,随机生成元素无交集的真值数组和假值数组,该真值数组可以用于表征真值类型的布尔值,该假值数组可以用于表征假值类型的布尔值。预处理器可以将上述真值数组和假值数组均发送至发送端和接收端,由发送端和接收端进行存储等。
示例地,若该真值数组truelist为[a1,a2,…,an],该假值数组falselist为[b1,b2,…,bm],m、n均为正整数,则多个第一候选数值包括a1,a2,…,an,多个第二候选数值包括b1,b2,…,bm,此时,在上述布尔值为真值的情况下,表征真值类型的真值数组可以为该布尔值对应的目标数组,在上述布尔值为假值的情况下,表征假值类型的假值数组可以为该布尔值对应的目标数组。
步骤103,所述发送端根据所述目标数组包括的多个候选数值获取目标混淆值。
在本发明实施例中,在上述布尔值为真值的情况下,表征真值类型的真值数组可以为该布尔值对应的目标数组;在上述布尔值为假值的情况下,表征假值类型的假值数组可以为该布尔值对应的目标数组。根据目标数组包括的多个候选数值获取目标混淆值,如,可以从上述目标数组中随机选取一个或多个候选数值,作为目标混淆值,或者,可以从上述目标数组中随机选取一个或多个候选数值,进行简单的运算等,作为目标混淆值等,加大了篡改者的破译难度。在本发明实施例中,对此不作具体限定。
在本发明实施例中,所述根据所述目标数组包括的多个候选数值获取目标混淆值,可以包括:从所述目标数组包括的多个候选数值中选择至少一个候选数值;对所述至少一个候选数值进行加密运算,得到所述目标混淆值;或者,从所述目标数组包括的多个候选数值中随机获取至少一个候选数值,以作为所述目标混淆值。
具体的,可以先从上述目标数组中随机选取至少一个候选数值,对上述至少一个候选数值进行加密运算,得到目标混淆值,加大篡改者的破译难度。该加密运算可以包括一元加密运算或二元加密运算等。一元加密运算可以包括:对上述至少一个候选数值取绝对值、取相反数、取三角函数、取反三角函数、逻辑非等运算。二元加密运算可以包括:用预设数值与上述至少一个候选数值进行加、减、乘、除、乘方、开方、对数、逻辑且、逻辑或等运算,得到目标混淆值。
例如,继续以步骤102中的示例为例进行说明,在该目标数组为该真值数组的情况下,可以从真值数组truelist中选择至少一个候选数值,如a2,可以将a2取相反数-a2,得到目标混淆值;在该目标数组为假值数组的情况下,可以从假值数组falselist中随机选择至少一个候选数值,如bn,可以将bn取相反数-bn,得到目标混淆值。
本申请可以从目标数组包括的多个待选择数值中随机获取至少一个候选数值,以作为目标混淆值,这样,加大了篡改者的破译难度。示例地,继续以步骤102中的示例为例进行说明,在该目标数组为该真值数组的情况下,可以从真值数组truelist中随机获取候选数值,以作为目标混淆值,如将a2作为目标混淆值;在该目标数组为假值数组的情况下,可以从假值数组falselist中随机获取候选数值,以作为目标混淆值,如将bn作为目标混淆值。
这样,可以通过该候选数值对布尔值进行混淆,使得篡改者不容易破译到混淆前的布尔值,另外,由于现有技术中,在布尔值为真值的情况下,将布尔值设置为“1”,在布尔值为假值的情况下,将布尔值设置为“0”,而本申请中可以根据多个候选数值获取混淆后的布尔值,从而使得发送端在后续步骤中发送的目标混淆值存在不确定性,增加了篡改者对目标混淆值的破译难度。
步骤104,所述发送端将所述目标混淆值发送至所述接收端。
在本发明实施例中,发送端和接收端可以进行通信,发送端将上述目标混淆值发送至接收端。
步骤105,所述接收端根据所述目标混淆值从所述候选数组中确定目标数组。
其中,该接收端和发送端存储的候选数组为相同数组,因此,本步骤可以通过真值数组中包括的多个第一候选数值,以及假值数组中包括的多个第二候选数值,确定该目标数组。
具体的,如,目标混淆值若从上述目标数组中直接随机选取得到,则,若目标混淆值为第一候选数值,目标数组为真值数组,若目标混淆值为第二候选数值,目标数组为假值数组。
如,针对步骤103中的例子,若目标混淆值a2从真值数组truelist中直接随机获取,则,接收端判断得出目标混淆值a2为第一候选数值,则,真值数组即为目标数组。
若目标混淆值为从上述目标数组中随机选取之后还进行了加密运算,则,在上述步骤105之前,还可以包括:对所述目标混淆值进行解密运算,得到候选数值;所述根据所述目标混淆值从所述候选数组中确定目标数组,可以包括:根据所述候选数值从所述候选数组中确定目标数组。
也就是说,若目标混淆值为从上述目标数组中随机选取之后还进行了加密运算,需要先对上述目标混淆值进行与上述加密运算对应的解密运算,若解密运算得到的候选数值为第一候选数值,则,目标数组为真值数组,若解密运算得到的候选数值为第二候选数值,目标数组为假值数组。上述解密运算可以为与上述加密运算的逆运算。
例如,继续以步骤103中的示例为例进行说明,若目标混淆值-a2为从真值数组truelist中随机获取之后进行了取相反数的加密运算,则接收端先对该目标混淆值-a2进行取相反数的解密运算,得到候选数值a2,接收端判断得出候选数值a2为第一候选数值,则,真值数组即为目标数组。
步骤106,所述接收端根据所述目标数组,确定所述发送端获取到的布尔值。
其中,由于真值数组对应真值类型,假值数组对应假值类型,因此,在该目标数组为真值数组的情况下,可以确定布尔类型为真值类型,在该目标数组为假值数组的情况下,可以确定布尔类型为假值类型。
采用上述方法,发送端和接收端均预设有候选数组;发送端获取布尔值;发送端从候选数组中确定布尔值对应的目标数组;目标数组中包括多个候选数值;发送端根据目标数组包括的多个候选数值获取目标混淆值;发送端将目标混淆值发送至接收端;接收端根据目标混淆值从候选数组中确定目标数组;接收端根据目标数组,确定发送端获取到的布尔值。综上,本申请通过数组查找的方式将布尔值进行混淆,得到目标混淆值,相对于现有技术中,简单运算的结果依然为实际布尔值0或1仅两种结果而言,上述目标混淆值的取值范围大、取值可能性多,首先使得篡改者较难破译到上述目标混淆值代表布尔类别,即使篡改者破译到上述目标混淆值代表布尔类别,由于目标混淆值的取值并不限于0或1两种,在没有目标混淆值与实际布尔值对应关系的情况下,使得篡改者根据上述目标混淆值,较难破译到混淆前的实际布尔值,从而较难对混淆后的布尔值进行篡改,进而提升了接收端获取到的布尔值的准确性。
参照图3,示出了本申请的第一种布尔值的混淆方法布尔值的混淆方法可选实施例的步骤流程图,应用于发送端,本申请中,上述发送端预设有候选数组,该候选数组用于表征布尔值为真值或布尔值为假值,上述候选数组的数量可以根据实际需要进行设定。如,上述候选数组可以为两个,分别可以为真值数组和假值数组,其中,真值数组可以用于表征布尔值为真值,假值数组可以用于表征布尔值为假值。
具体可以包括如下步骤:
步骤201,获取布尔值。
步骤202,从所述候选数组中确定所述布尔值对应的目标数组。
其中,目标数组中包括多个候选数值。
步骤203,根据所述目标数组包括的多个候选数值获取目标混淆值。
步骤204,将所述目标混淆值发送至接收端。
在本发明实施例中,上述步骤201至步骤204可以分别对应参照上述步骤101至步骤104中的相关记载,且能达到相同的效果,为了避免重复,此处不再赘述。
参照图4,示出了本申请的第二种布尔值的混淆方法布尔值的混淆方法可选实施例的步骤流程图,应用于接收端,本申请中,上述接收端预设有候选数组,该候选数组用于表征布尔值为真值或布尔值为假值,上述候选数组的数量可以根据实际需要进行设定。如,上述候选数组可以为两个,分别可以为真值数组和假值数组,其中,真值数组可以用于表征布尔值为真值,假值数组可以用于表征布尔值为假值。
具体可以包括如下步骤:
步骤301,接收发送端发送的目标混淆值。
其中,该目标混淆值为发送端根据目标数组中包括的多个候选数值获取到的混淆后的布尔值。
步骤302,根据所述目标混淆值从所述候选数组中确定目标数组。
其中,该接收端和发送端存储的候选数组为相同数组,该候选数组包括真值类型对应的真值数组和假值类型对应的假值数组,并且真值数组中包括的多个第一候选数值和假值数组中包括的多个第二候选数值均不相同,这样,本步骤可以通过真值数组中包括的多个第一候选数值,以及假值数组中包括的多个第二候选数值,确定该目标数组。
具体的,如,目标混淆值若从上述目标数组中直接随机选取得到,则,若目标混淆值为第一候选数值,目标数组为真值数组,若目标混淆值为第二候选数值,目标数组为假值数组。
示例地,若该真值数组truelist为[a1,a2,…,an],该假值数组falselist为[b1,b2,…,bm],m、n均为正整数,则多个第一候选数值为a1,a2,…,an,多个第二候选数值为b1,b2,…,bm,此时,若目标混淆值从真值数组truelist或假值数组falselist中直接随机获取,则,在该目标混淆值属于该真值数组的情况下,确定该目标数组为该真值数组,在该目标混淆值属于假值数组的情况下,确定该目标数组为该假值数组。
若目标混淆值为从上述目标数组中随机选取之后还进行了加密运算,则,在上述步骤302之前,还可以包括:对所述目标混淆值进行解密运算,得到候选数值;所述根据所述目标混淆值从所述候选数组中确定目标数组,可以包括:根据所述候选数值从所述候选数组中确定目标数组。
也就是说,若目标混淆值为从上述目标数组中随机选取之后还进行了加密运算,需要先对上述目标混淆值进行与上述加密运算对应的解密运算,若解密运算得到的候选数值为第一候选数值,则,目标数组为真值数组,若解密运算得到的候选数值为第二候选数值,目标数组为假值数组。上述解密运算可以为与上述加密运算的逆运算。
步骤303,根据所述目标数组,确定所述发送端获取到的布尔值。
在本发明实施例中,上述步骤302至步骤303可以分别对应参照上述步骤105至步骤106中的相关记载,为了避免重复,此处不再赘述。
采用上述步骤301至步骤303的方法,能够达到上述步骤105至步骤106中的相同效果,为了避免重复,此处不再赘述。
参照图5,示出了本申请的第三种布尔值的混淆方法布尔值的混淆方法可选实施例的步骤流程图,该方法应用于包括发送端和接收端的***,该发送端和接收端均预设有候选数组。关于上述***的相关描述可以参照前述记载,为了避免重复,此处不再赘述。具体可以包括如下步骤:
步骤401,所述发送端获取布尔值。
在本申请实施例中,该步骤可以参照上述步骤101或步骤201的相关记载,为了避免重复此处不再赘述。
步骤402,所述发送端获取所述布尔值对应的布尔类型。
在本发明实施例中,布尔值对应的布尔类型具体包括:真值类型、假值类型。继续以上述待验证信息为“发送端对应的电子设备的当前环境是否为安全状态”为例进行说明,在该“发送端对应的电子设备的当前环境为安全状态”的情况下,布尔值的布尔类型为真值类型,在“发送端对应的电子设备的当前环境为危险状态”的情况下,布尔值的布尔类型为假值类型,上述示例只是举例说明,本申请对此不作限定。
步骤403,所述发送端根据所述布尔类型从所述候选数组中确定所述目标数组。
其中,所述目标数组中包括多个候选数值。具体的,上述候选数值可以为任意的数值。在本发明实施例中,对此不作具体限定。
在本实施例中,该候选数组可以包括真值类型对应的真值数组和假值类型对应的假值数组,并且真值数组中包括的多个第一候选数值和假值数组中包括的多个第二候选数值均不相同,也就是说,两个数组之间不存在任何相同的数值。这样,可以在布尔类型包括真值类型的情况下,确定真值类型对应的真值数组为目标数组;在布尔类型包括假值类型的情况下,确定假值类型对应的假值数组为目标数组。
另外,为了使得接收端和发送端可以通过数组查找的方式进行布尔类型的获取,本申请中的接收端需要接收预处理器发送的真值数组和假值数组,并存储真值数组和假值数组,同理地,发送端需要接收预处理器发送的真值数组和假值数组,并存储真值数组和假值数组。具体可以参照上述图2以及针对图2的有关记载。
步骤404,所述发送端从所述目标数组包括的多个候选数值中选择至少一个候选数值;对所述至少一个候选数值进行加密运算,得到所述目标混淆值;或者,从所述目标数组包括的多个候选数值中随机获取至少一个候选数值,以作为所述目标混淆值。
在本发明实施例中,通过对选择的至少一个候选数值进行加密运算,加大了篡改者的破译难度。或者,通过随机获取目标混淆值,加大了篡改者的破译难度,由于每次获取到的目标混淆值可能均不相同,从而使得篡改者无规律可循。
在本发明实施例中,该步骤可以参照上述步骤103或步骤203的相关记载,为了避免重复,此处不再赘述。
步骤405,所述发送端将所述目标混淆值发送至接收端。
在本发明实施例中,该步骤可以参照上述步骤104或步骤204的相关记载,为了避免重复,此处不再赘述。
在本发明中,在上述步骤404中,如果,从所述目标数组包括的多个候选数值中随机获取至少一个候选数值,以作为所述目标混淆值,则,执行下述步骤406至步骤408,以及步骤411。
在本发明中,在上述步骤404中,如果,从所述目标数组包括的多个候选数值中选择至少一个候选数值;对所述至少一个候选数值进行加密运算,得到所述目标混淆值,则,执行下述步骤409至步骤410,以及步骤411。
步骤406,所述候选数组包括真值类型对应的真值数组和假值类型对应的假值数组,所述接收端判断所述真值数组中是否包括所述目标混淆值。
步骤407,在所述真值数组中包括所述目标混淆值的情况下,所述接收端判断出所述真值数组为目标数组。
步骤408,在所述真值数组中未包括所述目标混淆值的情况下,且所述接收端判断出所述假值数组中包括所述目标混淆值的情况下,判断出所述假值数组为所述目标数组。
在本发明实施例中,由于上述目标混淆值直接从目标数组包括的多个候选数值中随机获取得到,若真值数组中包括上述目标混淆值,则,真值数组即可为目标数组。若假值数组中包括上述目标混淆值,则,假值数组即可为目标数组。
在本发明实施例中,可选的,在真值数组和假值数组中均未包括目标混淆值的情况下,接收端确定目标混淆值为篡改值。
在本发明实施例中,由于上述目标混淆值直接从目标数组包括的多个候选数值中随机获取得到,而目标数组即为真值数组或假值数组中的任意一个,若假值数组和真值数组中均未包括上述目标混淆值,则,说明上述目标混淆值在传输过程中被攻击者篡改,该目标混淆值为篡改值。
步骤409,所述接收端对所述目标混淆值进行解密运算,得到候选数值。
步骤410,所述接收端根据所述候选值从所述候选数组中确定目标数组。
在本发明实施例中,若目标混淆值为从上述目标数组中随机选取之后还进行了加密运算,需要先对上述目标混淆值进行与上述加密运算对应的解密运算,若解密运算得到的候选数值为第一候选数值,则,目标数组为真值数组,若解密运算得到的候选数值为第二候选数值,目标数组为假值数组。上述解密运算可以为与上述加密运算的逆运算。
在本发明实施例中,上述步骤409至步骤410可以参照上述步骤105或步骤302中的有关描述,为了避免重复,此处不再赘述。
在本发明实施例中,可选的,若假值数组和真值数组中均未包括解密运算得到的候选数值,则,同样说明上述目标混淆值在传输过程中被攻击者篡改,该目标混淆值为篡改值。
步骤411,所述接收端根据所述目标数组,确定所述发送端获取到的布尔值。
在本发明实施例中,上述步骤411可以参照上述步骤106中的相关记载,为了避免重复,此处不再赘述。
采用上述方法,通过对选择的至少一个候选数值进行加密运算,得到目标混淆值,加大了篡改者的破译难度。或者,通过随机获取目标混淆值,加大了篡改者的破译难度,由于每次获取到的目标混淆值可能均不相同,从而使得篡改者无规律可循,使得篡改者根据上述目标混淆值,较难破译到混淆前的实际布尔值,从而较难对混淆后的布尔值进行篡改,进而提升了接收端获取到的布尔值的准确性。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图6,示出了本申请的一种布尔值的混淆***60实施例的结构框图,所述***60包括发送端61和接收端62,所述发送端和所述接收端均预设有候选数组;
其中,所述发送端61用于:获取布尔值;从所述候选数组中确定所述布尔值对应的目标数组;所述目标数组中包括多个候选数值;根据所述目标数组包括的多个候选数值获取目标混淆值;将所述目标混淆值发送至所述接收端62;
所述接收端62用于:根据所述目标混淆值从所述候选数组中确定目标数组;根据所述目标数组,确定所述发送端61获取到的布尔值。
采用上述***,能够达到上述步骤101至步骤106相同的有益效果,为了避免重复,此处不再赘述。
参照图7,示出了本申请的一种布尔值的混淆装置70实施例的结构框图,设置于发送端,所述发送端预设有候选数组;所述发送端具体可以包括如下模块:
布尔值获取模块71,用于获取布尔值;
目标数组确定模块72,用于从所述候选数组中确定所述布尔值对应的目标数组;所述目标数组中包括多个候选数值;
混淆值获取模块73,用于根据所述目标数组包括的多个候选数值获取目标混淆值;
发送模块74,用于将所述目标混淆值发送至接收端。
参照图8,在本申请的一个可选实施例中,所述目标数组确定模块72进一步包括:
布尔类型获取子模块721,用于获取所述布尔值对应的布尔类型;
目标数组确定子模块722,用于根据所述布尔类型从所述候选数组中确定所述目标数组。
在本申请的一个可选实施例中,所述候选数组包括真值类型对应的真值数组和假值类型对应的假值数组;所述目标数组确定子模块722具体用于若所述布尔类型为真值类型,确定所述真值数组为所述目标数组;或者,用于若所述布尔类型为假值类型,确定所述假值数组为所述目标数组;
其中,所述真值数组中包括的多个第一候选数值与所述假值数组中包括的多个第二候选数值均不相同。
在本申请的一个可选实施例中,所述混淆值获取模块73具体用于从所述目标数组包括的多个候选数值中选择至少一个候选数值;对所述至少一个候选数值进行加密运算,得到所述目标混淆值;或者,从所述目标数组包括的多个候选数值中随机获取至少一个候选数值,以作为所述目标混淆值。
采用上述装置,发送端预设有候选数组;发送端获取布尔值;发送端从候选数组中确定布尔值对应的目标数组;目标数组中包括多个候选数值;发送端根据目标数组包括的多个候选数值获取目标混淆值;发送端将目标混淆值发送至接收端。综上,本申请通过数组查找的方式将布尔值进行混淆,得到目标混淆值,相对于现有技术中,简单运算的结果依然为实际布尔值0或1仅两种结果而言,上述目标混淆值的取值范围大、取值可能性多,首先使得篡改者较难破译到上述目标混淆值代表布尔类别,即使篡改者破译到上述目标混淆值代表布尔类别,由于目标混淆值的取值并不限于0或1两种,在没有目标混淆值与实际布尔值对应关系的情况下,使得篡改者根据上述目标混淆值,较难破译到混淆前的实际布尔值,从而较难对混淆后的布尔值进行篡改,进而提升了接收端获取到的布尔值的准确性。
参照图9,示出了本申请的一种布尔值的混淆装置90实施例的结构框图,设置于接收端,所述接收端预设有候选数组;具体可以包括如下模块:
混淆值接收模块91,用于接收发送端发送的目标混淆值;
混淆值目标数组确定模块92,用于根据所述目标混淆值从所述候选数组中确定目标数组;
布尔值确定模块93,用于根据所述目标数组,确定所述发送端获取到的布尔值。
参照图10,在本申请的一个可选实施例中,所述候选数组包括真值类型对应的真值数组和假值类型对应的假值数组,所述混淆值目标数组确定模块92进一步包括:
真值数组混淆值判断子模块921,用于判断所述真值数组中是否包括所述目标混淆值;
真值数组判断子模块922,用于在所述真值数组中包括所述目标混淆值的情况下,判断出所述真值数组为所述目标数组;
假值数组判断子模块923,用于在所述真值数组中未包括所述目标混淆值的情况下,且判断出所述假值数组中包括所述目标混淆值的情况下,判断出所述假值数组为所述目标数组。
参照图11,在本申请的一个可选实施例中,所述装置还包括:
解密模块94,用于对所述目标混淆值进行解密运算,得到候选数值;
所述混淆值目标数组确定模块92具体用于根据所述候选数值从所述候选数组中确定目标数组。
采用上述装置,接收端预设有候选数组;接收端根据目标混淆值从候选数组中确定目标数组;接收端根据目标数组,确定发送端获取到的布尔值。综上,本申请通过数组查找的方式将布尔值进行混淆,得到目标混淆值,相对于现有技术中,简单运算的结果依然为实际布尔值0或1仅两种结果而言,上述目标混淆值的取值范围大、取值可能性多,首先使得篡改者较难破译到上述目标混淆值代表布尔类别,即使篡改者破译到上述目标混淆值代表布尔类别,由于目标混淆值的取值并不限于0或1两种,在没有目标混淆值与实际布尔值对应关系的情况下,使得篡改者根据上述目标混淆值,较难破译到混淆前的实际布尔值,从而较难对混淆后的布尔值进行篡改,进而提升了接收端获取到的布尔值的准确性。
本申请实施例还提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在终端设备时,可以使得该终端设备执行本申请实施例中各方法步骤的指令(instructions)。
图12为本申请一实施例提供的布尔值的混淆装置的硬件结构示意图。如图12所示,本实施例的布尔值的混淆装置包括处理器121以及存储器122。
处理器121执行存储器122所存放的计算机程序代码,实现上述实施例中图1至图5的布尔值的混淆方法。
存储器122被配置为存储各种类型的词语以支持在布尔值的混淆方法的操作。这些词语的示例包括用于在布尔值的混淆装置上操作的任何应用程序或方法的指令,例如消息,图片,视频等。存储器122可能包含随机存取存储器(random access memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如多个磁盘存储器。
可选地,处理器121设置在处理组件120中。该布尔值的混淆装置还可以包括:通信组件123,电源组件124,多媒体组件125,音频组件126,输入/输出接口127和/或传感器组件128。布尔值的混淆装置具体所包含的组件等依据实际需求设定,本实施例对此不做限定。
处理组件120通常控制布尔值的混淆装置的整体操作。处理组件120可以包括一个或多个处理器121来执行指令,以完成上述图1至图5方法的全部或部分步骤。此外,处理组件120可以包括一个或多个模块,便于处理组件120和其他组件之间的交互。例如,处理组件120可以包括多媒体模块,以方便多媒体组件125和处理组件120之间的交互。
电源组件124为布尔值的混淆装置的各种组件提供电力。电源组件124可以包括电源管理***,一个或多个电源,及其他与为布尔值的混淆装置生成、管理和分配电力相关联的组件。
多媒体组件125包括在布尔值的混淆装置和用户之间的提供一个输出接口的显示屏。在一些实施例中,显示屏可以包括液晶显示器(LCD)和触摸面板(TP)。如果显示屏包括触摸面板,显示屏可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
音频组件126被配置为输出和/或输入音频信号。例如,音频组件126包括一个麦克风(MIC)。所接收的音频信号可以被进一步存储在存储器122或经由通信组件123发送。在一些实施例中,音频组件126还包括一个扬声器,用于输出音频信号。
输入/输出接口127为处理组件120和***接口模块之间提供接口,上述***接口模块可以是点击轮,按钮等。这些按钮可包括但不限于:音量按钮、启动按钮和锁定按钮。
传感器组件128包括一个或多个传感器,用于为布尔值的混淆装置提供各个方面的状态评估。例如,传感器组件128可以检测到布尔值的混淆装置的打开/关闭状态,组件的相对定位,用户与布尔值的混淆装置接触的存在或不存在。传感器组件128可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。在一些实施例中,该传感器组件128还可以包括摄像头等。
通信组件123被配置为便于布尔值的混淆装置和其他设备之间有线或无线方式的通信。布尔值的混淆装置可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。
由上可知,在图12实施例中所涉及的通信组件123、音频组件126以及输入/输出接口127、传感器组件128均可以作为输入设备的实现方式。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程词语处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程词语处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程词语处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程词语处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种布尔值的混淆方法布和装置及计算机可读存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (17)
1.一种布尔值的混淆方法,其特征在于,应用于包括发送端和接收端的***,所述发送端和所述接收端均预设有候选数组;所述方法包括:
所述发送端获取布尔值;
所述发送端从所述候选数组中确定所述布尔值对应的目标数组;所述目标数组中包括多个候选数值;
所述发送端根据所述目标数组包括的多个候选数值获取目标混淆值;
所述发送端将所述目标混淆值发送至所述接收端;
所述接收端根据所述目标混淆值从所述候选数组中确定目标数组;
所述接收端根据所述目标数组,确定所述发送端获取到的布尔值;
其中,所述候选数组包括真值类型对应的真值数组和假值类型对应的假值数组;其中,所述真值数组中包括的多个第一候选数值与所述假值数组中包括的多个第二候选数值均不相同。
2.一种布尔类型的获取方法,其特征在于,应用于发送端,所述发送端预设有候选数组;所述方法包括:
获取布尔值;
从所述候选数组中确定所述布尔值对应的目标数组;所述目标数组中包括多个候选数值;
根据所述目标数组包括的多个候选数值获取目标混淆值;
将所述目标混淆值发送至接收端;
其中,所述候选数组包括真值类型对应的真值数组和假值类型对应的假值数组;其中,所述真值数组中包括的多个第一候选数值与所述假值数组中包括的多个第二候选数值均不相同。
3.根据权利要求2所述的方法,其特征在于,所述从所述候选数组中确定所述布尔值对应的目标数组,包括:
获取所述布尔值对应的布尔类型;
根据所述布尔类型从所述候选数组中确定所述目标数组。
4.根据权利要求3所述的方法,其特征在于,所述根据所述布尔类型从所述候选数组中确定所述目标数组,包括:
若所述布尔类型为真值类型,确定所述真值数组为所述目标数组;或者,若所述布尔类型为假值类型,确定所述假值数组为所述目标数组。
5.根据权利要求2所述的方法,其特征在于,所述根据所述目标数组包括的多个候选数值获取目标混淆值,包括:
从所述目标数组包括的多个候选数值中选择至少一个候选数值;对所述至少一个候选数值进行加密运算,得到所述目标混淆值;或者,
从所述目标数组包括的多个候选数值中随机获取至少一个候选数值,以作为所述目标混淆值。
6.一种布尔类型的获取方法,其特征在于,应用于接收端,所述接收端预设有候选数组;所述方法包括:
接收发送端发送的目标混淆值;
根据所述目标混淆值从所述候选数组中确定目标数组;
根据所述目标数组,确定所述发送端获取到的布尔值;
其中,所述候选数组包括真值类型对应的真值数组和假值类型对应的假值数组;其中,所述真值数组中包括的多个第一候选数值与所述假值数组中包括的多个第二候选数值均不相同。
7.根据权利要求6所述的方法,其特征在于,所述候选数组包括真值类型对应的真值数组和假值类型对应的假值数组,所述根据所述目标混淆值从所述候选数组中确定目标数组,包括:
判断所述真值数组中是否包括所述目标混淆值;
在所述真值数组中包括所述目标混淆值的情况下,判断出所述真值数组为所述目标数组;
在所述真值数组中未包括所述目标混淆值的情况下,且判断出所述假值数组中包括所述目标混淆值的情况下,判断出所述假值数组为所述目标数组。
8.根据权利要求6所述的方法,其特征在于,在所述根据所述目标混淆值从所述候选数组中确定目标数组之前,还包括:对所述目标混淆值进行解密运算,得到候选数值;
所述根据所述目标混淆值从所述候选数组中确定目标数组,包括:
根据所述候选数值从所述候选数组中确定目标数组。
9.一种布尔值的混淆***,其特征在于,所述***包括发送端和接收端,所述发送端和所述接收端均预设有候选数组;
其中,所述发送端用于:获取布尔值;从所述候选数组中确定所述布尔值对应的目标数组;所述目标数组中包括多个候选数值;根据所述目标数组包括的多个候选数值获取目标混淆值;将所述目标混淆值发送至所述接收端;
所述接收端用于:根据所述目标混淆值从所述候选数组中确定目标数组;根据所述目标数组,确定所述发送端获取到的布尔值;
其中,所述候选数组包括真值类型对应的真值数组和假值类型对应的假值数组;其中,所述真值数组中包括的多个第一候选数值与所述假值数组中包括的多个第二候选数值均不相同。
10.一种布尔值的混淆装置,其特征在于,设置于发送端,所述发送端预设有候选数组;所述装置包括:
布尔值获取模块,用于获取布尔值;
目标数组确定模块,用于从所述候选数组中确定所述布尔值对应的目标数组;所述目标数组中包括多个候选数值;
混淆值获取模块,用于根据所述目标数组包括的多个候选数值获取目标混淆值;
发送模块,用于将所述目标混淆值发送至接收端;
其中,所述候选数组包括真值类型对应的真值数组和假值类型对应的假值数组;其中,所述真值数组中包括的多个第一候选数值与所述假值数组中包括的多个第二候选数值均不相同。
11.根据权利要求10所述的装置,其特征在于,所述目标数组确定模块进一步包括:
布尔类型获取子模块,用于获取所述布尔值对应的布尔类型;
目标数组确定子模块,用于根据所述布尔类型从所述候选数组中确定所述目标数组。
12.根据权利要求11所述的装置,其特征在于,所述候选数组包括真值类型对应的真值数组和假值类型对应的假值数组;所述目标数组确定子模块具体用于若所述布尔类型为真值类型,确定所述真值数组为所述目标数组;或者,用于若所述布尔类型为假值类型,确定所述假值数组为所述目标数组;
其中,所述真值数组中包括的多个第一候选数值与所述假值数组中包括的多个第二候选数值均不相同。
13.根据权利要求10所述的装置,其特征在于,所述混淆值获取模块具体用于从所述目标数组包括的多个候选数值中选择至少一个候选数值;对所述至少一个候选数值进行加密运算,得到所述目标混淆值;或者,从所述目标数组包括的多个候选数值中随机获取至少一个候选数值,以作为所述目标混淆值。
14.一种布尔值的混淆装置,其特征在于,设置于接收端,所述接收端预设有候选数组;所述装置包括:
混淆值接收模块,用于接收发送端发送的目标混淆值;
混淆值目标数组确定模块,用于根据所述目标混淆值从所述候选数组中确定目标数组;
布尔值确定模块,用于根据所述目标数组,确定所述发送端获取到的布尔值;
其中,所述候选数组包括真值类型对应的真值数组和假值类型对应的假值数组;其中,所述真值数组中包括的多个第一候选数值与所述假值数组中包括的多个第二候选数值均不相同。
15.根据权利要求14所述的装置,其特征在于,所述候选数组包括真值类型对应的真值数组和假值类型对应的假值数组,所述混淆值目标数组确定模块进一步包括:
真值数组混淆值判断子模块,用于判断所述真值数组中是否包括所述目标混淆值;
真值数组判断子模块,用于在所述真值数组中包括所述目标混淆值的情况下,判断出所述真值数组为所述目标数组;
假值数组判断子模块,用于在所述真值数组中未包括所述目标混淆值的情况下,且判断出所述假值数组中包括所述目标混淆值的情况下,判断出所述假值数组为所述目标数组。
16.根据权利要求14所述的装置,其特征在于,所述装置还包括:
解密模块,用于对所述目标混淆值进行解密运算,得到候选数值;
所述混淆值目标数组确定模块具体用于根据所述候选数值从所述候选数组中确定目标数组。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1所述的布尔值的混淆方法的步骤;或者实现如权利要求2至5任一项所述的布尔值的混淆方法的步骤;或者实现如权利要求6至8任一项所述的布尔值的混淆方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910508003.9A CN110378083B (zh) | 2019-06-12 | 2019-06-12 | 一种布尔值的混淆方法和装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910508003.9A CN110378083B (zh) | 2019-06-12 | 2019-06-12 | 一种布尔值的混淆方法和装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110378083A CN110378083A (zh) | 2019-10-25 |
CN110378083B true CN110378083B (zh) | 2021-03-12 |
Family
ID=68250196
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910508003.9A Active CN110378083B (zh) | 2019-06-12 | 2019-06-12 | 一种布尔值的混淆方法和装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110378083B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102132289A (zh) * | 2008-08-21 | 2011-07-20 | 汤姆森特许公司 | 用于代码迷惑的方法及设备 |
CN102460404A (zh) * | 2009-06-01 | 2012-05-16 | 起元技术有限责任公司 | 生成混淆数据 |
CN108023724A (zh) * | 2016-11-04 | 2018-05-11 | 北京展讯高科通信技术有限公司 | 数据传输方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8185749B2 (en) * | 2008-09-02 | 2012-05-22 | Apple Inc. | System and method for revising boolean and arithmetic operations |
US10498528B2 (en) * | 2016-06-30 | 2019-12-03 | AEMEA Inc. | Clock computing Machines |
-
2019
- 2019-06-12 CN CN201910508003.9A patent/CN110378083B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102132289A (zh) * | 2008-08-21 | 2011-07-20 | 汤姆森特许公司 | 用于代码迷惑的方法及设备 |
CN102460404A (zh) * | 2009-06-01 | 2012-05-16 | 起元技术有限责任公司 | 生成混淆数据 |
CN108023724A (zh) * | 2016-11-04 | 2018-05-11 | 北京展讯高科通信技术有限公司 | 数据传输方法及装置 |
Non-Patent Citations (1)
Title |
---|
用于软件保护的代码混淆技术;罗宏 等;《计算机工程》;20060615;第32卷(第11期);第177-179页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110378083A (zh) | 2019-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107391298B (zh) | 数据存储状态检测方法、装置及计算机可读存储介质 | |
US11288371B2 (en) | Blockchain-based data processing method, apparatus, and device | |
CN107241364B (zh) | 文件下载方法及装置 | |
US20150121534A1 (en) | Content management using multiple abstraction layers | |
JP6814147B2 (ja) | 端末、方法、不揮発性記憶媒体 | |
CN105119888B (zh) | 插件安装包上传方法、安装方法及装置 | |
CN106650355B (zh) | 一种保护函数调用的方法及装置 | |
US8683563B1 (en) | Soft token posture assessment | |
KR101688182B1 (ko) | 위조 방지 검증 방법, 장치, 시스템, 프로그램 및 저장매체 | |
KR102474243B1 (ko) | 사용자 디바이스에 보안 모드를 제공하기 위한 방법 및 장치 | |
CN108880859B (zh) | 升级文件的配置方法、装置、服务器、终端及存储介质 | |
CN111339508A (zh) | 分享口令解析方法、装置、电子设备及存储介质 | |
CN112149137B (zh) | 漏洞检测方法、装置、电子设备及计算机可读存储介质 | |
CN108092947B (zh) | 一种对第三方应用进行身份鉴别的方法及装置 | |
JP2018521403A (ja) | バイナリ併合装置、その方法及び該コンピュータプログラム | |
CN103714277B (zh) | 电子设备及其应用实例管理方法 | |
CN111343204A (zh) | 控制命令混淆方法、装置及计算机可读存储介质 | |
CN110753257A (zh) | 数据显示方法、显示终端、服务器、显示***和存储介质 | |
CN104113588A (zh) | 一种互联网黄页的更新方法及装置 | |
CN110378083B (zh) | 一种布尔值的混淆方法和装置及计算机可读存储介质 | |
CN109120576B (zh) | 数据分享方法及装置、计算机设备及存储介质 | |
KR101325096B1 (ko) | 불법 복제 방지 시스템 및 불법 복제 방지 방법 | |
CN115828228A (zh) | 一种验证内存马检测能力的方法、装置及电子设备 | |
CN107463808B (zh) | 集成在操作***内的功能模块的调用方法 | |
CN113746845B (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 |