防止安全多方计算中参与者错误表示输入数据

文档序号:1440032 发布日期:2020-02-14 浏览:12次 >En<

阅读说明:本技术 防止安全多方计算中参与者错误表示输入数据 (Preventing participant misrepresentation of input data in secure multi-party computing ) 是由 李漓春 林文珍 刘正 殷山 于 2019-03-18 设计创作,主要内容包括:本文公开了用于安全多方计算的方法、系统和装置,包括编码在计算机存储介质上的计算机程序。所述方法之一包括:识别同态加密的可信输入数据项;生成消息认证码(MAC)密钥份额;产生与可信输入数据项相关联的MAC份额,其中,MAC份额为随机数;基于可信输入数据项、MAC密钥份额和MAC份额生成密文;将密文发送到第二计算设备,其中,第二计算设备使用密文作为与秘密输入数据项相关联的MAC份额的分量;以及在所述多个计算设备完成所述多方计算之后,至少部分地基于与所述秘密输入数据项相关联的MAC份额验证所述多方计算的结果。(Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for secure multi-party computing are disclosed. One of the methods comprises: identifying a homomorphically encrypted trusted input data item; generating a Message Authentication Code (MAC) key share; generating a MAC share associated with the trusted input data item, wherein the MAC share is a random number; generating a ciphertext based on the trusted input data item, the MAC key share, and the MAC share; transmitting the ciphertext to a second computing device, wherein the second computing device uses the ciphertext as a component of a MAC share associated with the secret input data item; and after the plurality of computing devices complete the multi-party computation, verify results of the multi-party computation based at least in part on the MAC shares associated with the secret input data item.)

防止安全多方计算中参与者错误表示输入数据

技术领域

本文涉及安全多方计算。

背景技术

安全多方计算涉及多个参与者计算设备,这些参与者计算设备协作以基于来自每个参与者的输入执行计算,该输入将对其他参与者保密。现有技术提供了参与者在不知道其他参与者的秘密输入数据的情况下验证计算的最终结果是正确的机制。

分布式账本系统(DLS),也可以被称为共识网络和/或区块链网络,使得参与实体能够安全地并且不可篡改地存储数据。在不引用任何特定用例的情况下,DLS通常被称为区块链网络。区块链网络类型的示例可以包括公有区块链网络、私有区块链网络和联盟区块链网络。为选定实体群组提供联盟区块链网络,该实体控制共识处理,并且联盟区块链网络包括访问控制层。

现有安全多方计算技术无法保证每个计算参与者正确地表示他们的秘密输入数据。因此,一方可以通过操纵他们自己的秘密输入数据影响最终的计算结果,如果这对他们有利。期待有技术允许多方计算的其他参与者验证所有秘密输入数据正被其他参与者准确表示。

发明内容

本文描述了用于防止多方计算中参与者错误表示输入数据的技术。这些技术通常涉及一方获得可信输入数据项,该可信输入数据项是另一方的秘密输入数据的同态加密版本。然后,该方生成可信输入数据项的可信消息认证码(message authentication code,MAC)份额(share),并且至少部分地基于可信MAC份额生成密文。然后,该方将密文提供给与秘密输入数据相关联的一方,与秘密输入数据相关联的一方利用从另一方接收的密文作为分量计算其秘密输入数据的MAC份额。

本文还提供了一个或多个非暂时性计算机可读存储介质,所述计算机可读存储介质耦接到一个或多个处理器并且其上存储有指令,所述指令当由一个或多个处理器执行时,促使一个或多个处理器执行根据本文提供的方法的实施例的操作。

本文还提供了一种用于实现本文提供的方法的系统。所述系统包括一个或多个处理器,以及耦接到所述一个或多个处理器且其上存储有指令的计算机可读存储介质,所述指令当被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据本文提供的方法的实施例的操作。

应当理解,根据本文的方法可以包括本文描述的方面和特征的任何组合。也就是说,根据本文的方法不限于本文具体描述的方面和特征的组合,而是还包括所提供的方面和特征的任何组合。

在附图和以下描述中阐述了本文的一个或多个实施例的细节。从说明书和附图以及权利要求书来看,本文的其他特征和优点将变得明显。

附图说明

图1是示出可用于执行本文实施例的环境的示例的示图。

图2描绘了根据本公开的实施方式的信号流的示例。

