CN112700152B - 基于中国剩余定理的层次化安全多方计算方法及装置 - Google Patents

基于中国剩余定理的层次化安全多方计算方法及装置 Download PDF

Info

Publication number
CN112700152B
CN112700152B CN202110012883.8A CN202110012883A CN112700152B CN 112700152 B CN112700152 B CN 112700152B CN 202110012883 A CN202110012883 A CN 202110012883A CN 112700152 B CN112700152 B CN 112700152B
Authority
CN
China
Prior art keywords
sub
calculation
computing
outsourcing
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
CN202110012883.8A
Other languages
English (en)
Other versions
CN112700152A (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.)
China South Power Grid International Co ltd
China Southern Power Grid Co Ltd
Original Assignee
China South Power Grid International Co ltd
China Southern Power Grid 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 China South Power Grid International Co ltd, China Southern Power Grid Co Ltd filed Critical China South Power Grid International Co ltd
Priority to CN202110012883.8A priority Critical patent/CN112700152B/zh
Publication of CN112700152A publication Critical patent/CN112700152A/zh
Application granted granted Critical
Publication of CN112700152B publication Critical patent/CN112700152B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明涉及一种基于中国剩余定理的层次化安全多方计算方法及装置,通过计算父节点将计算任务分为外包子任务和自主子任务,并为每个外包子任务分配写入子密钥和读取子密钥,再将各外包子任务及其对应于的写入子密钥采用安全的方式发送给各计算子节点;计算父节点和各计算子节点通过计算得到各自子任务的数据,外包计算数据通过写入子密钥存储至公共结果密文中并在公共结果密文中共享和传递,计算父节点能够通过读取子密钥从公共结果密文中获取各计算子节点计算的外包计算数据,并将计算任务的最终结果计算出。该方法能够让各计算子节点互相协助共同完成计算任务,但无法获取其它计算子节点的计算数据和计算任务最终的计算数据,实现安全多方计算。

Description

