CN109743289B - 一种基于神经网络的数据验证方法、装置及电子设备 - Google Patents

一种基于神经网络的数据验证方法、装置及电子设备 Download PDF

Info

Publication number
CN109743289B
CN109743289B CN201811503994.3A CN201811503994A CN109743289B CN 109743289 B CN109743289 B CN 109743289B CN 201811503994 A CN201811503994 A CN 201811503994A CN 109743289 B CN109743289 B CN 109743289B
Authority
CN
China
Prior art keywords
sub
neural network
data
network module
output data
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
Application number
CN201811503994.3A
Other languages
English (en)
Other versions
CN109743289A (zh
Inventor
王虎森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Lianhua Future Technology Co.,Ltd.
Original Assignee
Beijing Lianhua Future Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Lianhua Future Technology Co ltd filed Critical Beijing Lianhua Future Technology Co ltd
Priority to CN201811503994.3A priority Critical patent/CN109743289B/zh
Publication of CN109743289A publication Critical patent/CN109743289A/zh
Application granted granted Critical
Publication of CN109743289B publication Critical patent/CN109743289B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明实施例公开了一种基于神经网络的数据验证方法、装置及电子设备,所述方法包括:将目标神经网络拆分为多个相互独立的子神经网络模块,并生成每个子神经网络模块的证明密钥和验证密钥;将子神经网络模块和每个子神经网络模块的证明密钥发送给证明方;接收证明方基于目标数据、子神经网络模块和每个子神经网络模块的证明密钥得到的每个子神经网络模块的子输出数据、子输入数据和证明信息,以及目标神经网络基于目标数据的输出数据;根据每个子神经网络模块的验证密钥,对每个子神经网络模块的子输出数据、子输入数据和证明信息进行验证,并对输出数据进行验证,以确定证明方是否持有目标数据。

Description

一种基于神经网络的数据验证方法、装置及电子设备
技术领域
本发明涉及电子技术领域,尤其涉及一种基于神经网络的数据验证方法、装置及电子设备。
背景技术
随着电子技术的不断发展,人们使用的神经网络规模越来越大,神经网络的层数也越来越复杂,基于大型神经网络的隐私问题,也受到人们较多的关注,人们将零知识证明与神经网络相结合,可以在不暴露所持有的秘密数据的同时,可以使对方确信自己持有该秘密数据。
基于大型神经网络的零知识证明是指,验证方对整个神经网络生成密钥对,再将神经网络和密钥对发送给秘密持有方(即证明方),证明方将秘密数据输入到该神经网络中,通过神经网络计算得到数据以及证明信息,在将证明信息发送给验证方,验证方结合密钥及证明信息,可以验证证明方是否持有该秘密数据。
但是,在上述处理过程中,由于整个神经网络较大,这样会生成数据量较大、内容较多且较为复杂的证明密钥对,从而消耗大量的内存资源,且该计算过程也较为复杂,导致双方进行零知识证明的时间较长,数据验证的效率低下。
发明内容
本发明实施例的目的是提供一种基于神经网络的数据验证方法、装置及电子设备,以解决现有技术中基于大型神经网络的零知识证明过程较长,内存消耗较大,数据验证的效率低下的问题。
为解决上述技术问题,本发明实施例是这样实现的:
第一方面,本发明实施例提供的一种基于神经网络的数据验证方法,所述方法包括:
将目标神经网络拆分为多个相互独立的子神经网络模块,并生成所述每个子神经网络模块的证明密钥和验证密钥;
将所述子神经网络模块和所述每个子神经网络模块的证明密钥发送给证明方;
接收所述证明方基于目标数据、所述子神经网络模块和所述每个子神经网络模块的证明密钥得到的所述每个子神经网络模块的子输出数据、子输入数据和证明信息,以及所述目标神经网络基于所述目标数据的输出数据;
根据所述每个子神经网络模块的验证密钥,对所述每个子神经网络模块的子输出数据、子输入数据和证明信息进行验证,并对所述输出数据进行验证,以确定所述证明方是否持有所述目标数据。
可选地,所述生成所述每个子神经网络模块的证明密钥和验证密钥之后,所述方法还包括:
确定所述子神经网络模块对应的验证函数,并将所述验证函数发送给所述证明方;
所述接收所述证明方基于目标数据、所述子神经网络模块和所述每个子神经网络模块的证明密钥得到的所述每个子神经网络模块的子输出数据、子输入数据和证明信息,包括:
接收所述证明方基于目标数据、所述子神经网络模块、所述验证函数以及所述每个子神经网络模块的证明密钥得到的所述每个子神经网络模块的子输出数据、子输入数据和证明信息。
可选地,所述输出数据包括所述目标神经网络基于所述目标数据的目标输出数据和第三随机字符串,所述根据所述每个子神经网络模块的验证密钥,对所述每个子神经网络模块的子输出数据、子输入数据和证明信息进行验证,并对所述输出数据进行验证,以确定所述证明方是否持有所述目标数据,包括:
基于所述验证密钥对所述证明信息进行处理,得到第一处理结果;
基于所述验证函数对所述输出数据进行处理,得到第二处理结果;
如果所述第一处理结果与所述子输出数据和所述子输入数据匹配成功,且所述第二处理结果与所述目标神经网络最后一个所述子神经网络模块的子输出数据相匹配,则确定所述证明方持有所述目标数据。
第二方面,本发明实施例提供的一种基于神经网络的数据验证方法,所述方法包括:
接收从目标神经网络拆分出的多个相互独立的子神经网络模块和每个所述子神经网络模块的证明密钥;
基于目标数据、所述子神经网络模块和所述每个子神经网络模块的证明密钥得到所述每个子神经网络模块的子输出数据、子输入数据和证明信息,以及确定所述目标神经网络基于所述目标数据的输出数据;
将所述每个子神经网络模块的子输出数据、子输入数据和证明信息,以及所述输出数据发送给验证方,以使所述验证方对所述每个子神经网络模块的子输出数据、子输入数据和证明信息进行验证,并对所述输出数据进行验证,以确定所述证明方是否持有所述目标数据。
可选地,所述基于所述目标数据、所述子神经网络模块和所述每个子神经网络模块的证明密钥得到所述每个子神经网络模块的子输出数据、子输入数据和证明信息之前,所述方法还包括:
接收验证方发送的所述子神经网络模块对应的验证函数;
所述基于所述目标数据、所述子神经网络模块和所述每个子神经网络模块的证明密钥得到所述每个子神经网络模块的子输出数据、子输入数据和证明信息,包括:
将所述目标数据输入所述目标神经网络,得到基于所述每个子神经网络模块的第一输入数据和第一输出数据;
基于所述验证函数,获取所述每个子神经网络模块的第一输入数据对应的子输入数据,以及所述第一输出数据对应的子输出数据;
基于所述证明密钥,生成所述每个子神经网络模块对应的证明信息。
可选地,所述基于所述验证函数,获取所述每个子神经网络模块的第一输入数据对应的子输入数据,以及所述第一输出数据对应的子输出数据,包括:
在每个子神经网络模块的第一输入数据加入第一随机字符串,并使用所述验证函数生成每个子神经网络模块对应的子输入数据;
在每个子神经网络模块的第一输出数据加入第二随机字符串,并使用所述验证函数生成每个子神经网络模块对应的子输出数据。
第三方面,本发明实施例提供了一种基于神经网络的数据验证装置,所述装置包括:
拆分模块,用于将目标神经网络拆分为多个相互独立的子神经网络模块,并生成所述每个子神经网络模块的证明密钥和验证密钥;
发送模块,用于将所述子神经网络模块和所述每个子神经网络模块的证明密钥发送给证明方;
接收模块,用于接收所述数据处理装置基于目标数据、所述子神经网络模块和所述每个子神经网络模块的证明密钥得到的所述每个子神经网络模块的子输出数据、子输入数据和证明信息,以及所述目标神经网络基于所述目标数据的输出数据;
验证模块,用于根据所述每个子神经网络模块的验证密钥,对所述每个子神经网络模块的子输出数据、子输入数据和证明信息进行验证,并对所述输出数据进行验证,以确定所述数据处理装置是否持有所述目标数据。
可选地,所述装置还包括:
函数发送模块,用于确定所述子神经网络模块对应的验证函数,并将所述验证函数发送给所述数据处理装置;
所述接收模块,包括:
接收单元,用于接收所述证明方基于目标数据、所述子神经网络模块、所述验证函数以及所述每个子神经网络模块的证明密钥得到的所述每个子神经网络模块的子输出数据、子输入数据和证明信息。
可选地,所述输出数据包括所述目标神经网络基于所述目标数据的目标输出数据和第三随机字符串,所述验证模块,包括:
第一处理单元,用于基于所述验证密钥对所述证明信息进行处理,得到第一处理结果;
第二处理单元,用于基于所述验证函数对所述输出数据进行处理,得到第二处理结果;
验证单元,用于如果所述第一处理结果与所述子输出数据和所述子输入数据匹配成功,且所述第二处理结果与所述目标神经网络最后一个所述子神经网络模块的子输出数据相匹配,则确定所述数据处理装置持有所述目标数据。
第四方面,本发明实施例提供了一种基于神经网络的数据验证装置,所述装置包括:
数据接收模块,用于接收从目标神经网络拆分出的多个相互独立的子神经网络模块和每个所述子神经网络模块的证明密钥;
数据处理模块,用于获取基于目标数据、所述子神经网络模块和所述每个子神经网络模块的证明密钥得到所述每个子神经网络模块的子输出数据、子输入数据和证明信息,以及确定所述目标神经网络基于所述目标数据的输出数据;
数据发送模块,用于将所述每个子神经网络模块的子输出数据、子输入数据和证明信息,以及所述输出数据发送给验证方,以使所述验证方对所述每个子神经网络模块的子输出数据、子输入数据和证明信息进行验证,并对所述输出数据进行验证,以确定所述证明方是否持有所述目标数据。
可选地,所述装置还包括:
函数接收模块,用于接收验证方发送的所述子神经网络模块对应的验证函数;
所述数据处理模块,包括:
第一处理单元,用于将所述目标数据输入所述目标神经网络,得到基于所述每个子神经网络模块的第一输入数据和第一输出数据;
第二处理单元,用于基于所述验证函数,获取所述每个子神经网络模块的第一输入数据对应的子输入数据,以及所述第一输出数据对应的子输出数据;
数据生成单元,用于基于所述证明密钥,生成所述每个子神经网络模块对应的证明信息。
可选地,所述第二处理单元,用于:
在每个子神经网络模块的第一输入数据加入第一随机字符串,并使用所述验证函数生成每个子神经网络模块对应的子输入数据;
在每个子神经网络模块的第一输出数据加入第二随机字符串,并使用所述验证函数生成每个子神经网络模块对应的子输出数据。
第五方面,本发明实施例提供一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述第一方面提供的基于神经网络的数据验证方法的步骤。
第六方面,本发明实施例提供一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述第二方面提供的基于神经网络的数据验证方法的步骤。
第七方面,本发明实施例提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述实施例提供的基于神经网络的数据验证方法的步骤。
由以上本发明实施例提供的技术方案可见,本发明实施例通过将目标神经网络拆分为多个相互独立的子神经网络模块,并生成每个子神经网络模块的证明密钥和验证密钥,然后将子神经网络模块和所述每个子神经网络模块的证明密钥发送给证明方,再接收证明方基于目标数据、子神经网络模块和每个子神经网络模块的证明密钥得到的每个子神经网络模块的子输出数据、子输入数据和证明信息,以及目标神经网络基于所述目标数据的输出数据后,根据每个子神经网络模块的验证密钥,对每个子神经网络模块的子输出数据、子输入数据和证明信息进行验证,并对输出数据进行验证,以确定证明方是否持有目标数据,这样,通过对目标神经网络的拆分,可以将复杂的大型目标神经网络拆分为多个相互独立的子神经网络模块,通过分别对子神经网络模块的数据进行验证,以及生成各个子神经网络模块的证明密钥和验证密钥,降低了对整体目标神经网络验证的复杂度,缩短了验证过程,节省了生成密钥的空间,提高了数据验证的整体效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种基于神经网络的数据验证方法实施例的流程图;
图2为本发明一种目标神经网络拆分子神经网络模块的示意图;
图3为本发明另一种基于神经网络的数据验证方法实施例的流程图;
图4为本发明又一种目标神经网络拆分子神经网络模块的示意图;
图5为本发明又一种基于神经网络的数据验证方法实施例的流程图;
图6为本发明一种基于神经网络的数据验证装置的结构示意图;
图7为本发明另一种基于神经网络的数据验证装置的结构示意图;
图8为本发明一种电子设备的结构示意图;
图9为本发明又一种电子设备的结构示意图。
具体实施方式
本发明实施例提供一种基于神经网络的数据验证方法、装置及电子设备。
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
实施例一
如图1所示,本发明实施例提供一种基于神经网络的数据验证方法,该方法的执行主体可以为终端设备或服务器,其中,该终端设备可以如个人计算机等设备,也可以如手机、平板电脑等移动终端设备,该终端设备可以为用户使用的终端设备。该服务器可以是独立的服务器,也可以是由多个服务器组成的服务器集群。该方法具体可以包括以下步骤:
在步骤S102中,将目标神经网络拆分为多个相互独立的子神经网络模块,并生成每个子神经网络模块的证明密钥和验证密钥。
其中,目标神经网络可以是任意可以用于进行数据验证的神经网络,例如,目标神经网络可以是径向基神经网络、霍普菲尔网络、卷积神经网络、生成式对抗网络等。子神经网络模块可以是根据预设的拆分规则对目标神经网络进行拆分后的相互独立的模块。对于证明密钥和验证密钥,如果验证方使用的是对称加密机制,则证明密钥可以是验证方用于对接收到证明信息进行解密的公钥,验证密钥可以是用于对数据进行加密的公钥,如果验证方使用的是非对称加密机制,则证明密钥为用于解密的私钥,验证密钥为用于加密的公钥。
在实施中,随着电子技术的不断发展,人们使用的神经网络规模越来越大,神经网络的层数也越来越复杂,基于大型神经网络的隐私问题,也受到人们较多的关注,人们将零知识证明与神经网络相结合,可以在不暴露所持有的秘密数据的同时,可以使对方确信自己持有该秘密数据。基于大型神经网络的零知识证明是指,验证方对整个神经网络生成密钥对,再将神经网络和密钥对发送给秘密持有方(即证明方),证明方将秘密数据输入到该神经网络中,通过神经网络计算得到数据以及证明信息,在将证明信息发送给验证方,验证方结合密钥及证明信息,可以验证证明方是否持有该秘密数据。
但是,在上述处理过程中,由于整个神经网络较大,这样会生成数据量较大、内容较多且较为复杂的证明密钥对,从而消耗大量的内存资源,且该计算过程也较为复杂,导致双方进行零知识证明的时间较长,数据验证的效率低下。
为此,本发明实施例提供一种能够解决上述问题的技术方案,具体可以包括以下内容:
可以根据预设的拆分规则将目标神经网络拆分为多个相互独立的子神经网络模块,例如,可以根据目标神经网络的层数,或者目标神经网络内神经元的排列方式,将目标神经网络拆分为多个相互独立的子神经网络模块,如,目标神经网络是由8个网络层组成,则可以将该目标神经网络拆分为8个子神经网络模块,每个子神经网络即为一层网络层,再如,目标神经网络可以是由4个网络层组成,每个网络层都包含4个神经元,则可以将每个网络层拆分为2个相互独立的子神经网络模块,即目标神经网络可以拆分为8个相互独立的子神经网络模块,上述实施例提供的是基于目标神经网络的层数,或目标神经网络内神经元的排列方式对目标神经网络进行拆分,除此之外,还可以根据目标神经网络中,神经元之间的连接情况进行拆分,例如,如果不是全连接的目标神经网络,即目标神经网络中每一层的神经元中,存在神经元,未与下层的所有神经元相连接,此时可以根据每层中神经元的连接情况对目标神经网络进行拆分。除上述拆分方法外,还可以根据实际应用场景的不同对目标神经网络实施不同的拆分方法,本发明实施例对此不做限定。
在对目标神经网络进行拆分后,可以对每个子神经网络模块设置对应的证明密钥和验证密钥,在生成密钥前,可以选择使用对称加密机制或非对称加密机制,如果使用对称加密机制,则验证密钥和证明密钥是同一密钥,需要对每个子神经网络模块生成一个包括两个相同密钥的密钥对(即验证密钥和证明密钥相同),如果使用非对称加密机制,则证明密钥为用于加密的公钥,验证密钥为用于解密的私钥,需要对每个子神经网络模块生成一对包含两个不同密钥的密钥对,即用于加密的公钥(证明密钥)和用于解密的私钥(验证密钥)。各个子神经网络模块的密钥对可以是相同的,也可以是不同的,或者,子神经网络模块的密钥对可以是部分相同,部分不同,例如,目标神经网络包含4个子神经网络模块,前两个子神经网络模块的密钥对可以是相同的,都为密钥对1,后两个子神经网络模块的密钥对可以是相同的,都为密钥对2,而密钥对1和密钥对2是不同的,各个子神经网络模块的密钥对的生成方法可以是多种多样的,本发明实施例对此不做限定。
在步骤S104中,将子神经网络模块和每个子神经网络模块的证明密钥发送给证明方。
在步骤S106中,接收证明方基于目标数据、子神经网络模块和每个子神经网络模块的证明密钥得到的每个子神经网络模块的子输出数据、子输入数据和证明信息,以及目标神经网络基于目标数据的输出数据。
其中,目标数据可以是证明方持有,且验证方未持有的任意数据,证明信息可以是基于子输出数据、子输入数据得到的信息,也可以是验证方和证明方预先约定的,用于证明子输出数据、子输入数据的信息。
在实施中,验证方接收到的每个子神经网络模块的证明信息可以是证明方通过证明密钥对每个子神经网络模块的子输出数据、子输入数据进行加密后的证明信息,例如,目标神经网络包含2个子神经网络模块,每个子神经网络模块有一个子输出数据和一个子输入数据,如果两个子神经网络模块的证明密钥分别是密钥1和密钥2,则第一个子神经网络模块的证明信息就是根据密钥1对该子神经网络模块的子输出数据和子输入数据进行加密得到的证明信息,第二个子神经网络模块的证明信息则是根据密钥2对第二个子神经网络模块的子输入数据和子输出数据进行加密得到的证明信息。
此外,加密前的证明信息也可以是每个子神经网络模块的子输入数据和子输出数据之间逻辑关系信息,例如,加密前的证明信息可以是:子输出数据需是子输入数据的3倍,或者证明信息可以是:子输出数据不大于子输入数据等。对不同的子神经网络模块可以设置相同的证明逻辑信息,例如,如图2所示,目标神经网络被拆分为3个子神经网络模块,每个子神经网络模块都包含2个神经元,其中,子神经网络模块1的子输入数据为目标神经网络的输入数据(即目标数据),子神经网络模块1的子输出数据为子神经网络模块2的子输入数据,子神经网络模块2的子输出数据为子神经网络模块3的子输入数据,子神经网络模块3的子输出数据为目标神经网络基于目标数据的输出数据,每个子神经网络模块的证明逻辑可以如表1所示,根据表1中的各个子神经网络模块的证明逻辑和证明密钥,可以得到各个子神经网络模块的证明信息,如,子神经网络模块1的证明信息是通过证明密钥1对子神经网络模块1的证明逻辑(即子输入数据小于子输出数据)进行加密后的证明信息。
表1
子神经网络模块 证明逻辑 证明密钥
子神经网络模块1 子输入数据小于子输出数据 证明密钥1
子神经网络模块2 子输出数据是子输入数据的3倍 证明密钥1
子神经网络模块3 子输入数据小于子输出数据 证明密钥2
在步骤S108中,根据每个子神经网络模块的验证密钥,对每个子神经网络模块的子输出数据、子输入数据和证明信息进行验证,并对输出数据进行验证,以确定证明方是否持有目标数据。
在实施中,当接收到证明方发送的子输出数据、子输入数据和证明信息后,可以通过验证密钥,对每个子神经网络模块的证明信息进行解密,通过对解密后的证明信息,对各个模块的子输出数据、子输入数据进行验证,根据证明结果确定证明方是否持有目标数据,例如,以表1中的子神经网络模块的证明逻辑为例,验证方根据验证密钥分别对证明信息1-3进行解密,得到各个子神经网络模块的证明逻辑,在对接收到的各个子神经网络模块的子输出数据和子输入数据进行比对验证,得到验证结果,如果接收到的3个子神经网络模块的子输出数据和子输入数据之间的逻辑关系都不满足各自对应的证明逻辑,或者有一个不满足证明逻辑,则确定证明方不持有目标数据。
此外,还需对接收的输出数据进行验证,例如,输出数据需满足预定的验证条件,或者输出数据经过预定运算后与目标神经网络最后一个或多个子神经网络模块的子输出数据之间的关系满足预定的验证条件,如图2所示,输出数据经过预定运算后需与子神经网络模块3的子输出数据相同,如果对输出数据验证成功,且对每个子神经网络模块的子输出数据、子输入数据和证明信息也验证成,则可以确定证明方持有目标数据。
本发明实施例提供一种基于神经网络的数据验证方法,通过将目标神经网络拆分为多个相互独立的子神经网络模块,并生成每个子神经网络模块的证明密钥和验证密钥,然后将子神经网络模块和所述每个子神经网络模块的证明密钥发送给证明方,再接收证明方基于目标数据、子神经网络模块和每个子神经网络模块的证明密钥得到的每个子神经网络模块的子输出数据、子输入数据和证明信息,以及目标神经网络基于所述目标数据的输出数据后,根据每个子神经网络模块的验证密钥,对每个子神经网络模块的子输出数据、子输入数据和证明信息进行验证,并对输出数据进行验证,以确定证明方是否持有目标数据,这样,通过对目标神经网络的拆分,可以将复杂的大型目标神经网络拆分为多个相互独立的子神经网络模块,通过对子神经网络模块的数据进行验证,以及生成各个子神经网络模块的证明密钥和验证密钥,降低了对整体目标神经网络验证的复杂度,缩短了验证过程,节省了生成密钥的空间,提高了数据验证的整体效率。
实施例二
如图3所示,本发明实施例提供一种基于神经网络的数据验证方法,该方法的执行主体可以为终端设备或服务器,其中,该终端设备可以如个人计算机等设备,也可以如手机、平板电脑等移动终端设备,该终端设备可以为用户使用的终端设备。该服务器可以是独立的服务器,也可以是由多个服务器组成的服务器集群。该方法具体可以包括以下步骤:
在步骤S302中,接收从目标神经网络拆分出的多个相互独立的子神经网络模块和每个子神经网络模块的证明密钥。
在步骤S304中,基于目标数据、子神经网络模块和每个子神经网络模块的证明密钥得到每个子神经网络模块的子输出数据、子输入数据和证明信息,以及确定目标神经网络基于目标数据的输出数据。
在实施中,当接收到验证方发送的子神经网络模块和证明密钥后,可以将目标数据输入该子神经网络模块,在经过目标神经网络中子神经网络模块的处理后,可以得到与该目标数据对应的输出数据,如图2所示,可以将目标数据输入子神经网络模块1,在经过子神经网络模块1-子神经网络模块3的处理后,子神经网络模块3最终的子输出数据即为目标数据基于该目标神经网络得到的输出数据,此外,如图4所示,接收到的目标神经网络可以是由4个子神经网络模块组成,其中目标神经网络是由两层网络结构组成,第一层包含2个子神经网络模块,分别为子神经网络模块1和子神经网络模块2,子神经网络模块1包含一个神经元,子神经网络模块2包含2个神经元,目标神经网络的第二层包括2个子神经网络模块,分别为包含2个神经元的子神经网络模块3,以及包含3个神经元的子神经网络模块4,根据子神经网络模块内包含的神经元与下一层内子神经网络模块包含的神经元之间的联系,以及子神经网络模块内包含神经元的个数,可以确定每一层的子神经网络模块的子输入数据与上一层子神经网络模块子输出数据之间的关系,例如,子神经网络模块1内包含1个神经元,子神经网络模块2内包含2个神经元,则可以将目标数据的三分之一作为子神经网络模块1的子输入数据,目标数据的三分之二作为子神经网络模块2的子输入数据,在子神经网络模块1和子神经网络模块2分别对各自的子输入数据进行计算后,得到对应的子输出数据时,也可以将子神经网络模块1的子输出数据的三分之一和子神经网络模块2的子输出数据的三分之二的和作为下一个子神经网络模块的子输入数据,以此类推,可以得到每个子神经网络模块的子输入数据和子输出数据,例如,目标数据为15,则子神经网络模块1的子输入数据为5,子神经网络模块2的子输入数据为10,如果子神经网络模块1的子输出数据为6,子神经网络模块2的子输出数据为24,则子神经网络模块3和子神经网络模块4的输入数据为20(6/3+24*2/3=20),子神经网络模块3的子输入数据为8(20*2/5=8),子神经网络模块4的子输入数据为12(20*3/5=12),如果子神经网络模块3的子输出数据为10,子神经网络模块4的子输出数据为40,则目标数据基于目标数据的输出数据为28(10*2/5+40*3/5=28)。
上述实施例提供的是一种可选地、可实现的目标数据基于目标神经网络得到输出数据,以及目标数据基于每个子神经网络模块得到各个子神经网络模块的子输入数据和子输出数据的方法,除上述方法外,还可以有多种获取输出数据、子输入数据、子输出数据的方法,本发明实施例对此不做限定。
基于得到的每个子神经网络模块的子输入数据和子输出数据,可以获取每个子神经网络模块的证明信息,证明信息的获取方法可见上述实施例一步骤S304中的部分内容,在此不再赘述。
在步骤S306中,将每个子神经网络模块的子输出数据、子输入数据和证明信息,以及输出数据发送给验证方,以使验证方对每个子神经网络模块的子输出数据、子输入数据和证明信息进行验证,并对输出数据进行验证,以确定证明方是否持有目标数据。
本发明实施例提供一种基于神经网络的数据验证方法,接收从目标神经网络拆分出的多个相互独立的子神经网络模块和每个子神经网络模块的证明密钥,然后基于目标数据、所述子神经网络模块和所述每个子神经网络模块的证明密钥得到每个子神经网络模块的子输出数据、子输入数据和证明信息,以及确定目标神经网络基于目标数据的输出数据,将每个子神经网络模块的子输出数据、子输入数据和证明信息,以及输出数据发送给验证方,以使验证方对每个子神经网络模块的子输出数据、子输入数据和证明信息进行验证,并对输出数据进行验证,以确定证明方是否持有所述目标数据,这样,通过对目标神经网络的拆分,可以将复杂的大型目标神经网络拆分为多个相互独立的子神经网络模块,通过对子神经网络模块的数据进行验证,以及生成各个子神经网络模块的证明密钥和验证密钥,降低了对整体目标神经网络验证的复杂度,缩短了验证过程,节省了生成密钥的空间,提高了数据验证的整体效率。
实施例三
如图5所示,本发明实施例提供一种基于神经网络的数据验证方法,该方法的执行主体可以为终端设备或服务器,其中,该终端设备可以如个人计算机等设备,也可以如手机、平板电脑等移动终端设备,该终端设备可以为用户使用的终端设备。该服务器可以是独立的服务器,也可以是由多个服务器组成的服务器集群。该方法具体可以包括以下步骤:
在步骤S502中,验证方将目标神经网络拆分为多个相互独立的子神经网络模块,并生成每个子神经网络模块的证明密钥和验证密钥。
上述S502的具体处理过程可以参见上述实施例一中S102的相关内容,在此不再赘述。
在步骤S504中,验证方将子神经网络模块和所述每个子神经网络模块的证明密钥发送给证明方。
在步骤S506中,验证方确定子神经网络模块对应的验证函数,并将验证函数发送给证明方。
其中,验证函数可以是对子神经网络模块的子输入数据和/或子输出数据进行数据转换的函数,例如自定义函数、哈希函数等。
在实施中,为避免验证方通过对接收到的数据进行转换,以得到证明方所持有的目标数据,可以对每个子神经网络模块设定对应的验证函数,以验证函数为哈希函数为例,哈希函数可以有MD4算法、MD5算法以及SHA1算法等,可以选择其中一个算法作为所有子神经网络模块的验证函数,或者可以为每个子神经网络模块设定不同的哈希函数,本发明实施例对此不做限定。
在步骤S508中,证明方将目标数据输入目标神经网络,得到基于每个子神经网络模块的第一输入数据和第一输出数据。
其中,第一输入数据可以是每个子神经网络模块基于前一个子神经网络模块得到的输入数据,第一输出数据可以是每个子神经网络模块的第一输入数据得到的输出数据。
在实施中,证明方在接收到从目标神经网络拆分出的多个相互独立的子神经网络模块和每个子神经网络模块的证明密钥,以及每个子神经网络模块对应的验证函数后,可以将目标数据输入到目标神经网络,得到基于每个子神经网络模块的第一输入数据和第一输出数据。
上述S508具体处理过程可以参见上述实施例二中S304的相关内容,在此不再赘述。
在步骤S510中,证明方基于验证函数,获取每个子神经网络模块的第一输入数据对应的子输入数据,以及第一输出数据对应的子输出数据。
在实施中,基于验证函数,可以获取每个子神经网络模块的第一输入数据对应的子输入数据,例如,以图2的目标神经网络为例,如果每个子神经网络模块的验证函数都为同一哈希函数,则在将目标数据输入子神经网络模块1后,目标数据就为子神经网络模块1的第一输入数据,通过哈希函数求得该第一输入数据对应的哈希值,此哈希值即为子神经网络模块1的第一输入数据对应的子输入数据,当第一输入数据通过子神经网络模块1后,可以得到第一输出数据,在对该第一输出数据生成对应的哈希值,即为第一输出数据对应的子神经网络模块1的子输出数据,子神经网络模块1的第一输出数据即为子神经网络模块2的第一输入数据,由于每个子神经网络模块的验证函数都为同一哈希函数,则子神经网络模块2的第一输入数据对应的子输入数据与子神经网络模块2的子输出数据相等,此外,可以为每个子神经网络模块设置不同的哈希函数,如,证明方接收到的子神经网络模块1的验证函数为哈希函数1,子神经网络模块2的验证函数为哈希函数2,则子神经网络模块1的子输出数据与子神经网络模块2的子输入数据由于所采用的验证函数不同而有所不同。
此外,除上述实施例采用的获取每个子神经网络模块的子输入数据和子输出数据的方法外,还可以有下列获取方法:
步骤一,在每个子神经网络模块的第一输入数据加入第一随机字符串,并使用验证函数生成每个子神经网络模块对应的子输入数据。
在实施中,可以通过随机函数,获取每个子神经网络模块的第一随机字符串,在计算每个子神经网络模块的子输入数据时,可以将每个子神经网络模块的第一输入数据加入第一随机字符串,然后通过验证函数,获取对应的子输入数据,例如,验证函数为哈希函数,第i子神经网络模块个子神经网络模块的第一随机字符串为rand_str1_i,则第i个子神经网络模块的子输入数据digest_in_i=hash(in_i||rand_str1_i),其中,in_i为第i个子神经网络模块的第一输入数据。
步骤二,在每个子神经网络模块的第一输出数据加入第二随机字符串,并使用验证函数生成每个子神经网络模块对应的子输出数据。
在实施中,可以通过随机函数,获取每个子神经网络模块的第二随机字符串,在计算每个子神经网络模块的子输出数据时,可以将每个子神经网络模块的第一输出数据加入第二随机字符串,然后通过验证函数,获取对应的子输出数据,例如,验证函数为哈希函数,第i子神经网络模块个子神经网络模块的第二随机字符串为rand_str2_i,则第i个子神经网络模块的子输出数据digest_out_i=hash(out_i||rand_str2_i),其中,out_i为第i个子神经网络模块的第一输出数据。
在步骤S512中,证明方基于证明密钥,生成每个子神经网络模块对应的证明信息。
上述S512的具体处理过程可以参见上述实施例二中S304的相关内容,在此不再赘述。
在步骤S514中,证明方确定目标神经网络基于目标数据的输出数据。
上述S514的具体处理过程可以参见上述实施例二中S304的相关内容,在此不再赘述。
在步骤S516中,证明方将每个子神经网络模块的子输出数据、子输入数据和证明信息,以及输出数据发送给验证方。
验证方接收到证明方基于目标数据、子神经网络模块、验证函数以及每个子神经网络模块的证明密钥得到的每个子神经网络模块的子输出数据、子输入数据和证明信息,以及目标神经网络基于目标数据的输出数据后,验证方可以对接收到的数据进行处理,具体处理过程可见下述步骤S518-S522。
在步骤S518中,验证方基于验证密钥对证明信息进行处理,得到第一处理结果。
上述S518的具体处理过程可以参见上述实施例一中S106的相关内容,在此不再赘述。
在步骤S520中,验证方基于验证函数对输出数据进行处理,得到第二处理结果。
其中,输出数据可以包括目标神经网络基于目标数据的目标输出数据和第三随机字符串。
在实施中,验证方接收到的输出数据可以包括目标神经网络基于目标数据的目标输出数据,如图2,目标输出函数即为子神经网络模块3的第一输出数据,此外,输出数据还可以包括第三随机字符串,验证方可以基于验证函数对目标输出数据和第三随机字符串进行处理,得到第二处理结果,即第二处理结果可以是digest_out1=hash(out||rand_str2),其中,out为目标输出数据,rand_str2为第三随机字符串。
在步骤S522中,如果第一处理结果与子输出数据和子输入数据匹配成功,且第二处理结果与目标神经网络最后一个子神经网络模块的子输出数据相匹配,则确定证明方持有目标数据。
此外,在获取到第二处理结果后,可以与目标神经网络基于目标数据得到的最后一个子神经网络模块的子输出数据进行匹配,如图2所示,基于验证函数对目标数据基于目标神经网络得到的目标输出数据进行处理的第二处理结果,需要与验证方接收到的子神经网络模块3的子输出数据相匹配,且第一处理结果与子输出数据和子输入数据匹配成功,则可以确定证明方持有目标数据。
本发明实施例提供一种基于神经网络的数据验证方法,验证方通过将目标神经网络拆分为多个相互独立的子神经网络模块,并生成每个子神经网络模块的证明密钥和验证密钥,然后将子神经网络模块和所述每个子神经网络模块的证明密钥发送给证明方,证明方在接收到子神经网络模块和证明密钥后,生成每个子神经网络模块的子输出数据、子输入数据和证明信息,以及目标数据基于目标神经网络的输出数据,再将这些数据发送给验证方,验证方接收到证明方基于目标数据、子神经网络模块和每个子神经网络模块的证明密钥得到的每个子神经网络模块的子输出数据、子输入数据和证明信息,以及目标神经网络基于所述目标数据的输出数据后,根据每个子神经网络模块的验证密钥,对每个子神经网络模块的子输出数据、子输入数据和证明信息进行验证,并对输出数据进行验证,以确定证明方是否持有目标数据,这样,通过对目标神经网络的拆分,可以将复杂的大型目标神经网络拆分为多个相互独立的子神经网络模块,通过对子神经网络模块的数据进行验证,以及生成各个子神经网络模块的证明密钥和验证密钥,降低了对整体目标神经网络验证的复杂度,缩短了验证过程,节省了生成密钥的空间,提高了数据验证的整体效率。
实施例四
以上为本发明实施例提供的基于神经网络的数据验证方法,基于同样的思路,本发明实施例还提供一种基于神经网络的数据验证装置,如图6所示。
该基于神经网络的数据验证装置包括:拆分模块601、发送模块602、接收模块603、验证模块604,其中:
拆分模块601,用于将目标神经网络拆分为多个相互独立的子神经网络模块,并生成所述每个子神经网络模块的证明密钥和验证密钥;
发送模块602,用于将所述子神经网络模块和所述每个子神经网络模块的证明密钥发送给证明方;
接收模块603,用于接收所述数据处理装置基于目标数据、所述子神经网络模块和所述每个子神经网络模块的证明密钥得到的所述每个子神经网络模块的子输出数据、子输入数据和证明信息,以及所述目标神经网络基于所述目标数据的输出数据;
验证模块604,用于根据所述每个子神经网络模块的验证密钥,对所述每个子神经网络模块的子输出数据、子输入数据和证明信息进行验证,并对所述输出数据进行验证,以确定所述数据处理装置是否持有所述目标数据。
在本发明实施例中,所述装置还包括:
函数发送模块,用于确定所述子神经网络模块对应的验证函数,并将所述验证函数发送给所述数据处理装置;
所述接收模块,包括:
接收单元,用于接收所述证明方基于目标数据、所述子神经网络模块、所述验证函数以及所述每个子神经网络模块的证明密钥得到的所述每个子神经网络模块的子输出数据、子输入数据和证明信息。
在本发明实施例中,所述输出数据包括所述目标神经网络基于所述目标数据的目标输出数据和第三随机字符串,所述验证模块604,包括:
第一处理单元,用于基于所述验证密钥对所述证明信息进行处理,得到第一处理结果;
第二处理单元,用于基于所述验证函数对所述输出数据进行处理,得到第二处理结果;
验证单元,用于如果所述第一处理结果与所述子输出数据和所述子输入数据匹配成功,且所述第二处理结果与所述目标神经网络最后一个所述子神经网络模块的子输出数据相匹配,则确定所述数据处理装置持有所述目标数据。
本发明实施例提供一种基于神经网络的数据验证装置,通过将目标神经网络拆分为多个相互独立的子神经网络模块,并生成每个子神经网络模块的证明密钥和验证密钥,然后将子神经网络模块和所述每个子神经网络模块的证明密钥发送给证明方,再接收证明方基于目标数据、子神经网络模块和每个子神经网络模块的证明密钥得到的每个子神经网络模块的子输出数据、子输入数据和证明信息,以及目标神经网络基于所述目标数据的输出数据后,根据每个子神经网络模块的验证密钥,对每个子神经网络模块的子输出数据、子输入数据和证明信息进行验证,并对输出数据进行验证,以确定证明方是否持有目标数据,这样,通过对目标神经网络的拆分,可以将复杂的大型目标神经网络拆分为多个相互独立的子神经网络模块,通过对子神经网络模块的数据进行验证,以及生成各个子神经网络模块的证明密钥和验证密钥,降低了对整体目标神经网络验证的复杂度,缩短了验证过程,节省了生成密钥的空间,提高了数据验证的整体效率。
实施例五
基于同样的思路,本发明实施例还提供一种基于神经网络的数据验证装置,如图7所示。
该基于神经网络的数据验证装置包括:数据接收模块701、数据处理模块702、数据发送模块703,其中:
数据接收模块701,用于接收从目标神经网络拆分出的多个相互独立的子神经网络模块和每个所述子神经网络模块的证明密钥;
数据处理模块702,用于获取基于目标数据、所述子神经网络模块和所述每个子神经网络模块的证明密钥得到所述每个子神经网络模块的子输出数据、子输入数据和证明信息,以及确定所述目标神经网络基于所述目标数据的输出数据;
数据发送模块703,用于将所述每个子神经网络模块的子输出数据、子输入数据和证明信息,以及所述输出数据发送给验证方,以使所述验证方对所述每个子神经网络模块的子输出数据、子输入数据和证明信息进行验证,并对所述输出数据进行验证,以确定所述证明方是否持有所述目标数据。
在本发明实施例中,所述装置还包括:
函数接收模块,用于接收验证方发送的所述子神经网络模块对应的验证函数;
所述数据处理模块,包括:
第一处理单元,用于将所述目标数据输入所述目标神经网络,得到基于所述每个子神经网络模块的第一输入数据和第一输出数据;
第二处理单元,用于基于所述验证函数,获取所述每个子神经网络模块的第一输入数据对应的子输入数据,以及所述第一输出数据对应的子输出数据;
数据生成单元,用于基于所述证明密钥,生成所述每个子神经网络模块对应的证明信息。
在本发明实施例中,所述第二处理单元,用于:
在每个子神经网络模块的第一输入数据加入第一随机字符串,并使用所述验证函数生成每个子神经网络模块对应的子输入数据;
在每个子神经网络模块的第一输出数据加入第二随机字符串,并使用所述验证函数生成每个子神经网络模块对应的子输出数据。
本发明实施例提供一种故障信息的收集装置,接收从目标神经网络拆分出的多个相互独立的子神经网络模块和每个子神经网络模块的证明密钥,然后基于目标数据、所述子神经网络模块和所述每个子神经网络模块的证明密钥得到每个子神经网络模块的子输出数据、子输入数据和证明信息,以及确定目标神经网络基于目标数据的输出数据,将每个子神经网络模块的子输出数据、子输入数据和证明信息,以及输出数据发送给验证方,以使验证方对每个子神经网络模块的子输出数据、子输入数据和证明信息进行验证,并对输出数据进行验证,以确定证明方是否持有所述目标数据,这样,通过对目标神经网络的拆分,可以将复杂的大型目标神经网络拆分为多个相互独立的子神经网络模块,通过对子神经网络模块的数据进行验证,以及生成各个子神经网络模块的证明密钥和验证密钥,降低了对整体目标神经网络验证的复杂度,缩短了验证过程,节省了生成密钥的空间,提高了数据验证的整体效率。
实施例六
图8为实现本发明各个实施例的一种电子设备的硬件结构示意图,该电子设备可以是上述实施例提供的终端设备或服务器,
该电子设备800包括但不限于:射频单元801、网络模块802、音频输出单元803、输入单元804、传感器805、显示单元806、用户输入单元807、接口单元808、存储器809、处理器810、以及电源811等部件。本领域技术人员可以理解,图8中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,电子设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
其中,处理器810,用于将目标神经网络拆分为多个相互独立的子神经网络模块,并生成所述每个子神经网络模块的证明密钥和验证密钥;
处理器810,还用于将所述子神经网络模块和所述每个子神经网络模块的证明密钥发送给证明方;
处理器810,还用于接收所述证明方基于目标数据、所述子神经网络模块和所述每个子神经网络模块的证明密钥得到的所述每个子神经网络模块的子输出数据、子输入数据和证明信息,以及所述目标神经网络基于所述目标数据的输出数据;
此外,处理器810,还用于根据所述每个子神经网络模块的验证密钥,对所述每个子神经网络模块的子输出数据、子输入数据和证明信息进行验证,并对所述输出数据进行验证,以确定所述证明方是否持有所述目标数据。
另外,所述处理器810,还用于确定所述子神经网络模块对应的验证函数,并将所述验证函数发送给所述证明方;
此外,所述处理器810,还用于接收所述证明方基于目标数据、所述子神经网络模块、所述验证函数以及所述每个子神经网络模块的证明密钥得到的所述每个子神经网络模块的子输出数据、子输入数据和证明信息。
另外,所述处理器810,还用于基于所述验证密钥对所述证明信息进行处理,得到第一处理结果;
此外,所述处理器810,还用于基于所述验证函数对所述目标数据进行处理,得到第二处理结果;
此外,所述处理器810,还用于如果所述第一处理结果与所述子输出数据和所述子输入数据匹配成功,且所述第二处理结果与所述目标神经网络最后一个所述子神经网络模块的子输出数据相匹配,则确定所述证明方持有所述目标数据。
本发明实施例提供一种设备,通过将目标神经网络拆分为多个相互独立的子神经网络模块,并生成每个子神经网络模块的证明密钥和验证密钥,然后将子神经网络模块和所述每个子神经网络模块的证明密钥发送给证明方,再接收证明方基于目标数据、子神经网络模块和每个子神经网络模块的证明密钥得到的每个子神经网络模块的子输出数据、子输入数据和证明信息,以及目标神经网络基于所述目标数据的输出数据后,根据每个子神经网络模块的验证密钥,对每个子神经网络模块的子输出数据、子输入数据和证明信息进行验证,并对输出数据进行验证,以确定证明方是否持有目标数据,这样,通过对目标神经网络的拆分,可以将复杂的大型目标神经网络拆分为多个相互独立的子神经网络模块,通过对子神经网络模块的数据进行验证,以及生成各个子神经网络模块的证明密钥和验证密钥,降低了对整体目标神经网络验证的复杂度,缩短了验证过程,节省了生成密钥的空间,提高了数据验证的整体效率。应理解的是,本发明实施例中,射频单元801可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器810处理;另外,将上行的数据发送给基站。通常,射频单元801包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元801还可以通过无线通信系统与网络和其他设备通信。
电子设备通过网络模块802为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
音频输出单元803可以将射频单元801或网络模块802接收的或者在存储器809中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元803还可以提供与电子设备800执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元803包括扬声器、蜂鸣器以及受话器等。
输入单元804用于接收音频或视频信号。输入单元804可以包括图形处理器(Graphics Processing Unit,GPU)8041和麦克风8042,图形处理器8041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元806上。经图形处理器8041处理后的图像帧可以存储在存储器809(或其它存储介质)中或者经由射频单元801或网络模块802进行发送。麦克风8042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元801发送到移动通信基站的格式输出。
电子设备800还包括至少一种传感器805,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板8061的亮度,接近传感器可在电子设备800移动到耳边时,关闭显示面板8061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别电子设备姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器805还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
显示单元806用于显示由用户输入的信息或提供给用户的信息。显示单元806可包括显示面板8061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板8061。
用户输入单元807可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元807包括触控面板8071以及其他输入设备8072。触控面板8071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板8071上或在触控面板8071附近的操作)。触控面板8071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器810,接收处理器810发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板8071。除了触控面板8071,用户输入单元807还可以包括其他输入设备8072。具体地,其他输入设备8072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
进一步的,触控面板8071可覆盖在显示面板8061上,当触控面板8071检测到在其上或附近的触摸操作后,传送给处理器810以确定触摸事件的类型,随后处理器810根据触摸事件的类型在显示面板8061上提供相应的视觉输出。虽然在图8中,触控面板8071与显示面板8061是作为两个独立的部件来实现电子设备的输入和输出功能,但是在某些实施例中,可以将触控面板8071与显示面板8061集成而实现电子设备的输入和输出功能,具体此处不做限定。
接口单元808为外部装置与电子设备800连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元808可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到电子设备800内的一个或多个元件或者可以用于在电子设备800和外部装置之间传输数据。
存储器809可用于存储软件程序以及各种数据。存储器809可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器409可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器810是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器809内的软件程序和/或模块,以及调用存储在存储器809内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。处理器810可包括一个或多个处理单元;优选的,处理器810可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器810中。
电子设备800还可以包括给各个部件供电的电源811(比如电池),优选的,电源811可以通过电源管理系统与处理器810逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
优选的,本发明实施例还提供一种电子设备,包括处理器810,存储器809,存储在存储器809上并可在所述处理器810上运行的计算机程序,该计算机程序被处理器810执行时实现上述基于神经网络的数据验证方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
实施例七
图9为实现本发明各个实施例的一种电子设备的硬件结构示意图,该电子设备可以是上述实施例提供的终端设备或服务器,
该电子设备800包括但不限于:射频单元901、网络模块902、音频输出单元903、输入单元904、传感器905、显示单元906、用户输入单元907、接口单元908、存储器909、处理器910、以及电源911等部件。本领域技术人员可以理解,图9中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,电子设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
其中,处理器910,用于接收从目标神经网络拆分出的多个相互独立的子神经网络模块和每个所述子神经网络模块的证明密钥;
处理器910,还用于基于目标数据、所述子神经网络模块和所述每个子神经网络模块的证明密钥得到所述每个子神经网络模块的子输出数据、子输入数据和证明信息,以及确定所述目标神经网络基于所述目标数据的输出数据;
处理器910,还用于将所述每个子神经网络模块的子输出数据、子输入数据和证明信息,以及所述输出数据发送给验证方,以使所述验证方对所述每个子神经网络模块的子输出数据、子输入数据和证明信息进行验证,并对所述输出数据进行验证,以确定所述证明方是否持有所述目标数据。
此外,处理器910,还用于接收验证方发送的所述子神经网络模块对应的验证函数;
另外,所述处理器910,还用于将所述目标数据输入所述目标神经网络,得到基于所述每个子神经网络模块的第一输入数据和第一输出数据;
此外,所述处理器910,还用于基于所述验证函数,获取所述每个子神经网络模块的第一输入数据对应的子输入数据,以及所述第一输出数据对应的子输出数据;
另外,所述处理器910,还用于基于所述证明密钥,生成所述每个子神经网络模块对应的证明信息。
此外,所述处理器910,还用于在每个子神经网络模块的第一输入数据加入第一随机字符串,并使用所述验证函数生成每个子神经网络模块对应的子输入数据;
此外,所述处理器910,还用于在每个子神经网络模块的第一输出数据加入第二随机字符串,并使用所述验证函数生成每个子神经网络模块对应的子输出数据。
本发明实施例提供一种电子设备,接收从目标神经网络拆分出的多个相互独立的子神经网络模块和每个子神经网络模块的证明密钥,然后基于目标数据、所述子神经网络模块和所述每个子神经网络模块的证明密钥得到每个子神经网络模块的子输出数据、子输入数据和证明信息,以及确定目标神经网络基于目标数据的输出数据,将每个子神经网络模块的子输出数据、子输入数据和证明信息,以及输出数据发送给验证方,以使验证方对每个子神经网络模块的子输出数据、子输入数据和证明信息进行验证,并对输出数据进行验证,以确定证明方是否持有所述目标数据,这样,通过对目标神经网络的拆分,可以将复杂的大型目标神经网络拆分为多个相互独立的子神经网络模块,通过对子神经网络模块的数据进行验证,以及生成各个子神经网络模块的证明密钥和验证密钥,降低了对整体目标神经网络验证的复杂度,缩短了验证过程,节省了生成密钥的空间,提高了数据验证的整体效率。
应理解的是,本发明实施例中,射频单元901可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器910处理;另外,将上行的数据发送给基站。通常,射频单元901包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元901还可以通过无线通信系统与网络和其他设备通信。
电子设备通过网络模块902为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
音频输出单元903可以将射频单元901或网络模块902接收的或者在存储器909中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元903还可以提供与电子设备900执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元903包括扬声器、蜂鸣器以及受话器等。
输入单元904用于接收音频或视频信号。输入单元904可以包括图形处理器(Graphics Processing Unit,GPU)9041和麦克风9042,图形处理器9041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元906上。经图形处理器9041处理后的图像帧可以存储在存储器909(或其它存储介质)中或者经由射频单元901或网络模块902进行发送。麦克风9042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元901发送到移动通信基站的格式输出。
电子设备900还包括至少一种传感器905,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板9061的亮度,接近传感器可在电子设备900移动到耳边时,关闭显示面板9061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别电子设备姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器905还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
显示单元906用于显示由用户输入的信息或提供给用户的信息。显示单元906可包括显示面板9061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板9061。
用户输入单元907可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元907包括触控面板9071以及其他输入设备9072。触控面板9071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板9071上或在触控面板9071附近的操作)。触控面板9071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器910,接收处理器910发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板9071。除了触控面板9071,用户输入单元907还可以包括其他输入设备9072。具体地,其他输入设备9072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
进一步的,触控面板9071可覆盖在显示面板9061上,当触控面板9071检测到在其上或附近的触摸操作后,传送给处理器910以确定触摸事件的类型,随后处理器910根据触摸事件的类型在显示面板9061上提供相应的视觉输出。虽然在图9中,触控面板9071与显示面板9061是作为两个独立的部件来实现电子设备的输入和输出功能,但是在某些实施例中,可以将触控面板9071与显示面板9061集成而实现电子设备的输入和输出功能,具体此处不做限定。
接口单元908为外部装置与电子设备900连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元908可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到电子设备900内的一个或多个元件或者可以用于在电子设备900和外部装置之间传输数据。
存储器909可用于存储软件程序以及各种数据。存储器909可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器409可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器910是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器909内的软件程序和/或模块,以及调用存储在存储器909内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。处理器910可包括一个或多个处理单元;优选的,处理器910可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器910中。
电子设备900还可以包括给各个部件供电的电源911(比如电池),优选的,电源911可以通过电源管理系统与处理器910逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
优选的,本发明实施例还提供一种电子设备,包括处理器910,存储器909,存储在存储器909上并可在所述处理器910上运行的计算机程序,该计算机程序被处理器910执行时实现上述基于神经网络的数据验证方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
实施例八
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例一-实施例三中提供的基于神经网络的数据验证方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(RandomAccess Memory,简称RAM)、磁碟或者光盘等。
本发明实施例提供一种计算机可读存储介质,通过将目标神经网络拆分为多个相互独立的子神经网络模块,并生成每个子神经网络模块的证明密钥和验证密钥,然后将子神经网络模块和所述每个子神经网络模块的证明密钥发送给证明方,再接收证明方基于目标数据、子神经网络模块和每个子神经网络模块的证明密钥得到的每个子神经网络模块的子输出数据、子输入数据和证明信息,以及目标神经网络基于所述目标数据的输出数据后,根据每个子神经网络模块的验证密钥,对每个子神经网络模块的子输出数据、子输入数据和证明信息进行验证,并对输出数据进行验证,以确定证明方是否持有目标数据,这样,通过对目标神经网络的拆分,可以将复杂的大型目标神经网络拆分为多个相互独立的子神经网络模块,通过对子神经网络模块的数据进行验证,以及生成各个子神经网络模块的证明密钥和验证密钥,降低了对整体目标神经网络验证的复杂度,缩短了验证过程,节省了生成密钥的空间,提高了数据验证的整体效率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。