图3描绘了可以根据文实施例执行的处理的示例。

图4描绘了根据文实施例的装置的模块的示例。

在各个附图中,相同的附图标记和名称表示相同的元件。

具体实施方式

为了提供本文的实施例的进一步的背景,并且如上所述,安全多方计算涉及多个参与者计算设备,这些参与者计算设备协作以基于来自每个参与者的输入执行计算,所述输入将对其他参与者保密。用于执行安全多方计算的一个技术是

Figure BDA0002317679110000031

(SPDZ)协议(原始SPDZ协议或其变体)。在SPDZ中,多方就在多方之间秘密共享的MAC密钥达成一致,因此没有一方知道该MAC密钥。各方使用MAC密钥的份额生成其秘密输入数据的MAC,该MAC可用于验证秘密输入数据的份额在计算期间未被其他各方篡改。然后,每一方与其他方秘密共享MAC(作为“MAC份额”)和秘密输入数据,使得每一方接收份额。然后,每一方对其已接收的所有输入和MAC份额执行本地计算,以产生结果份额z和结果MAC份额M(z)。对于具有n方的加法计算,根据以下等式确定最终结果r:

r=z1+z2+…zn

多方计算的MAC结果M(r)由以下等式确定:

M(r)=M(z1)+M(z2)+…M(zn)

如果恶意方试图通过提供错误结果z来篡改计算,则将不能够更改相应的MAC值以使其与错误结果匹配。因此,最终MAC结果M(r)将与结果r不匹配,并且将向其他方警告所述篡改。

在上述方法中,恶意方仍可通过错误表示其秘密输入数据的值来篡改计算。使用上述方案不能检测到这种错误表示。

本文描述了用于防止多方计算中参与者错误表示输入数据的技术。这些技术通常包括一方从诸如区块链的可信源获得另一方的秘密输入数据的同态加密版本。然后,该方生成加密数据的消息认证码(MAC,message authentication code),并将该MAC提供给与秘密输入数据相关联的一方,该与秘密输入数据相关联的一方利用从另一方接收的MAC作为分量计算其秘密输入数据的MAC。通过将秘密输入数据的MAC与从可信源获得的相应密文绑定,可以确保每一方正正确地表示其秘密输入数据,可信源诸如为区块链、已经对可信输入数据进行加密签名的可信方或其他源等。

区块链是以交易不可篡改的方式存储交易的数据结构。因此,区块链上记录的交易是可靠且可信的。区块链是用于存储交易的分布式或至少部分分布式的数据结构。区块链网络是通过广播、验证和确认交易等来管理、更新和维护一个或多个区块链的计算节点的网络。在一些示例中,提供为跨所有节点复制的区块链的全局区块链。也就是说,所有的共识节点相对于全局区块链处于完全状态共识。为了实现共识(例如,同意将区块添加到区块链),在联盟区块链网络内实现共识协议。例如,联盟区块链网络可以实现实用拜占庭容错(PBFT)共识。本文描述的技术利用区块链的共识机制来确保从区块链检索到的可信输入数据自从其被输入到区块链中以来就没有改变。

图1是示出可用于执行本文实施例的环境100的示例的示图。在一些示例中,环境100使得实体能够参与多方计算。环境100包括节点102a-d和网络120。在一些示例中,网络120包括局域网(LAN)、广域网(WAN)、因特网或其组合,并且连接网站、用户设备(例如,计算设备)和后端系统。在一些示例中,可以通过有线和/或无线通信链路访问网络120。在一些示例中,网络120使得能与环境100通信以及能在环境100内通信。通常,网络120表示一个或多个通信网络。在一些情况下,节点102a-d可以是云计算系统(未示出)的节点,或者每个节点102a-d可以是单独的云计算系统,包括通过网络互连的多个计算机,并且作为分布式处理系统起作用。

在所描述的示例中,节点102a-d各自可以包括能够参与多方计算的任何适当的计算系统。计算设备的示例包括但不限于服务器、台式计算机、膝上型计算机、平板计算设备和智能电话。在一些示例中,节点102a-d承载一个或多个计算机实现的服务,用于与参与多方计算的其他节点交互。在一些实施方式中,节点102a可以与第一实体相关联,并且可以存储与第一实体相关联的数据。节点102b可以承载第二实体的计算机实现的服务,并且可以存储与第二实体相关联的数据。在图1的示例中,环境100被表示为参与多方计算的节点102a-d的对等网络。