基于中国剩余定理的层次化安全多方计算方法及装置
技术领域
本发明涉及信息安全技术领域,尤其涉及一种基于中国剩余定理的层次化安全多方计算方法及装置。
背景技术
随着大数据、云计算的快速发展,计算规模呈现爆炸性增长,单点计算或单机计算已经难以满足绝大多数的大数据、云计算业务的需求。现有的大数据、云计算通常计算任务会被分配到不同的计算节点进行协同计算,由于涉及多个不同计算节点,无法确保计算过程中数据机密性的安全。具体地,在大数据、云计算中对于计算任务的委托者(计算父节点),它不希望参与多方计算的计算子节点在计算过程中获得计算任务的整体计算数据;对于各计算子节点,它同样希望自己的计算数据仅有任务的委托者知道,而不希望泄露给其他计算子节点。比如国税系统定期统计税收情况,国税系统会将统计任务分给各个省,各个省会将统计任务分给各个市,各个市又会将任务分给各个区或县等。通过层层下发就形成了典型的层次化多方计算,下级单位会向上级单位上报统计结果,但不希望同级单位知道自己的统计结果,上级单位也不希望下级单位知道其同级或上级的统计结果。
目前,为了避免上述问题,最简单的方法就是将各计算子节点的计算数据单独加密发送给计算父节点,但计算父节点单独需要维护和保存多个计算子节点的计算数据,此方式不利于数据的实时更新,亟需需要一个既能解决多方计算过程中可能存在的泄密问题,又能满足多个节点之间协同处理的需求。
发明内容
本发明提供了一种基于中国剩余定理的层次化安全多方计算方法及装置,用于解决现有数据的层次化多方计算存在泄密、不能协同处理的技术问题。
为了实现上述目的,本发明提供如下技术方案:
一种基于中国剩余定理的层次化安全多方计算方法,包括以下步骤:
S10.获取计算任务,将所述计算任务分为n个外包子任务和m个自主子任务,计算父节点将n个所述外包子任务分配给计算子节点;
S20.给每个所述外包子任务分配读取子密钥和与所述读取子密钥对应的写入子密钥,并将每个所述外包子任务的写入子密钥传送至计算对应所述外包子任务的计算子节点;
S30.计算父节点计算各个所述自主子任务,得到m个自主计算数据;计算子节点计算各个所述外包子任务,得到n个外包计算数据,分别通过与各个所述外包子任务对应的写入子密钥将n个所述外包计算数据写入公共结果密文;
S40.计算父节点根据所述读取子密钥从所述公共结果密文获取每个所述外包子任务对应的所述外包计算数据,计算父节点根据获取的n个所述外包计算数据和m个所述自主计算数据计算得到所述计算任务的数据。
优选地,在步骤S20中,给每个所述外包子任务分配的读取子密钥包括:所述计算父节点生成n个各互不相同的素数,所述素数的数值大于所有所述外包计算数据中数值的最大值,n个所述素数为n个所述外包计算数据的读取子密钥。
优选地,在步骤S20中,给每个所述外包子任务分配的写入子密钥包括:根据每个所述读取子密钥的所述素数以及基于中国剩余定理计算得到与所述读取子密钥对应的写入子密钥。
优选地,在步骤S20中,获取所述写入子密钥的的步骤包括:
计算n个所述外包子任务的读取子密钥的积,得到密钥第一积;
将所述密钥第一积除以与外包子任务对应的读取子密钥的值,得到密钥第二积;
对每个所述密钥第二积对应的读取子密钥进行模逆运算,得到与所述密钥第二积对应所述读取子密钥的模逆元;
将每个所述密钥第二积与其对应的所述模逆元相乘,得到与每个所述密钥第二积对应外包子任务的写入子密钥。
优选地,在步骤S30中,所述计算子节点的外包计算数据更新至所述公共结果密文的步骤包括:根据计算子节点的外包子任务,采用各所述计算子节点将每个所述外包计算数据的更新值写入公共结果密文的表达式,并采用写入子密钥更新所述公共结果密文中的外包计算数据。
优选地,每个所述外包计算数据与公共结果密文满足同余关系为:
Figure BDA0002885655230000031
各所述计算子节点将每个所述外包计算数据的更新值写入公共结果密文的表达式为:
Figure BDA0002885655230000032
式中,rn为第n个外包子任务的读取子密钥,M为密钥第一积,C为更新前的公共结果密文,
Figure BDA0002885655230000033
为更新后的公共结果密文,
Figure BDA0002885655230000034
为第n个外包子任务的外包计算数据,wi为写入子密钥,
Figure BDA0002885655230000035
为更新前的外包计算数据,
Figure BDA0002885655230000036
为更新后的外包计算数据,i=1,2,…,n。
优选地,在步骤S40中,计算父节点根据所述读取子密钥从所述公共结果密文获取每个所述外包子任务对应的所述外包计算数据
Figure BDA0002885655230000037
的表达式包括:
Figure BDA0002885655230000038
C为公共结果密文,ri为读取子密钥。
本发明还提供一种基于中国剩余定理的层次化安全多方计算装置,包括任务获取分配模块、密钥模块、第一计算模块和第二计算模块;
所述任务获取分配模块,用于获取计算任务,将所述计算任务分为n个外包子任务和m个自主子任务,计算父节点将n个所述外包子任务分配给计算子节点;
所述密钥模块,用于给每个所述外包子任务分配读取子密钥和与所述读取子密钥对应的写入子密钥,并将每个所述外包子任务的写入子密钥传送至计算对应所述外包子任务的计算子节点;
所述第一计算模块,用于计算父节点计算各个所述自主子任务,得到m个自主计算数据;计算子节点计算各个所述外包子任务,得到n个外包计算数据,分别通过与各个所述外包子任务对应的写入子密钥将n个所述外包计算数据写入公共结果密文;
所述第二计算模块,用于计算父节点根据所述读取子密钥从所述公共结果密文获取每个所述外包子任务对应的所述外包计算数据,计算父节点根据获取的n个所述外包计算数据和m个所述自主计算数据计算得到所述计算任务的数据。
本发明还提供一种计算机可读存储介质,所述计算机存储介质用于存储计算机指令,当其在计算机上运行时,使得计算机执行上述所述的基于中国剩余定理的层次化安全多方计算方法。
本发明还提供一种终端设备,包括处理器以及存储器;
所述存储器,用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器,用于根据所述程序代码中的指令执行上述所述的基于中国剩余定理的层次化安全多方计算方法。
从以上技术方案可以看出,本发明实施例具有以下优点:该基于中国剩余定理的层次化安全多方计算方法及装置通过计算父节点将计算任务分为外包子任务和自主子任务,并为每个外包子任务分配对应的写入子密钥和读取子密钥,再将各外包子任务及其对应的写入子密钥采用安全的方式发送给各计算子节点;计算父节点和各计算子节点通过计算得到各自子任务的数据,外包计算数据通过写入子密钥存储至公共结果密文中并在公共结果密文中共享和传递,计算父节点能够通过读取子密钥从公共结果密文中获取各计算子节点计算的外包计算数据,并将计算任务的最终结果计算出。该基于中国剩余定理的层次化安全多方计算方法能够让各计算子节点之间无法从公共结果密文中获取其它计算子节点的计算数据,更无法获取计算任务最终的计算数据,实现了安全多方计算的目的,多个节点共同参与计算,但每个节点都仅能知道自己计算的结果,无法知道其他节点的计算数据,更无法知道计算任务的计算数据,解决了现有数据的层次化多方计算存在泄密、不能协同处理的技术问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例所述的基于中国剩余定理的层次化安全多方计算方法的步骤流程图。
图2为本发明实施例所述的基于中国剩余定理的层次化安全多方计算方法的层次化安全多方计算的框架图。
图3为本发明实施例所述的基于中国剩余定理的层次化安全多方计算装置的框架图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本申请实施例提供了一种基于中国剩余定理的层次化安全多方计算方法及装置,将计算任务划分为多个子任务连同写入子密钥分配给多个计算子节点,所有计算子节点的计算结果被统一保存到一个公开的公共结果密文中,公共结果密文存储于计算父节点的公共缓存区,任何授权的计算子节点通过写入子密钥都可以对公共结果密文的计算子节点的计算结果进行更新;计算父节点随时可以通过读取子密钥获取各计算子节点的计算结果,但各计算子节点无法获取其他计算子节点的计算结果,也无法得到整体的计算结果,解决了现有数据的层次化多方计算存在泄密、不能协同处理的技术问题。
实施例一:
图1为本发明实施例所述的基于中国剩余定理的层次化安全多方计算方法的步骤流程图,图2为本发明实施例所述的基于中国剩余定理的层次化安全多方计算方法的层次化安全多方计算的框架图。
如图1和图2所示,本发明实施例提供了一种基于中国剩余定理的层次化安全多方计算方法,包括以下步骤:
S10.获取计算任务,将计算任务分为n个外包子任务和m个自主子任务,计算父节点将n个外包子任务分配给计算子节点;
S20.给每个外包子任务分配读取子密钥和与读取子密钥对应的写入子密钥,并将每个外包子任务的写入子密钥传送至计算对应外包子任务的计算子节点;
S30.计算父节点计算各个自主子任务,得到m个自主计算数据;计算子节点计算各个外包子任务,得到n个外包计算数据,分别通过与各个外包子任务对应的写入子密钥将n个外包计算数据写入公共结果密文;
S40.计算父节点根据读取子密钥从公共结果密文获取每个外包子任务对应的外包计算数据,计算父节点根据获取的n个外包计算数据和m个自主计算数据计算得到计算任务的数据。
在本发明实施例的步骤S10中,主要获取计算任务T,并对计算任务T进行划分子任务。
需要说明的是,若计算父节点接收到一项计算任务T,将计算任务T分为n个外包子任务{t1,t2,…,tn}和m个自主子任务{t′1,t′2,…,t′m}。
在本发明实施例的步骤S20中,主要是主为各计算子节点随机分配读取子密钥,并计算与读取子密钥对应的写入子密钥。
需要说明的是,写入子密钥指的是外包计算数据的写入子密钥。
在本发明实施例的步骤S30中,主要是对各个子任务进行计算,各个外包子任务计算的外包计算数据均存储于公共结果密文C中。在本实施例中,根据中国剩余定理,公共结果密文C与每个外包计算数据存在同余关系,其关系为:
Figure BDA0002885655230000061
式中,ri为读取子密钥,fti为外包子任务的外包计算数据,i=1,2,…,n。
需要说明的是,外包子任务{t1,t2,…,tn}将外包给的计算子节点进行计算,自主子任务{t′1,t′2,…,t′m}将在计算父节点中自行进行计算,则有
Figure BDA0002885655230000071
其中,计算公共结果密文C作为一个公开的参数,任何受委托的计算子节点都可对它进行读取和更新。
公共结果密文C的初始值由各个外包子任务{t1,t2,…,tn}初始计算的外包计算数据的初始值确定,外包计算数据的初始值可以是0或其他值,由计算父节点根据实际的计算任务确定,公共结果密文C的初始值的计算表达式为:
Figure BDA0002885655230000072
式中,wi为写入子密钥,M为密钥第一积。
在本发明实施例中,计算父节点将计算子任务ti、写入子密钥wi采用安全的方式(如人工直接导入、加密传输、加密卡传递等)分发给各计算子节点。M是一个公开的参数,可在上述n个外包子任务分发时一同发送或单独通过广播方式发送给各个计算子节点。同时,计算父节点也将自行计算的自主子任务{t′1,t′2,…,t′m}。计算子节点也可以采用相同的方式对计算任务进行划分并外包给其他计算子节点。
在本发明实施例的步骤S40中,主要用于获取公共结果密文C中的外包计算数据,计算父节点根据自身计算的自主计算数据以及获取的外包计算数据计算计算任务的数据。
需要说明的是,计算父节点通过读取子密钥ri获取各计算外包子任务当前计算的外包计算数据,即为
Figure BDA0002885655230000073
C为公共结果密文,ri为读取子密钥。计算父节点根据外包计算数据和自主计算数据能够对计算任务T的当前结果进行计算,得到计算任务的数据。
本发明提供的一种基于中国剩余定理的层次化安全多方计算方法通过计算父节点将计算任务分为外包子任务和自主子任务,并为每个外包子任务分配对应的写入子密钥和读取子密钥,再将各个外包子任务及其对应的写入子密钥采用安全的方式发送给各计算子节点;计算父节点和各计算子节点通过计算得到各自子任务的数据,外包计算数据通过写入子密钥存储至公共结果密文中并在公共结果密文中共享和传递,计算父节点能够通过读取子密钥从公共结果密文中获取各计算子节点计算的外包计算数据,并将计算任务的最终结果计算出。该基于中国剩余定理的层次化安全多方计算方法能够让各计算子节点之间无法从公共结果密文中获取其它计算子节点的计算数据,更无法获取计算任务最终的计算数据,实现了安全多方计算的目的,多个节点共同参与计算,但每个节点都仅能知道自己计算的结果,无法知道其他节点的计算数据,更无法知道计算任务的计算数据,解决了现有数据的层次化多方计算存在泄密、不能协同处理的技术问题。
在本发明的一个实施例中,在步骤S20中,给每个外包子任务分配的读取子密钥包括:计算父节点生成n个各互不相同的素数,素数的数值大于所有外包计算数据中数值的最大值,n个素数为n个外包计算数据的读取子密钥。
需要说明的是,计算父节点根据n个外包子任务随机生成个n各互不相同的素数{r1,r2,…,rn},素数ri的数值必须大于各个外包子任务计算的外包计算数据数值的最大值。素数ri为外包子任务计算结果外包计算数据的读取子密钥。
在本发明的一个实施例中,在步骤S20中,给每个外包子任务分配的写入子密钥包括:根据每个读取子密钥的素数以及基于中国剩余定理计算得到与读取子密钥对应的写入子密钥。其中:在步骤S20中,获取写入子密钥的的步骤包括:
计算n个外包子任务的读取子密钥的积,得到密钥第一积M,
Figure BDA0002885655230000081
将密钥第一积M除以与外包子任务对应的读取子密钥的值ri,得到密钥第二积Mi
Figure BDA0002885655230000082
对每个密钥第二积Mi对应的读取子密钥ri进行模逆运算,即求yiMi=1mod ri式中的yi,得到与密钥第二积对应读取子密钥的模逆元yi,yi=Mi -1mod ri
将每个密钥第二积Mi与其对应的模逆元yi相乘,得到与每个密钥第二积对应外包子任务的写入子密钥wi,wi=yiMi
需要说明的是,根据中国剩余定理,有:
Figure BDA0002885655230000091
根据模逆元关系(模逆运算):yiMi=1mod ri,可采用扩展欧几里得算法、费马小定理等方法得到yi的数值,根据wi=yiMi计算得到写入子密钥wi;ri为读取子密钥。在本实施例中,密钥第二积Mi为每个计算子节点中的外包子任务除了自己外其他外包子任务的读取子密钥的积。
在本发明的一个实施例中,在步骤S30中,存储在公共结果密文中的外包计算数据包括:根据计算子节点的外包子任务,采用各计算子节点将每个外包计算数据的更新值写入公共结果密文的表达式,并采用写入子密钥更新公共结果密文中的外包计算数据。其中,每个外包计算数据与公共结果密文满足同余关系为:
Figure BDA0002885655230000092
各计算子节点将每个外包计算数据的更新值写入公共结果密文的表达式为:
Figure BDA0002885655230000093
式中,rn为第n个外包子任务的读取子密钥,
Figure BDA0002885655230000094
为第n个外包子任务的外包计算数据,M为密钥第一积,C为更新前的公共结果密文,
Figure BDA0002885655230000095
为更新后的公共结果密文,wi为写入子密钥,
Figure BDA0002885655230000096
为更新前的外包计算数据,
Figure BDA0002885655230000097
为更新后的外包计算数据,i=1,2,…,n。
需要说明的是,该于中国剩余定理安全的层次化多方计算方法为了防止计算子节点恶意篡改公共结果密文,计算父节点在计算子节点更新计算的公共结果密文后,可以对计算的数据进行校验。比如随机读取并比较其他计算子节点的计算数据可以得知计算的数据是否被修改,因为正常情况下,修改某个计算子节点的计算数据不会影响到其他节点。公共结果密文存储于计算父节点的公共缓存区,授权的计算子节点可随时对公共结果密文中的外包计算数据进更新。
在本发明的实施例中,若采用计算父节点将计算任务T全部外包其他4个计算子节点,并且假设每个子任务的计算数据都在100以内作为案例说明该基于中国剩余定理的层次化安全多方计算方法。具体地,计算节点为4个计算子节点选择4个素数作为读取子密钥,4个素数分别为r1=101,r2=103,r3=107,r4=109。
根据中国剩余定理计算得到:
Figure BDA0002885655230000101
Figure BDA0002885655230000102
Figure BDA0002885655230000103
根据模逆元关系:yiMi=1mod ri,得到yi,包括:y1=20,y2=15,y3=29,y4=42。则4个计算子节点的写入子密钥wi=yiMi为:
w1=y1M1=20×1201289=24025780;w2=y2M2=15×1177963=17669445;
w3=y3M3=29×1133927=32883883;w2=y2M2=42×1113121=46751082;
若各计算子任务初始计算结果都为0,即
Figure BDA0002885655230000104
为0,则
Figure BDA0002885655230000105
计算父节点将计算子任务、写入子密钥采用安全的方式分发给各计算子节点。各计算子节点计算4个外包子任务的计算数据分别为
Figure BDA0002885655230000106
各计算子节点得到的外包计算数据依次通过写入子密钥更新至公共结果密文C中,表示为:
Figure BDA0002885655230000111
Figure BDA0002885655230000112
Figure BDA0002885655230000113
Figure BDA0002885655230000114
各计算子节点的4个外包计算数据得到公共结果密文C=55270071。计算父节点通过读取子密钥从公共结果密文C获取各计算子节点的4个外包计算数据,并最终计算计算任务T的计算数据。各计算子节点依次通过写入子密钥更新计算公共结果密文时,仅会影响自身的计算结果,不会对其他节点的计算结果产生影响。在公共结果密文更新过程中,通过读取子密钥计算各计算子节点的外包计算数据,
Figure BDA0002885655230000115
如下表1所示。
表1
Figure BDA0002885655230000116
实施例二:
图3为本发明实施例所述的基于中国剩余定理的层次化安全多方计算装置的框架图。
如图3所示,本发明实施例还提供一种基于中国剩余定理的层次化安全多方计算装置,包括任务获取分配模块10、密钥模块20、第一计算模块30和第二计算模块40;
任务获取分配模块10,用于获取计算任务,将计算任务分为n个外包子任务和m个自主子任务,计算父节点将n个外包子任务分配给计算子节点;
密钥模块20,用于给每个外包子任务分配读取子密钥和与读取子密钥对应的写入子密钥,并将每个外包子任务的写入子密钥传送至计算对应外包子任务的计算子节点;
第一计算模块30,用于计算父节点计算各个自主子任务,得到m个自主计算数据;计算子节点计算各个外包子任务,得到n个外包计算数据,分别通过与各个外包子任务对应的写入子密钥将n个外包计算数据写入公共结果密文;
第二计算模块40,用于计算父节点根据读取子密钥从公共结果密文获取每个外包子任务对应的外包计算数据,计算父节点根据获取的n个外包计算数据和m个自主计算数据计算得到所述计算任务的数据。
需要说明的是,实施例二装置中的模块对应于实施例一方法中的步骤,实施例一方法中的步骤已在实施例一中详细阐述了,在此实施例二中不再对装置中的模块内容进行详细阐述。
实施例三:
本发明实施例提供了一种计算机可读存储介质,计算机存储介质用于存储计算机指令,当其在计算机上运行时,使得计算机执行上述的基于中国剩余定理的层次化安全多方计算方法。
实施例四:
本发明实施例提供了一种终端设备,包括处理器以及存储器;
存储器,用于存储程序代码,并将程序代码传输给处理器;
处理器,用于根据程序代码中的指令执行上述的基于中国剩余定理的层次化安全多方计算方法。
需要说明的是,处理器用于根据所程序代码中的指令执行上述的一种基于中国剩余定理的层次化安全多方计算方法实施例中的步骤。或者,处理器执行计算机程序时实现上述各系统/装置实施例中各模块/单元的功能。
示例性的,计算机程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器中,并由处理器执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在终端设备中的执行过程。
终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。终端设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可以是终端设备的内部存储单元,例如终端设备的硬盘或内存。存储器也可以是终端设备的外部存储设备,例如终端设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器还可以既包括终端设备的内部存储单元也包括外部存储设备。存储器用于存储计算机程序以及终端设备所需的其他程序和数据。存储器还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (6)