Claims (9)

1.一种基于神经网络的数据验证方法,其特征在于,所述方法应用于验证方,所述方法包括:
将目标神经网络拆分为多个相互独立的子神经网络模块,并生成所述每个子神经网络模块的证明密钥和验证密钥;
将所述子神经网络模块和所述每个子神经网络模块的证明密钥发送给证明方;
接收所述证明方基于目标数据、所述子神经网络模块和所述每个子神经网络模块的证明密钥得到的所述每个子神经网络模块的子输出数据、子输入数据和证明信息,以及所述目标神经网络基于所述目标数据的输出数据;
根据所述每个子神经网络模块的验证密钥,对所述每个子神经网络模块的子输出数据、子输入数据和证明信息进行验证,并对所述输出数据进行验证,以确定所述证明方是否持有所述目标数据;
所述生成所述每个子神经网络模块的证明密钥和验证密钥之后,所述方法还包括:
确定所述子神经网络模块对应的验证函数,并将所述验证函数发送给所述证明方;
所述接收所述证明方基于目标数据、所述子神经网络模块和所述每个子神经网络模块的证明密钥得到的所述每个子神经网络模块的子输出数据、子输入数据和证明信息,包括:
接收所述证明方基于目标数据、所述子神经网络模块、所述验证函数以及所述每个子神经网络模块的证明密钥得到的所述每个子神经网络模块的子输出数据、子输入数据和证明信息;
其中,所述输出数据包括所述目标神经网络基于所述目标数据的目标输出数据和第三随机字符串,所述根据所述每个子神经网络模块的验证密钥,对所述每个子神经网络模块的子输出数据、子输入数据和证明信息进行验证,并对所述输出数据进行验证,以确定所述证明方是否持有所述目标数据,包括:
基于所述验证密钥对所述证明信息进行处理,得到第一处理结果;
基于所述验证函数对所述输出数据进行处理,得到第二处理结果;
如果所述第一处理结果与所述子输出数据和所述子输入数据匹配成功,且所述第二处理结果与所述目标神经网络最后一个所述子神经网络模块的子输出数据相匹配,则确定所述证明方持有所述目标数据。
2.一种基于神经网络的数据验证方法,其特征在于,所述方法应用于证明方,所述方法包括:
接收从目标神经网络拆分出的多个相互独立的子神经网络模块和每个所述子神经网络模块的证明密钥;
基于目标数据、所述子神经网络模块和所述每个子神经网络模块的证明密钥得到所述每个子神经网络模块的子输出数据、子输入数据和证明信息,以及确定所述目标神经网络基于所述目标数据的输出数据;
将所述每个子神经网络模块的子输出数据、子输入数据和证明信息,以及所述输出数据发送给验证方,以使所述验证方对所述每个子神经网络模块的子输出数据、子输入数据和证明信息进行验证,并对所述输出数据进行验证,以确定所述证明方是否持有所述目标数据;
其中,所述基于所述目标数据、所述子神经网络模块和所述每个子神经网络模块的证明密钥得到所述每个子神经网络模块的子输出数据、子输入数据和证明信息之前,所述方法还包括:
接收验证方发送的所述子神经网络模块对应的验证函数;
所述基于所述目标数据、所述子神经网络模块和所述每个子神经网络模块的证明密钥得到所述每个子神经网络模块的子输出数据、子输入数据和证明信息,包括:
将所述目标数据输入所述目标神经网络,得到基于所述每个子神经网络模块的第一输入数据和第一输出数据;
基于所述验证函数,获取所述每个子神经网络模块的第一输入数据对应的子输入数据,以及所述第一输出数据对应的子输出数据;
基于所述证明密钥,生成所述每个子神经网络模块对应的证明信息。
3.根据权利要求2所述的方法,其特征在于,所述基于所述验证函数,获取所述每个子神经网络模块的第一输入数据对应的子输入数据,以及所述第一输出数据对应的子输出数据,包括:
在每个子神经网络模块的第一输入数据加入第一随机字符串,并使用所述验证函数生成每个子神经网络模块对应的子输入数据;
在每个子神经网络模块的第一输出数据加入第二随机字符串,并使用所述验证函数生成每个子神经网络模块对应的子输出数据。
4.一种基于神经网络的数据验证装置,其特征在于,所述装置包括:
拆分模块,用于将目标神经网络拆分为多个相互独立的子神经网络模块,并生成所述每个子神经网络模块的证明密钥和验证密钥;
发送模块,用于将所述子神经网络模块和所述每个子神经网络模块的证明密钥发送给证明方;
接收模块,用于接收数据处理装置基于目标数据、所述子神经网络模块和所述每个子神经网络模块的证明密钥得到的所述每个子神经网络模块的子输出数据、子输入数据和证明信息,以及所述目标神经网络基于所述目标数据的输出数据;
验证模块,用于根据所述每个子神经网络模块的验证密钥,对所述每个子神经网络模块的子输出数据、子输入数据和证明信息进行验证,并对所述输出数据进行验证,以确定所述数据处理装置是否持有所述目标数据;
其中,所述装置还包括:
函数发送模块,用于确定所述子神经网络模块对应的验证函数,并将所述验证函数发送给所述数据处理装置;
所述接收模块,包括:
接收单元,用于接收所述证明方基于目标数据、所述子神经网络模块、所述验证函数以及所述每个子神经网络模块的证明密钥得到的所述每个子神经网络模块的子输出数据、子输入数据和证明信息;
其中,所述输出数据包括所述目标神经网络基于所述目标数据的目标输出数据和第三随机字符串,所述验证模块,包括:
第一处理单元,用于基于所述验证密钥对所述证明信息进行处理,得到第一处理结果;
第二处理单元,用于基于所述验证函数对所述输出数据进行处理,得到第二处理结果;
验证单元,用于如果所述第一处理结果与所述子输出数据和所述子输入数据匹配成功,且所述第二处理结果与所述目标神经网络最后一个所述子神经网络模块的子输出数据相匹配,则确定所述数据处理装置持有所述目标数据。
5.一种基于神经网络的数据验证装置,其特征在于,所述装置包括:
数据接收模块,用于接收从目标神经网络拆分出的多个相互独立的子神经网络模块和每个所述子神经网络模块的证明密钥;
数据处理模块,用于获取基于目标数据、所述子神经网络模块和所述每个子神经网络模块的证明密钥得到所述每个子神经网络模块的子输出数据、子输入数据和证明信息,以及确定所述目标神经网络基于所述目标数据的输出数据;
数据发送模块,用于将所述每个子神经网络模块的子输出数据、子输入数据和证明信息,以及所述输出数据发送给验证方,以使所述验证方对所述每个子神经网络模块的子输出数据、子输入数据和证明信息进行验证,并对所述输出数据进行验证,以确定证明方是否持有所述目标数据;
其中,所述装置还包括:
函数接收模块,用于接收验证方发送的所述子神经网络模块对应的验证函数;
所述数据处理模块,包括:
第一处理单元,用于将所述目标数据输入所述目标神经网络,得到基于所述每个子神经网络模块的第一输入数据和第一输出数据;
第二处理单元,用于基于所述验证函数,获取所述每个子神经网络模块的第一输入数据对应的子输入数据,以及所述第一输出数据对应的子输出数据;
数据生成单元,用于基于所述证明密钥,生成所述每个子神经网络模块对应的证明信息。
6.根据权利要求5所述的装置,其特征在于,所述第二处理单元,用于:
在每个子神经网络模块的第一输入数据加入第一随机字符串,并使用所述验证函数生成每个子神经网络模块对应的子输入数据;
在每个子神经网络模块的第一输出数据加入第二随机字符串,并使用所述验证函数生成每个子神经网络模块对应的子输出数据。
7.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1所述的基于神经网络的数据验证方法的步骤。
8.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求2至3中任一项所述的基于神经网络的数据验证方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至3中任一项所述的基于神经网络的数据验证方法的步骤。
CN201811503994.3A 2018-12-10 2018-12-10 一种基于神经网络的数据验证方法、装置及电子设备 Active CN109743289B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811503994.3A CN109743289B (zh) 2018-12-10 2018-12-10 一种基于神经网络的数据验证方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811503994.3A CN109743289B (zh) 2018-12-10 2018-12-10 一种基于神经网络的数据验证方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN109743289A CN109743289A (zh) 2019-05-10
CN109743289B true CN109743289B (zh) 2021-05-14