节点102a存储将由节点102a作为多方计算的输入而提供的秘密输入数据140。在一些示例中,秘密输入数据140是其值不应泄露给参与多方计算的其他节点102b-d的敏感数据。在一些情况下,节点102a-d各自存储其自己的秘密输入数据。如上所述,使用诸如SPDZ的算法,节点102a-d可以对来自每个节点的秘密输入数据执行多方计算,并且产生正确的和可验证的计算结果,且没有任何节点向任何其他节点泄露其秘密输入数据的真实值。

节点102b存储与节点102a所存储的秘密输入数据140相对应的可信输入数据150。在一些情况下,可信输入数据150可以是秘密输入数据140的加密表示,只有节点102a持有解密密钥,这意味着节点102b不能从可信输入数据150获知秘密输入数据140的真实值。在一些情况下,节点102b从在此示出为区块链的可信数据源110获得可信输入数据150。在一些示例中,从确保可信输入数据150的真实性的源获得可信输入数据150。例如,适当维护的区块链确保存储在该区块链中的数据一旦被存储就不可篡改,这意味着在可信输入数据150被存储在该区块链中之后,该可信输入数据150的值被节点102a或任何其他参与者改变的风险很小。可信输入数据150还可以从可信第三方获得,该可信第三方对可信输入数据150进行加密签名以允许验证其真实性。在一些情况下,可信输入数据150可以是秘密输入数据140的加密哈希值,并且节点102b可以从节点102a获得零知识证明算法以验证加密哈希值对应于秘密输入数据140的哈希值。

图2描绘了根据本公开的实施方式的信号流200的示例。在210处,节点102b从可信数据源110检索与节点102a所存储的秘密输入数据140相对应的可信输入数据150。在220处,节点102b基于可信输入数据150生成可信MAC份额。在一些情况下,可信MAC份额可以基于由节点102b生成的MAC密钥份额,所述MAC密钥份额是由参与多方计算的所有节点生成的全局MAC密钥的份额。

在230处,节点102b向节点102a发送部分地基于可信MAC份额的密文。在一些情况下,节点102b基于可信输入数据、MAC密钥份额和可信MAC份额生成密文。在240处,节点102a部分地基于密文生成秘密输入数据的MAC份额。在一些情况下,基于密文、与节点102a相关联的MAC密钥份额、秘密输入数据项和被配置为解密可信输入数据项的密钥,生成MAC份额。

在250处,节点102a-b执行多方计算。在一些情况下,节点102a-b与参与计算的其他节点协作执行计算。在一些示例中,多方计算是根据上述SPDZ协议执行的。

在260处,节点102a-b执行多方计算。在一些情况下,节点102a-b与参与计算的其他节点协作验证计算。在一些示例中,根据上述SPDZ协议验证多方计算。

图3是用于防止在涉及多个计算设备的多方计算中错误表示输入数据的处理300的示例的流程图。为了方便起见,处理300将被描述为由位于一个或多个位置并且根据本文被适当地编程的一个或多个计算机的系统执行。例如,适当编程的系统(例如图1的系统100)可以执行处理300。

在302处,第一计算设备识别被同态加密的可信输入数据项,其中,所述可信输入数据项对应于与不同于第一计算设备的第二计算设备相关联的秘密输入数据项,所述第二计算设备与秘密输入数据项的所有方相关联,并且所述第一计算设备与不是秘密输入数据项的所有方的另一方相关联。在一些情况下,第一计算设备从可信数据源接收可信输入数据项。在一些示例中,可信数据源为区块链。

在304处,第一计算设备生成与可信输入数据项相关联的可信MAC份额。

在306处,第一计算设备至少部分地基于可信MAC份额生成密文。

在308处,第一计算设备将密文发送到第二计算设备,其中,所述第二计算设备使用密文作为与秘密输入数据项相关联的MAC份额的分量。在一些情况下,基于密文、与第二计算设备相关联的MAC密钥份额、秘密输入数据项、以及被配置成对可信输入数据项进行解密的密钥,生成与秘密输入数据项相关联的MAC份额。

在310处,在多个计算设备完成多方计算之后,第一计算设备至少部分地基于与秘密输入数据项相关联的MAC份额验证多方计算的结果。