1.一种基于中国剩余定理的层次化安全多方计算方法,其特征在于,包括以下步骤:
S10.获取计算任务,将所述计算任务分为n个外包子任务和m个自主子任务,计算父节点将n个所述外包子任务分配给计算子节点;
S20.给每个所述外包子任务分配读取子密钥和与所述读取子密钥对应的写入子密钥,并将每个所述外包子任务的写入子密钥传送至计算对应所述外包子任务的计算子节点;
在步骤S20中,给每个所述外包子任务分配的读取子密钥包括:所述计算父节点生成n个各互不相同的素数,所述素数的数值大于所有外包计算数据中数值的最大值,n个所述素数为n个所述外包计算数据的读取子密钥;
在步骤S20中,给每个所述外包子任务分配的写入子密钥包括:根据每个所述读取子密钥的所述素数以及基于中国剩余定理计算得到与所述读取子密钥对应的写入子密钥;
在步骤S20中,获取所述写入子密钥的步骤包括:
计算n个所述外包子任务的读取子密钥的积,得到密钥第一积;
将所述密钥第一积除以与外包子任务对应的读取子密钥的值,得到密钥第二积;
对每个所述密钥第二积对应的读取子密钥进行模逆运算,得到与所述密钥第二积对应所述读取子密钥的模逆元;
将每个所述密钥第二积与其对应的所述模逆元相乘,得到与每个所述密钥第二积对应外包子任务的写入子密钥;
S30.计算父节点计算各个所述自主子任务,得到m个自主计算数据;计算子节点计算各个所述外包子任务,得到n个所述外包计算数据,分别通过与各个所述外包子任务对应的写入子密钥将n个所述外包计算数据写入公共结果密文;
在步骤S30中,所述计算子节点的所述外包计算数据更新至所述公共结果密文的步骤包括:根据计算子节点的外包子任务,采用各所述计算子节点将每个所述外包计算数据的更新值写入所述公共结果密文的表达式,并采用写入子密钥更新所述公共结果密文中的所述外包计算数据;
各所述计算子节点将每个所述外包计算数据的更新值写入所述公共结果密文的表达式为:
Figure QLYQS_1
式中,M为密钥第一积,
Figure QLYQS_2
为更新后的公共结果密文,C为更新前的公共结果密文,
Figure QLYQS_3
为更新后的外包计算数据,
Figure QLYQS_4
Figure QLYQS_5
为更新前的外包计算数据,w i 为写入子密钥;
S40.计算父节点根据所述读取子密钥从所述公共结果密文获取每个所述外包子任务对应的所述外包计算数据,计算父节点根据获取的n个所述外包计算数据和m个所述自主计算数据计算得到所述计算任务的数据。
2.根据权利要求1所述的基于中国剩余定理的层次化安全多方计算方法,其特征在于,每个所述外包计算数据与公共结果密文满足同余关系为:
Figure QLYQS_6
式中,r n 为第n个外包子任务的读取子密钥,C为更新前的公共结果密文,
Figure QLYQS_7
为第n个外包子任务的外包计算数据。
3.根据权利要求1所述的基于中国剩余定理的层次化安全多方计算方法,其特征在于,在步骤S40中,计算父节点根据所述读取子密钥从所述公共结果密文获取每个所述外包子任务对应的所述外包计算数据
Figure QLYQS_8
的表达式包括:
Figure QLYQS_9
C为公共结果密文,r i 为读取子密钥。
4.一种基于中国剩余定理的层次化安全多方计算装置,其特征在于,包括任务获取分配模块、密钥模块、第一计算模块和第二计算模块;
所述任务获取分配模块,用于获取计算任务,将所述计算任务分为n个外包子任务和m个自主子任务,计算父节点将n个所述外包子任务分配给计算子节点;
所述密钥模块,用于给每个所述外包子任务分配读取子密钥和与所述读取子密钥对应的写入子密钥,并将每个所述外包子任务的写入子密钥传送至计算对应所述外包子任务的计算子节点;
所述密钥模块,具体用于所述计算父节点生成n个各互不相同的素数,所述素数的数值大于所有外包计算数据中数值的最大值,n个所述素数为n个所述外包计算数据的读取子密钥;
所述密钥模块,还用于根据每个所述读取子密钥的所述素数以及基于中国剩余定理计算得到与所述读取子密钥对应的写入子密钥;
所述密钥模块,还用于计算n个所述外包子任务的读取子密钥的积,得到密钥第一积;
将所述密钥第一积除以与外包子任务对应的读取子密钥的值,得到密钥第二积;
对每个所述密钥第二积对应的读取子密钥进行模逆运算,得到与所述密钥第二积对应所述读取子密钥的模逆元;
将每个所述密钥第二积与其对应的所述模逆元相乘,得到与每个所述密钥第二积对应外包子任务的写入子密钥;
所述第一计算模块,用于计算父节点计算各个所述自主子任务,得到m个自主计算数据;计算子节点计算各个所述外包子任务,得到n个所述外包计算数据,分别通过与各个所述外包子任务对应的写入子密钥将n个所述外包计算数据写入公共结果密文;
所述第一计算模块,具体用于根据计算子节点的外包子任务,采用各所述计算子节点将每个所述外包计算数据的更新值写入所述公共结果密文的表达式,并采用写入子密钥更新所述公共结果密文中的所述外包计算数据;
各所述计算子节点将每个所述外包计算数据的更新值写入所述公共结果密文的表达式为:
Figure QLYQS_10
式中,M为密钥第一积,
Figure QLYQS_11
为更新后的公共结果密文,C为更新前的公共结果密文,
Figure QLYQS_12
为更新后的外包计算数据,
Figure QLYQS_13
Figure QLYQS_14
为更新前的外包计算数据,w i 为写入子密钥;
所述第二计算模块,用于计算父节点根据所述读取子密钥从所述公共结果密文获取每个所述外包子任务对应的所述外包计算数据,计算父节点根据获取的n个所述外包计算数据和m个所述自主计算数据计算得到所述计算任务的数据。
5.一种计算机可读存储介质,其特征在于,所述计算机存储介质用于存储计算机指令,当其在计算机上运行时,使得计算机执行如权利要求1-3任意一项所述的基于中国剩余定理的层次化安全多方计算方法。
6.一种终端设备,其特征在于,包括处理器以及存储器;
所述存储器,用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器,用于根据所述程序代码中的指令执行如权利要求1-3任意一项所述的基于中国剩余定理的层次化安全多方计算方法。
CN202110012883.8A 2021-01-06 2021-01-06 基于中国剩余定理的层次化安全多方计算方法及装置 Active CN112700152B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110012883.8A CN112700152B (zh) 2021-01-06 2021-01-06 基于中国剩余定理的层次化安全多方计算方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110012883.8A CN112700152B (zh) 2021-01-06 2021-01-06 基于中国剩余定理的层次化安全多方计算方法及装置

Publications (2)

Publication Number Publication Date
CN112700152A CN112700152A (zh) 2021-04-23
CN112700152B true CN112700152B (zh) 2023-04-28

Family

ID=75514876

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110012883.8A Active CN112700152B (zh) 2021-01-06 2021-01-06 基于中国剩余定理的层次化安全多方计算方法及装置

Country Status (1)

Country Link
CN (1) CN112700152B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113190833B (zh) * 2021-06-01 2022-11-18 浙江大华技术股份有限公司 一种权限处理方法、装置、存储介质及电子装置
CN113392419B (zh) * 2021-07-05 2022-12-23 南方电网科学研究院有限责任公司 基于中国剩余定理的安全同步控制方法、装置及设备
CN113726511B (zh) * 2021-08-31 2024-02-06 南方电网科学研究院有限责任公司 一种基于中国剩余定理的按需通信密钥分配方法及系统
CN117811733B (zh) * 2024-02-29 2024-07-09 浙江毫微米科技有限公司 基于秘密共享算法的任务确认完成方法及相关装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105743873A (zh) * 2015-04-17 2016-07-06 中国信息安全研究院有限公司 一种安全系统
CN106209371A (zh) * 2016-07-25 2016-12-07 青岛大学 应用于rsa算法生成密钥的外包方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101997833B (zh) * 2009-08-10 2013-06-05 北京多思科技发展有限公司 密钥存储方法与装置和数据加/解密方法与装置
CN101917403B (zh) * 2010-07-23 2013-06-05 华中科技大学 一种用于密文存储的分布式密钥管理方法
CN108155994B (zh) * 2017-12-22 2021-06-22 青岛大学 应用于rsa解密的安全外包计算方法
CN111181938A (zh) * 2019-12-20 2020-05-19 北京交通大学 一种基于分片传输的边缘计算分布式数据加密传输方法
CN112187770B (zh) * 2020-09-23 2022-09-06 上海海洋大学 一种基于近岸物联网的多源海洋数据安全融合与统计方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105743873A (zh) * 2015-04-17 2016-07-06 中国信息安全研究院有限公司 一种安全系统
CN106209371A (zh) * 2016-07-25 2016-12-07 青岛大学 应用于rsa算法生成密钥的外包方法

Also Published As

Publication number Publication date
CN112700152A (zh) 2021-04-23

Similar Documents

Publication Publication Date Title
CN112700152B (zh) 基于中国剩余定理的层次化安全多方计算方法及装置
US11451370B2 (en) Secure probabilistic analytics using an encrypted analytics matrix
US9331984B2 (en) Secret sharing method and system
CN108809623B (zh) 安全多方计算方法、装置及系统
CN111898137A (zh) 一种联邦学习的隐私数据处理方法、设备及系统
US20100215172A1 (en) Sharing a secret with modular inverses
US11818255B2 (en) Batch-wise verification of multiparty computations
CN112070222B (zh) 用于联邦学习的处理装置、加速器及方法
CN111143894A (zh) 一种提升安全多方计算效率的方法及系统
Burkhalter et al. Zeph: Cryptographic enforcement of end-to-end data privacy
Kumari et al. Preserving health care data security and privacy using Carmichael's theorem-based homomorphic encryption and modified enhanced homomorphic encryption schemes in edge computing systems
CN113468099B (zh) 可重构计算装置、处理器及方法
EP3834359B1 (en) Anonymous allocation and majority voting in a compromised environment
CN113541946B (zh) 一种多方安全计算方法、装置及电子设备
CN114691167A (zh) 机器学习模型更新的方法和装置
CN115801220A (zh) 加速设备、计算系统及加速方法
CN113761469A (zh) 一种保护数据隐私的最高位进位计算方法
JP7259875B2 (ja) 情報処理装置、秘密計算方法及びプログラム
Malewicz et al. Distributed cooperation during the absence of communication
CN115801221A (zh) 加速设备、计算系统及加速方法
CN115544572A (zh) 基于隐私保护的多方隐私数据和金融隐私数据的处理方法
Shoufan et al. High-performance rekeying processor architecture for group key management
TWI736065B (zh) 用於在私人群組中之委外取冪服務之方法及系統
CN116415271A (zh) 数据处理的方法和计算平台
JP2023529690A (ja) 同型暗号文に対する統計演算を行う装置及び方法

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