Family

ID=66358798

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811503994.3A Active CN109743289B (zh) 2018-12-10 2018-12-10 一种基于神经网络的数据验证方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN109743289B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111382455B (zh) * 2020-03-18 2023-05-26 北京丁牛科技有限公司 一种文件保护方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011113478A1 (de) * 2010-03-16 2011-09-22 Carlo Trugenberger Authentifizierungssystem, verfahren zur authentifizierung eines objekts, vorrichtung zur erzeugung einer identifikationseinrichtung, verfahren zur erzeugung einer identifikationseinrichtung
CN106652453A (zh) * 2016-12-28 2017-05-10 芜湖乐锐思信息咨询有限公司 基于神经网络的交通信息管理系统
CN108304858A (zh) * 2017-12-28 2018-07-20 中国银联股份有限公司 对抗样本识别模型生成方法、验证方法及其系统
CN108712260A (zh) * 2018-05-09 2018-10-26 曲阜师范大学 云环境下保护隐私的多方深度学习计算代理方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8544089B2 (en) * 2009-08-17 2013-09-24 Fatskunk, Inc. Auditing a device
US8990570B2 (en) * 2012-07-31 2015-03-24 Alcatel Lucent Secure function evaluation for a covert client and a semi-honest server using string selection oblivious transfer
FR3052286B1 (fr) * 2016-06-06 2018-06-15 Morpho Procede de verification d'un droit d'acces d'un individu

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011113478A1 (de) * 2010-03-16 2011-09-22 Carlo Trugenberger Authentifizierungssystem, verfahren zur authentifizierung eines objekts, vorrichtung zur erzeugung einer identifikationseinrichtung, verfahren zur erzeugung einer identifikationseinrichtung
CN106652453A (zh) * 2016-12-28 2017-05-10 芜湖乐锐思信息咨询有限公司 基于神经网络的交通信息管理系统
CN108304858A (zh) * 2017-12-28 2018-07-20 中国银联股份有限公司 对抗样本识别模型生成方法、验证方法及其系统
CN108712260A (zh) * 2018-05-09 2018-10-26 曲阜师范大学 云环境下保护隐私的多方深度学习计算代理方法