在一些情况下,处理300包括由第一计算设备生成与第一计算设备相关联的MAC密钥份额,其中,所述MAC密钥份额是随机数,并且所述密文是至少部分地基于所述MAC密钥份额生成的。

在一些情况下,处理300包括在验证多方计算之前根据

Figure BDA0002317679110000071

(SPDZ)协议执行多方计算,并且根据SPDZ协议执行多方计算结果的验证。

在一些示例中,多方计算的结果r根据以下等式确定:

r=f(z1,z2,…zn)

其中f是由所述多方计算执行的运算,z1,z2,…zn是与所述多个计算设备相关联的所述秘密输入数据项;所述多方计算的MAC结果M(r)根据以下等式确定:

M(r)=M(f(z1,z2,…zn))

其中M是用于生成秘密输入数据项的MAC份额的MAC函数。在一些情况下,MAC函数是数值运算,其用于在数据项和MAC密钥份额作为输入的情况下生成将被用作MAC份额的数值。在一些实施方式中,当给定相同输入时,MAC函数将产生相同的数值,类似于哈希函数。

在一些情况下,多方计算所执行的运算是加法运算,并且多方计算的结果r根据以下等式确定:

r=z1+z2+…zn

多方计算的MAC结果M(r)由以下等式确定:

M(r)=M(z1)+M(z2)+…M(zn)

图4是根据本文的实施例的装置400的模块的一个示例的图。

装置400可以是能够执行多方计算的计算设备的实施例的示例。装置400可以对应于上述实施例,并且装置400包括以下:识别模块402,识别被同态加密的可信输入数据项,其中,所述可信输入数据项对应于与不同于第一计算设备的第二计算设备相关联的秘密输入数据项,所述第二计算设备与所述秘密输入数据项的所有方相关联,并且所述第一计算设备与不是所述可信输入数据项的所有方的另一方相关联;第一生成模块404,生成与可信输入数据项相关联的可信MAC份额;第二生成模块406,至少部分地基于可信MAC份额生成密文;发送模块408,将密文发送到所述第二计算设备,其中,所述第二计算设备使用密文作为与秘密输入数据项相关联的MAC份额的分量;验证模块410,在所述多个计算设备完成多方计算之后,至少部分地根据基于可信输入数据项的密文验证多方计算的结果,所述密文作为与秘密输入数据项相关联的MAC份额的分量。

在先前实施例中示出的系统、装置、模块或单元可以通过使用计算机芯片或实体来实现,或者可以通过使用具有特定功能的产品来实现。典型的实施例设备是计算机,计算机可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或这些设备的任意组合。

对于装置中每个单元的功能和角色的实施过程,可以参考前一方法中相应步骤的实施过程。为简单起见,这里省略了细节。

由于装置实施例基本上对应于方法实施例,对于相关部分,可以参考方法实施例中的相关描述。先前描述的装置实施例仅是示例。被描述为单独部分的单元可以是或不是物理上分离的,并且显示为模块的部分可以是或不是物理单元,可以位于一个位置,或者可以分布在多个网络模块上。可以基于实际需求来选择一些或所有模块,以实现本文方案的目标。本领域普通技术人员无需付出创造性劳动就能理解和实现本申请的实施例。

再次参考图4,其可以被解释为示出了可操作以参与多方计算的计算设备的内部功能模块和结构。执行主体实质上可以是电子设备,并且所述电子设备包括以下:一个或多个处理器;以及存储器,被配置为存储所述一个或多个处理器的可执行指令。

本文中描述的技术产生一个或多个技术效果。在一些实施例中,本文描述的技术通过允许参与多方计算的计算设备验证所有其他参与者正在向计算提供可信输入数据,为多方计算的参与者提供增强的数据安全性。这防止恶意参与者错误地表示他们的输入数据而影响多方计算的结果。这些技术允许验证作为多方计算的一部分执行,使得不花费大量的时间在产生结果和验证之间。

所描述的主题的实施例可单独地或组合地包括一个或多个特征。

例如,在第一实施例中,示例性方法包括:第一计算设备识别被同态加密的可信输入数据项,其中,所述可信输入数据项对应于与不同于第一计算设备的第二计算设备相关联的秘密输入数据项,所述第二计算设备与秘密输入数据项的所有方相关联,并且所述第一计算设备与不是可信输入数据项的所有方的另一方相关联;第一计算设备生成与可信输入数据项相关联的可信MAC份额;第一计算设备至少部分地基于可信MAC份额生成密文;第一计算设备将密文发送到第二计算设备,其中,所述第二计算设备使用密文作为与秘密输入数据项相关联的MAC份额的分量;以及在所述多个计算设备完成所述多方计算之后,所述第一计算设备至少部分地基于与所述秘密输入数据项相关联的MAC份额验证所述多方计算的结果。

前述和其他描述的实施方案可以各自可选地包括一个或多个以下特征:

第一特征,可与以下特征中的任一个组合,指定所述第一计算设备从可信数据源接收可信输入数据项。

第二特征,可与先前或以下特征中的任一特征组合,指定所述可信数据源为区块链。

第三特征,可与先前或以下特征中的任一特征组合,指定所述方法还包括:第一计算设备生成与第一计算设备相关联的MAC密钥份额,其中,所述MAC密钥份额为随机数,并且所述密文是至少部分地基于所述MAC密钥份额生成的。

第四特征,可与先前或以下特征中的任一特征组合,指定:与秘密输入数据项相关联的MAC份额是基于密文、与第二计算设备相关联的MAC密钥份额、秘密输入数据项、以及被配置成解密可信输入数据项的密钥生成的。

第五特征,可与先前或以下特征中的任一特征组合,指定:所述方法还包括在验证多方计算之前,根据

Figure BDA0002317679110000101

(SPDZ)协议执行多方计算,并且根据SPDZ协议执行多方计算的结果的验证。

第六特征,可与先前或以下特征中的任一特征组合,指定根据以下等式确定多方计算的结果r:

r=f(z1,z2,…zn)

其中f是由所述多方计算执行的运算,z1,z2,…zn是与所述多个计算设备相关联的所述秘密输入数据项;所述多方计算的MAC结果M(r)根据以下等式确定:

M(r)=M(f(z1,z2,…zn))

其中M是用于生成秘密输入数据项的MAC份额的MAC函数。

第七特征,可与先前或以下特征中的任一特征组合,指定由多方计算执行的运算是加法运算,其中,多方计算的结果r根据以下等式确定:

r=z1+z2+…zn

其中,多方计算的MAC结果M(r)根据以下等式确定:

M(r)=M(z1)+M(z2)+…M(zn)

本文中描述的主题、动作和操作的实施例可以在数字电子电路、有形体现的计算机软件或固件、计算机硬件中实现,包括本文中公开的结构及其结构等同物,或者它们中的一个或多个的组合。本文中描述的主题的实施可以实现为一个或多个计算机程序,例如,编码在计算机程序载体上的一个或多个计算机程序指令模块,用于由数据处理执行或控制数据处理装置的操作。例如,计算机程序载体可以包括一个或多个计算机可读存储介质,其具有编码或存储在其上的指令。载体可以是有形的非暂态计算机可读介质,例如磁盘、磁光盘或光盘、固态驱动器、随机存取存储器(RAM)、只读存储器(ROM)或其他介质类型。替代地或另外地,载体可以是人工生成的传播信号,例如,机器生成的电、光或电磁信号,其被生成以编码信息以便传输到合适的接收器装置以供数据处理装置执行。计算机存储介质可以是或部分是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备或它们中的一个或多个的组合。计算机存储介质不是传播信号。

计算机程序,也可以被称为或描述为程序、软件、软件应用程序、app、模块、软件模块、引擎、脚本或代码,可以以任何形式的编程语言编写,包括编译或解释性语言、说明或程序性语言;它可以配置为任何形式,包括作为独立程序,或者作为模块、组件、引擎、子程序或适合在计算环境中执行的其他单元,该环境可包括由通信数据网络互联的在一个或多个位置上的一个或多个计算机。

计算机程序可以但非必须对应于文件系统中的文件。计算机程序可以存储在:文件保存其他程序或数据的文件的一部分中,例如,存储在标记语言文档中的一个或多个脚本;专用于所讨论的程序的单个文件;或者多个协调文件,例如,存储一个或多个模块、子程序或代码部分的多个文件。

举例来说,用于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从耦接到处理器的非暂态计算机可读介质接收用于执行的计算机程序的指令以及数据。

术语“数据处理装置”包括用于处理数据的所有类型的装置、设备和机器,包括例如可编程处理器、计算机或者多处理器或计算机。数据处理装置可以包括专用逻辑电路,例如FPGA(现场可编程门阵列)、ASIC(专用集成电路)或GPU(图形处理单元)。除了硬件,该装置还可以包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或者它们中的一个或多个的组合的代码。

本文中描述的处理和逻辑流程可以由执行一个或多个计算机程序的一个或多个计算机或处理器执行,以通过对输入数据进行运算并生成输出来执行操作。处理和逻辑流程也可以由例如FPGA、ASIC或GPU的专用逻辑电路或专用逻辑电路与一个或多个编程计算机的组合来执行。

适合于执行计算机程序的计算机可以基于通用和/或专用微处理器,或任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器和/或随机存取存储器接收指令和数据。计算机的元件可包括用于执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器可以补充有专用逻辑电路或集成在专用逻辑电路中。

通常,计算机还将包括或可操作地耦接至一个或多个大容量存储设备,以从一个或多个存储设备接收数据或将数据传输到一个或多个大容量存储设备。存储设备可以是,例如,磁盘、磁光或光盘,固态驱动器或任何其他类型的非暂态计算机可读介质。但是,计算机不需要具有这样的设备。因此,计算机可以耦接到例如本地和/或远程的一个或多个存储器的一个或多个存储器设备。例如,计算机可以包括作为计算机的整体部件的一个或多个本地存储器,或者计算机可以耦接到云网络中的一个或多个远程存储器。此外,计算机可以嵌入到另一个设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或例如通用串行总线(USB)闪存驱动器的便携式存储设备,仅举几例。

组件可以通过例如直接地或经由一个或多个中间组件彼此电连接或光连接而可交换地彼此“耦接”。如果其中一个组件集成到另一个组件中,则组件也可以彼此“耦接”。例如,集成到处理器中的存储组件(例如,L2高速缓存组件)被“耦接到”处理器。

为了提供与用户的交互,本文中描述的主题的实施例可以在计算机上实现或配置为与该计算机通信,该计算机具有:显示设备(例如,LCD(液晶显示器)监视器),用于向用户显示信息;以及输入设备,用户可以通过该输入设备向该计算机提供输入,例如键盘和例如鼠标、轨迹球或触摸板等的指针设备。其他类型的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以接收来自用户的任何形式的输入,包括声音、语音或触觉输入。另外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从用户设备上的web浏览器接收的请求将网页发送到用户设备上的web浏览器,或者通过与在例如智能电话或电子平板电脑等的用户设备上运行的应用程序(app)交互。此外,计算机可以通过向个人设备(例如,运行消息应用的智能手机)轮流发送文本消息或其他形式的消息来并接收来自用户的响应消息来与用户交互。

本文使用与系统、装置和计算机程序组件有关的术语“配置为”。对于被配置为执行特定操作或动作的一个或多个计算机的系统,意味着系统已经在其上安装了在运行中促使该系统执行所述操作或动作的软件、固件、硬件或它们的组合。对于被配置为执行特定操作或动作的一个或多个计算机程序,意味着一个或多个程序包括当被数据处理装置执行时促使该装置执行所述操作或动作的指令。对于被配置为执行特定操作或动作的专用逻辑电路,意味着该电路具有执行所述操作或动作的电子逻辑。

尽管本文包含许多具体实施细节,但这些不应被解释为由权利要求本身限定的对要求保护的范围的限制,而是作为对特定实施例的具体特征的描述。在本文单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实现。此外,尽管上面的特征可以描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下,可以从要求保护的组合中删除来自该组合的一个或多个特征,并且可以要求保护指向子组合或子组合的变体。

类似地,虽然以特定顺序在附图中描绘了操作并且在权利要求中叙述了操作,但是这不应该被理解为:为了达到期望的效果,要求以所示的特定顺序或依次执行这些操作,或者要求执行所有示出的操作。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的划分不应被理解为所有实施例中都要求如此划分,而应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或打包成多个软件产品。

已经描述了主题的特定实施例。其他实施例在以下权利要求的范围内。例如,权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的处理无需要求所示的特定顺序或次序来实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。

15页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于基于多数为数字文档产生密码时间戳的方法和设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!