Also Published As

Publication number Publication date
CN109743289A (zh) 2019-05-10

Similar Documents

Publication Publication Date Title
CN110417543B (zh) 一种数据加密方法、装置和存储介质
CN109257336B (zh) 一种基于区块链的密码信息处理方法、终端设备
CN109766705B (zh) 一种基于电路的数据验证方法、装置及电子设备
CN111598573A (zh) 一种设备指纹验证方法及装置
CN115270163B (zh) 数据处理方法、相关装置及存储介质
CN114553612B (zh) 数据加密、解密方法、装置、存储介质及电子设备
CN114629649B (zh) 基于云计算的数据处理方法、装置及存储介质
CN111027972B (zh) 一种基于区块链的数据验证方法、装置及电子设备
CN106599698A (zh) 一种加密图片、解密图片的方法和装置
CN108933670B (zh) 一种数字签名方法、装置、移动设备及存储介质
CN109145644B (zh) 私钥混淆及数字签名生成方法、装置、智能设备
CN115630389A (zh) 数据处理方法、装置、设备及存储介质
CN109743289B (zh) 一种基于神经网络的数据验证方法、装置及电子设备
CN113112011B (zh) 一种数据预测方法及装置
CN110597840B (zh) 基于区块链的伴侣关系建立方法、装置、设备及存储介质
CN109451011B (zh) 一种基于区块链的信息存储方法及移动终端
CN115174758B (zh) 图片的加密方法、装置、电子设备及存储介质
CN114092101B (zh) 交易验证方法、装置、存储介质及电子设备
CN110289950B (zh) 一种密钥信息生成方法及装置
CN115589286A (zh) 一种数据加解密方法、装置、电子设备及存储介质
CN112989370B (zh) 密钥灌装方法、系统、装置、设备以及存储介质
CN115114106A (zh) 一种出账任务处理方法、装置及设备
CN114124418B (zh) 一种基于区块链的数据处理方法、装置、系统及电子设备
CN106201768B (zh) 数据存储方法及装置
CN110769415B (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
TA01 Transfer of patent application right

Effective date of registration: 20210120

Address after: 100080 1120-64, 11 / F, 18 Zhongguancun Street, Haidian District, Beijing

Applicant after: Beijing Lianhua Future Technology Co.,Ltd.

Address before: 310012 station 7, room 118, No.7 Cuibai Road, Xihu District, Hangzhou City, Zhejiang Province

Applicant before: HANGZHOU YINZHI TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant