[go: up one dir, main page]

CN116324934A - 秘密移位系统、秘密移位装置、秘密移位方法、程序 - Google Patents

秘密移位系统、秘密移位装置、秘密移位方法、程序 Download PDF

Info

Publication number
CN116324934A
CN116324934A CN202080106084.0A CN202080106084A CN116324934A CN 116324934 A CN116324934 A CN 116324934A CN 202080106084 A CN202080106084 A CN 202080106084A CN 116324934 A CN116324934 A CN 116324934A
Authority
CN
China
Prior art keywords
share
shift
value
secret
calculating
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.)
Granted
Application number
CN202080106084.0A
Other languages
English (en)
Other versions
CN116324934B (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.)
NTT Inc
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of CN116324934A publication Critical patent/CN116324934A/zh
Application granted granted Critical
Publication of CN116324934B publication Critical patent/CN116324934B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3033Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to pseudo-prime or prime number generation, e.g. primality test
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Complex Calculations (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Storage Device Security (AREA)
  • Communication Control (AREA)
  • Error Detection And Correction (AREA)

Abstract

提供了秘密计算技术,其使用将成为移位对象的数值和移位量作为输入而进行左移位的协议,高速地进行移位运算。秘密移位系统根据数值a的份额[[a]]P和移位量ρ的份额<<ρ>>Q,计算对数值a进行ρ位移位而得到的数值s的份额[[s]]P,其包括:模数转换单元,计算份额<<ρ>>p;第一标志计算单元,计算份额[[f0]]2,…,[[fL]]2;第二标志计算单元,计算份额<<f1>>p,…,<<fL>>p;移位量计算单元,计算份额<<ρ’>>p;左移位单元,计算份额[[b]]P;右移位单元,计算份额[[c0]]P,…,[[cd‑1]]P;第三标志计算单元,计算份额[[f0]]P,…,[[fL]]P;以及移位值计算单元,计算份额[[s]]P

Description

秘密移位系统、秘密移位装置、秘密移位方法、程序
技术领域
本发明涉及秘密计算技术,尤其涉及在秘密计算中进行位移位(bitshift)运算的技术。
背景技术
秘密计算是指不复原被加密的数值而得到指定的运算的结果的方法(例如参照参考非专利文献1)。在参考非专利文献1的方法中,进行将能够复原数值的多个信息分散到3个秘密计算装置的加密,不复原数值,就能够将加减运算、常数和、乘法、常数倍、逻辑运算(否定、逻辑与、逻辑和、异或)、数据形式转换(整数、二进制)的结果以分散到3个秘密计算装置的状态、即加密的状态进行保持。通常,分散数不限于3而能够设为W(W为3以上的规定的常数),通过基于W个秘密计算装置的协调计算来实现秘密计算的协议被称为多分协议。
(参考非专利文献1:千田浩司,濱田浩気,五十嵐大,高橋克巳,“軽量検証可能3パーティ秘匿関数計算の再考,”In CSS,2010.)
以往,作为与进行浮点运算(floating point computation)的秘密计算的协议或安装相关的文献,存在非专利文献1、非专利文献2。进行浮点运算所需的位移位运算是将二进数的位图案向左右移位的运算,在计算机处理中是基本的运算之一。
现有技术文献
非专利文献
非专利文献1:天田拓磨,奈良成泰,西出隆志,吉浦裕,“通信量を削減した浮動小数点演算のためのマルチパーティ計算,”情報処理学会論文誌,Vol.60,No.9,pp.1433-1447,2019。
非专利文献2:Randmets,J.,“Programming Languages for Secure Multi-partyComputation Application Development,”PhD thesis.University of Tartu,2017。
发明内容
发明要解决的课题
但是,在通过秘密计算执行位移位运算的情况下,由于一边隐匿左右的移位方向和移位量一边进行运算,因此存在计算成本大的问题。
因此,本发明的目的在于提供秘密计算技术,其使用将作为移位对象的数值和移位量作为输入而进行左移位的协议,高速地进行位移位运算。
用于解决课题的手段
本发明的一方式涉及的秘密移位系统中,设P为素数,设p为素数P的阶,设Q为剩余环(factor ring)的阶,设M为输入的数值的MSB位置可取的上限值,设M’为份额容许的MSB位置的上限值,设[R,R’]为以分割后的右移位覆盖的右移位量的范围,该秘密移位系统由3个以上的秘密移位装置构成,从数值a的份额[[a]]P和移位量ρ的份额<<ρ>>Q(其中,ρ≧0时设为表示左移位,ρ<0时设为表示右移位),计算对数值a进行ρ位移位而得到的数值s的份额[[s]]P(其中,s=2ρa),所述秘密移位系统包括:模数转换单元,从份额<<ρ>>Q,计算份额<<ρ>>p;第一标志计算单元,将u设为满足u≦M’-M+1的整数,将d设为满足d≧ceiling(((R’-R+1)/u)Re)的整数,从份额<<ρ>>Q或份额<<ρ>>p、范围[R,R’]、数值u和数值d,计算份额[[f0]]2=[[(ρ≧-R’)]]2,[[f1]]2=[[(ρ≧-R’+u)]]2,…,[[fd-1]]2=[[(ρ≧-R’+(d-1)u)]]2,[[fL]]2=[[(ρ≧-R+1)]]2;第二标志计算单元,从份额[[f1]]2,[[f2]]2,…,[[fd-1]]2,[[fL]]2,计算份额<<f1>>p,<<f2>>p,…,<<fd-1>>p,<<fL>>p;移位量计算单元,从份额<<ρ>>p、份额<<f1>>p,<<f2>>p,…,<<fd-1>>p,<<fL>>p、范围的上限值R’、数值u和数值d,计算<<ρ’>>p=<<ρ>>p+R’-u(Σ1≦i<d<<fi>>p)+((d-1)u-R’)<<fL>>p;左移位单元,从份额[[a]]P和份额<<ρ’>>p,计算份额[[b]]P=[[2ρ’a]]P;右移位单元,从份额[[b]]P、范围的上限值R’、数值u和数值d,计算份额[[c0]]P=[[2ρ’a/2R’]]P,[[c1]]P=[[2ρ’a/(2R’-u)]]P,…,[[cd-1]]P=[[2ρ’a/(2R’-(d-1)u)]]P;第三标志计算装置,从份额[[f0]]2,[[f1]]2,…,[[fd-1]]2,[[fL]]2,计算份额[[f0]]P,[[f1]]P,…,[[fd-1]]P,[[fL]]P;以及移位值计算单元,从份额[[b]]P、份额[[c0]]P,[[c1]]P,…,[[cd-1]]P和份额[[f0]]P,[[f1]]P,…,[[fd-1]]P,[[fL]]P,计算份额[[s]]P=[[c0]]P[[f0]]P+([[c1]]P-[[c0]]P)[[f1]]P+…+([[cd-1]]P-[[cd-2]]P)[[fd-1]]P+([[b]]P-[[cd-1]]P)[[fL]]P
本发明的一方式涉及的秘密移位系统中,设P为素数,设p为素数P的阶,设M为移位量的上限值,该秘密移位系统由3个以上的秘密移位装置构成,从数值a的份额[[a]]P和移位量ρ的份额<<ρ>>Q(其中,0≦ρ≦M,对数值a进行M位左移位而得到的数值2Ma不溢出(overflow)),计算对数值a进行ρ位移位而得到的数值s的份额[[s]]P(其中,s=2ρa),所述秘密移位系统包括:移位量计算单元,从份额<<ρ>>p和上限值M,计算份额<<M-ρ>>p;左移位单元,从份额[[a]]P和份额<<M-ρ>>p,计算份额[[b]]P=[[2M-ρa]]P;以及右移位单元,从份额[[b]]P和上限值M,计算份额[s]]P=[[2M-ρa/2M]]P
本发明的一方式涉及的秘密移位系统中,设P为素数,设p为素数P的阶,设Q为剩余环的阶,设M为输入的数值的MSB位置可取的上限值,该秘密移位系统由3个以上的秘密移位装置构成,从数值a的份额[[a]]P和移位量ρ的份额<<ρ>>Q(其中,ρ≧0时设为表示左移位,ρ<0时设为表示右移位),计算对数值a进行ρ位移位而得到的数值s的份额[[s]]P(其中,s=2ρa),所述秘密移位系统包括:模数转换单元,从份额<<ρ>>Q,计算份额<<ρ>>p;第一标志计算单元,从份额<<ρ>>Q或份额<<ρ>>p,计算份额[[fL]]2=[[(ρ≧0)]]2;第二标志计算单元,从份额[[fL]]2,计算<<fL>>p;移位量计算单元,从份额<<ρ>>p、份额<<fL>>p和上限值M,计算份额<<ρ’>>p=<<ρ>>p+M-M<<fL>>p;左移位单元,从份额[[a]]P和份额<<ρ’>>p,计算份额[[b]]P=[[2ρ’a]]P;右移位单元,从份额[[b]]P和上限值M,计算份额[[c]]P=[[2ρ’a/2M]]P;第三标志计算装置,从份额[[fL]]2,计算份额[[fL]]P;以及移位值计算单元,从份额[[b]]P、份额[[c]]P和份额[[fL]]P,计算份额[[s]]P=[[c]]P+([[b]]P-[[c]]P)[[fL]]P
发明效果
根据本发明,能够在隐匿了作为移位对象的数值和移位量的状态下高速地进行移位运算。
附图说明
图1是表示秘密移位系统10的结构的框图。
图2是表示秘密移位装置100i的结构的框图。
图3是表示秘密移位系统10的动作的流程图。
图4是表示秘密移位系统20的结构的框图。
图5是表示秘密移位装置200i的结构的框图。
图6是表示秘密移位系统20的动作的流程图。
图7是表示秘密移位系统30的结构的框图。
图8是表示秘密移位装置300i的结构的框图。
图9是表示秘密移位系统30的动作的流程图。
图10是示出实现本发明的实施方式中的各装置的计算机的功能结构的一个例子的图。
具体实施方式
以下,详细地说明本发明的实施方式。此外,对具有相同功能的结构部标注相同的编号,并省略重复说明。
在说明各实施方式之前,对该说明书中的记载方法进行说明。
^(脱字号(caret))表示上标。例如,xy^z表示yz相对于x的上标,xy^z表示yz相对于x的下标。另外,_(下划线)表示下标。例如,xy_z表示yz相对于x的上标,xy_z表示yz相对于x的下标。
另外,对于某字符x的^x、~x这样的上标的“^”、“~”本来应记载在“x”的正上,但由于说明书的记载表述的限制,记载为^x、~x。
<技术背景>
本发明的各实施方式中的秘密计算使用现有的秘密计算上的协议来构建。在此,首先对记法进行说明。
《记法》
设P为素数。例如,梅森素数P=261-1即可。设p为素数P的阶。此外,有时也表示为p=|P|。当P是梅森素数时,p成为素数。例如,如果设P=261-1,则p=61。另外,设Q为剩余环的阶。阶Q作为素数P或其阶p使用。另外,阶Q能够用于浮点的指数部。在将阶Q用于浮点的指数部的情况下,例如能够使Q=213-1。
将k设为秘密分散的阈值。例如,设k=2即可。此外,将n设为秘密分散的分散数(即,秘密计算的方(parties)数)。例如,设n=3即可。
[[x]]y表示将mod y要素x进行了(k,n)-秘密分散的份额。作为秘密分散的方法,例如能够使用Shamir秘密分散或复制秘密分散。以下,用<<x>>y表示对mod y要素x进行了(k,n)-复制秘密分散的份额。由于(k,n)-复制秘密分散是(k,n)-秘密分散,所以能够适用于进行了(k,n)-秘密分散的份额的协议也能够使用于进行了(k,n)-复制秘密分散的份额。此外,在将份额表示为<<x>>y时,意味着利用复制秘密分散的性质。另外,尤其将(k,k)-复制秘密分散被称为(k,k)-加法秘密分散。以下,以<x>y表示对mod y要素x进行(k,k)-加法秘密分散的份额。
[[x]]2^m表示将[[x]]2形式的份额排列m个后的份额。此外,有时也将[[x]]2^m视为数值的位表现。
x≒y表示x与y作为计算机上的实数相等。即,表示x与y之差在一定的误差范围内。
对于2个数a、d,a/d表示舍去小数点以下的整数除法运算的值。因此,基于2的幂数的整数除法运算与右移位等价。另外,对于2个数a、d,(a/d)Re表示实数除法运算的值。
相对于数a,ceiling(a)表示a以上的最小整数。
(prop)表示在命题prop成立的情况下取1为值、在不成立的情况下取0为值。例如,(1>0)成为1。
将浮点数2ba(其中,a、b分别表示尾数部(mantissa part)、指数部(exponentpart))表示为浮点数(a,b)。另外,将m个浮点数2b_0a0,2b_1a1,…,2b_m-1am-1(其中,ai,bi(0≦i<m)分别表示尾数部、指数部)表示为浮点数矢量(a,b)(其中,a=(a0,a1,…,am-1),b=(b0,b1,…,bm-1))。有时也将矢量a=(a0,a1,…,am-1)的长度m表示为|a|。
《现有的秘密计算协议》
首先,对本发明中使用的现有的秘密计算协议进行说明。对于加减运算、常数和、乘法运算、常数倍、逻辑运算(否定、逻辑与、逻辑或、异或)、数据形式转换(整数、二进制数)、指数函数的计算,使用现有的协议。其他本发明中使用的现有的协议,使用以下的协议。
[从(k,n)-秘密分散(复制秘密分散)向(k,k)-加法秘密分散的转换]
输入:数值x的份额[[x]]y(数值x的份额<<x>>y)
输出:数值x的份额<x>y
具体而言,有参考非专利文献2中记载的方法。
(参考非专利文献2:Kikuchi,R.,Ikarashi,D.,Matsuda,T.,Hamada,K.andChida,K.,“Efficient Bit-Decomposition and Modulus-Conversion Protocols withan Honest Majority,”23rd Australasian Conference on Information Security andPrivacy(ACISP 2018),Lecture Notes in Computer Science,Vol.10946,Springer,pp.64-82,2018.)
[从(k,k)-加法秘密分散向(k,n)-秘密分散(复制秘密分散)的转换]
输入:数值x的份额<x>y
输出:数值x的份额[[x]]y(数值x的份额<<x>>y)
具体而言,有参考非专利文献2中记载的方法。
[mod 2→mod q转换]
输入:数值x的份额[[x]]2(数值x的份额<<x>>2)
输出:数值x的份额[[x]]q(数值x的份额<<x>>q)
具体而言,有参考非专利文献2中记载的方法。
[移位量公开右移位(Shift Amount Disclosure Right Shift)]
输入:数值x的份额[[x]]q、移位量ρ
输出:使数值x向ρ位右移位而得到的数值的份额[[x/2ρ]]q
具体而言,有参考非专利文献3中记载的方法。
(参考非专利文献3:三品気吹,五十嵐大,濱田浩気,菊池亮,“高精度かつ高効率な秘密ロジスティック回帰の設計と実装,”CSS2018,2018.)
[总括移位量公开右移位(Batch Shift Amount Disclosure Right Shift)]
输入:数值x的份额[[x]]q、移位量ρ0,…,ρm-1
输出:使数值x向ρ0位,…,ρm-1位右移位而得到的数值的份额[[x/2ρ_0]]q,…,[[x/2ρ_m-1]]q
具体而言,有参考非专利文献4中记载的方法。
(参考非专利文献4:五十嵐大,“M op/sを超える秘密計算上の初等関数群,”SCIS2020,2020.)
另外,作为显而易见的方法,也能够以移位量公开右移位的反复,构成总括移位量公开右移位。
[使用商迁移(Quotient Transfer)的模数转换]
输入:数值x的份额<<x>>q
输出:数值x的份额<<x>>r
具体而言,有参考非专利文献2中记载的方法。
[位分解]
输入:数值x的份额[[x]]q
参数:输入的数值的最大位数M
输出:数值x的份额[[x]]2^M
具体而言,有参考非专利文献2中记载的方法。
《本发明的秘密计算协议》
接着,对本发明的秘密计算协议进行说明。
[乘法的循环(Multiplicative Rotation)(移位量隐匿左移位)]
输入:数值a的份额[[a]]P、循环量(移位量)ρ(≧0)的份额<<ρ>>p
输出:使数值a进行ρ位左移位而得到的数值的份额[[2ρa]]P
作为输出的份额也可以通过使用乘法或指数函数计算的协议等来计算,但也可以通过使用随机置换(参照参照非专利文献5)的考虑的方法来计算。作为具体例,对n=3的情况进行说明。
(参考非专利文献5:五十嵐大,濱田浩気,菊池亮,千田浩司,“インターネット環境レスポンス1秒の統計処理を目指した,秘密計算基数ソートの改良,”SCIS2014,2014.)
(环(Round)1)
step(步骤)1:份额[[a]]P转换为方0、方1所具有份额的(k,k)-加法秘密分散<a>P
step(步骤)2:方0、方1共有随机数r01。此外,方1、方2共有随机数r12
step(步骤)3:方0计算b0=2(<<ρ>>^p)_01<a>P 0-r01,并将b0发送到方2。
在此,<<ρ>>p 01表示关于份额<<ρ>>p而方0、方1所保持的份额。另外,<a>P 0关于份额<a>P而方0保持的份额。
step(步骤)4:方1计算2(<<ρ>>^p)_12(2(<<ρ>>^p)_01<a>P 1+r01)-r12,并将b1传送到方0。
在此,<<ρ>>p 12表示关于份额<<ρ>>p而方1、方2所保持的份额。此外,<a>P 1表示关于份额<a>P而方1所保持的份额。
(环2)
step(步骤)5:方0计算<c>P 0=2(<<ρ>>^p)_20b1
在此,<<ρ>>p 20表示关于<<ρ>>p而方2、方0所保持的份额。
step(步骤)6:方2计算<c>P 2=2(<<ρ>>^p)_20(2(<<ρ>>^p)_12b0+r12)。
(圆3)
step(步骤)7:将份额<c>P转换为(k,n)-秘密分散的份额[[c]]P
在此,c=2ρa成立。
[移位量隐匿右移位]
输入:数值a的份额[[a]]P,移位量ρ的份额<<ρ>>p
参数:移位量的上限值M
其中,设0≦ρ≦M,对数值a进行M位左移位而得到的数值2Ma不溢出。
输出:将数值a进行ρ位右移位而得到的数值的份额[[a/2ρ]]P
step(步骤)1:计算<<M-ρ>>p
step(步骤)2:使用乘法的循环,计算使数值a进行M-ρ位左移位而得到的数值的份额[[2M-ρa]]P
step(步骤)3:使用移位量公开右移位,计算使数值2M-ρa进行M位右移位而得到的数值的份额[[a/2ρ]]P=[[2M-ρa/2M]]P
[移位量隐匿移位(其1)]
输入:数值a的份额[[a]]P、移位量ρ的份额<<ρ>>Q(其中,ρ≧0时表示左移位,ρ<0时表示右移位)
参数:输入数值的MSB(Most Significant Bit)位置可取的上限值M
输出:对数值a进行ρ位移位而得到的数值s的份额[[s]]P
在此,s=2ρa成立。
step(步骤)1:使用模数转换,计算份额<<ρ>>p。在模数转换中,例如,能够使用上述的使用商迁移(quotient transition)的模数转换。
step(步骤)2:通过大小比较,计算[[fL]]2=[[(ρ≧0)]]2
step(步骤)3:利用mod 2→mod p转换,计算<<fL>>p
step(步骤)4:计算<<ρ’>>p=<<ρ>>p+M-M<<fL>>p
step(步骤)5:使用乘法的循环计算[[b]]P=[[2ρ’a]]P
step(步骤)6:使用移位量公开右移位来计算[[c]]P=[[2ρ’a/2M]]P
step(步骤)7:使用mod 2→mod P转换来计算[[fL]]P
step(步骤)8:计算[[s]]P=[[c]]P+([[b]]P-[[c]]P)[[fL]]P
该式子成为选择门,在ρ<0的情况下成为s=c,在ρ≧0的情况下成为s=b。
[移位量隐匿移位(其2)]
输入:数值a的份额[[a]]P、移位量ρ的份额<<ρ>>Q(其中,ρ≧0时表示左移位,ρ<0时表示右移位)
参数:输入数值的MSB位置可取的上限值M、份额允许的MSB位置的上限值M’
输出:对数值a进行ρ位移位而得到的数值s的份额[[s]]P
在此,s=2ρa成立。
step(步骤)1:计算u=M’-M+1,d=ceiling(((M-1)/u)Re)。
这里,u是能够用一次移位量隐匿右移位覆盖的右移位量(具体而言,从1到M’-M位的范围的量),d是进行从1到M-1位的范围的右移位所需的移位量隐匿右移位的执行次数。
step(步骤)2:使用模数转换,计算份额<<ρ>>p。对于模数转换,例如,能够使用上述的商迁移的模数转换。
step(步骤)3:通过大小比较,计算[[f0]]2=[[(ρ≧-M+1)]]2,[[f1]]2=[[(ρ≧-M+1+u)]]2,…,[[fd-1]]2=[[(ρ≧-M+1+(d-1)u)]]2,[[fL]]2=[[(ρ≧0)]]2
在此,若是fL则fd-1成立,若是fd-1则fd-2,…成立。将具有这样性质的f0,f1,…,fd-1,fL称为推移标志(transitive flags)。
step(步骤)4:使用mod 2→mod p转换,计算<<f1>>p,<<f2>>p,…,<<fd-1>>p,<<fL>>p
在本步骤中,不需要计算<<f0>>p
step(步骤)5:计算<<ρ’>>p=<<ρ>>p+M-1-u(Σ1≦i<d<<fi>>p)+((d-1)u-M+1)<<fL>>p
step(步骤)6:使用乘法的循环,计算[[b]]P=[[2ρ’a]]P
step(步骤)7:使用总括移位量公开右移位,计算[[c0]]P=[[2ρ’a/2M-1]]P,[[c1]]P=[[2ρ’a/(2M-1-u)]]P,…,[[cd-1]]P=[[2ρ’a/(2M-1-(d-1)u)]]P
step(步骤)8:使用mod 2→mod P转换,计算[[f0]]P,[[f1]]P,…,[[fd-1]]P,[[fL]]P
在本步骤中,需要计算[[f0]]p
step(步骤)9:计算[[s]]P=[[c0]]P[[f0]]P+([[c1]]P-[[c0]]P)[[f1]]P+…+([[cd-1]]P-[[cd-2]]P)[[fd-1]]P+([[b]]P-[[cd-1]]P)[[fL]]P
该式成为相对于推移的标志f0,f1,…,fd-1,fL的选择门,如果f0,f1,…,fd-1,fL全部为0则s=0,如果是f0则成为s=c0,如果是fL则成为s=b。
[移位量隐匿移位(其3)]
输入:数值a的份额[[a]]P、移位量ρ的份额<<ρ>>Q(其中,ρ≧0时表示左移位,ρ<0时表示右移位)
参数:输入数值的MSB位置可取的上限值M、份额允许的MSB位置的上限值M’
输出:对数值a进行ρ位移位而得到的数值s的份额[[s]]P
在此,s=2ρa成立。
step(步骤)1:将u设为满足u≦M’-M+1的整数。另外,将[R,R’]设为以分割后的右移位所覆盖的右移位量的范围,将d设为满足d≧ceiling(((R’-R+1)/u)Re)的整数。
以下,{}L表示也可以不考虑比-R大的移位量的情况(例如,已知是右移位的情况)下,能够省略由该括号包围的部分的计算。此外,{}0表示可以不考虑比-R’小的移位量的情况(例如,可知在右移位量大于移位量隐匿移位(其1)能够应用的值但不是极端大的值的情况下),能够省略由该括号包围的部分的计算。
step(步骤)2:使用模数转换,计算<<ρ>>p。对于模数转换,例如,能够使用上述的商迁移的模数转换。
step(步骤)3:通过大小比较,计算{[[f0]]2=[[(ρ≧-R’)]]2,}0[[f1]]2=[[(ρ≧-R’+u)]]2,…,[[fd-1]]2=[[(ρ≧-R’+(d-1)u)]]2{,[[fL]]2=[[(ρ≧-R+1)]]2}L
在此,若是fL则fd-1成立,若是fd-1则fd-2,…成立。将具有这样的性质的f0,f1,…,fd-1,fL称为推移标志。
step(步骤)4:使用mod 2→mod p转换,计算<<f1>>p,<<f2>>p,…,<<fd-1>>p{,<<fL>>p}L
step(步骤)5:计算<<ρ’>>p=<<ρ>>p+R’-u(Σ1≦i<d<<fi>>p){+((d-1)u-R’)<<fL>>p}L
step(步骤)6:使用乘法的循环,计算[[b]]P=[[2ρ’a]]P
step(步骤)7:使用总括移位量公开右移位,计算{[[c0]]P=[[2ρ’a/2R’]]P,}0[[c1]]P=[[2ρ’a/(2R’-u)]]P,…,[[cd-1]]P=[[2ρ’a/(2R’-(d-1)u)]]P
step(步骤)8:使用mod 2→mod P转换,计算{[[f0]]P,}0[[f1]]P,…,[[fd-1]]P{,[[fL]]P}L
step(步骤)9:计算[[s]]P={[[c0]]P[[f0]]P+(}0[[c1]]P{-[[c0]]P)}0[[f1]]P+…+([[cd-1]]P-[[cd-2]]P)[[fd-1]]P{+([[b]]P-[[cd-1]]P)[[fL]]P}L
该式成为相对于推移的标志f0,f1,…,fd-1,fL的选择门,如果是f0,f1,…,fd-1,fL则全部成为0,如果是f0则成为s=c0,如果是f1则成为c1、…,如果是fL则s=b。
另外,如果设R=1,R’=M-1,u=M’-M+1,d=ceiling(((R’-R+1)/u)Re),则移位量隐匿移位(其3)成为移位量隐匿移位(其2)。因此,移位量隐匿移位(其3)是将移位量隐匿移位(其2)一般化的协议。
<第一实施方式>
以下,参照图1~图3对秘密移位系统10进行说明。图1是示出秘密移位系统10的结构的框图。秘密移位系统10包括W个(W为3以上的规定的整数)秘密移位装置1001、…、100W。秘密移位装置1001、…、100W与网络800连接,能够相互进行通信。网络800例如可以是因特网等通信网络或广播通信路径等。图2是表示秘密移位装置100i(1≦i≦W)的结构的框图。图3是表示秘密移位系统10的动作的流程图。
如图2所示,秘密移位装置100i包括移位量计算部140i、左移位部150i、右移位部160i、记录部190i。除了记录部190i以外的秘密移位装置100i的各结构部构成为能够执行秘密计算所需的运算、即<技术背景>中说明的协议中的、在实现各结构部的功能上所需的运算。在本发明中,用于实现各个运算的具体的功能结构在例如可执行参考非专利文献1~5的各个非专利文献中公开的算法的结构中是充分的,这些是现有的结构,因此省略详细的说明。此外,记录部190i是记录秘密移位装置100i的处理所需的信息的结构部。例如,记录后述的移位量的上限值M。
通过由W个秘密移位装置100i进行的协调计算,秘密移位系统10实现作为多方协议的移位量隐匿右移位的秘密计算。因此,秘密移位系统10的移位量计算单元140(未图示)由移位量计算部1401、…、140W构成,左移位单元150(未图示)由左移位部1501、…、150W构成,右移位单元160(未图示)由右移位部1601、…、160W构成。
将P设为素数,将p设为素数P的阶,将M设为移位量的上限值,秘密移位系统10从数值a的份额[[a]]P和移位量ρ的份额<<ρ>>p(其中,0≦ρ≦M,将数值a进行M位左移位而得到的数值2Ma不溢出),计算将数值a进行ρ位右移位而得到的数值s的份额[[s]]P(其中,s=a/2ρ)。以下,根据图3对秘密移位系统10的动作进行说明。
在S140中,移位量计算单元140根据份额<<ρ>>p和上限值M,计算份额<<M-ρ>>p
在S150中,左移位单元150根据由份额[[a]]P和由S140计算的份额<<M-ρ>>p,计算份额[[b]]P=[[2M-ρa]]P。左移位单元150例如构成为能够执行移位量隐匿左移位即可。
在S160中,右移位单元160根据由S150计算的份量[[b]]P和上限值M,计算份量[[s]]P=[[2M-ρa/2M]]P。右移位单元160例如构成为能够执行移位量公开右移位即可。
根据本发明的实施方式,能够在隐匿了成为移位对象的数值和移位量的状态下高速地进行右移位运算。
<第二实施方式>
以下,参照图4~图6对秘密移位系统20进行说明。图4是表示秘密移位系统20的结构的框图。秘密移位系统20包括W个(W为3以上的规定的整数)秘密移位装置2001、…、200W。秘密移位装置2001、…、200W与网络800连接,能够相互进行通信。网络800例如可以是因特网等通信网络或广播通信路径等。图5是表示秘密移位装置200i(1≦i≦W)的结构的框图。图6是表示秘密移位系统20的动作的流程图。
如图5所示,秘密移位装置200i包括模数转换部210i、第一标志计算部220i、第二标志计算部230i、移位量计算部240i、左移位部250i、右移位部260i、第三标志计算部270i、移位值计算部280i和记录部290i。除了记录部290i以外的秘密移位装置200i的各结构部构成为能够执行秘密计算所需的运算、即<技术背景>中说明的协议中的、在实现各结构部的功能上所需的运算。在本发明中,用于实现各个运算的具体的功能结构在例如可执行参考非专利文献1~5的各个非专利文献中公开的算法的结构中是充分的,这些是现有的结构,因此省略详细的说明。此外,记录部290i是记录秘密移位装置200i的处理所需的信息的结构部。例如,记录后述的输入的数值的MSB位置的上限值M。
通过由W个秘密移位装置200i进行的协调计算,秘密移位系统20实现作为多方协议的移位量隐匿移位(其1)的秘密计算。因此,秘密移位系统20的模数转换单元210(未图示)由模数转换部2101、…、210W构成,第一标志计算单元220(未图示)由第一标志计算部2201、…、220W构成,第二标志计算单元230(未图示)由第二标志计算部2301、…、230W构成,移位量计算单元240(未图示)由移位量计算部2401、…、240W构成,左移位单元250(未图示)由左移位部2501、…、250W构成,右移位单元260(未图示)由右移位部2601、…、260W构成,第三标志计算单元270(未图示)由第三标志计算部2701、…、270W构成,移位值计算单元280(未图示)由移位值计算单元2801、…、280W构成。
将P设为素数,将p设为素数P的阶,将M设为输入的数值的MSB位置的上限值,秘密移位系统20根据数值a的份额[[a]]P和移位量ρ的份额<<ρ>>Q(其中ρ≧0时设为表示左移位,ρ<0时设为表示右移位),计算将数值a进行ρ位移位而得到的数值s份额[[s]]P(其中,s=2ρa)。以下,根据图6对秘密移位系统20的动作进行说明。
在S210中,模转换单元210根据份额<<ρ>>Q,计算份额<<ρ>>p。模数转换单元210例如构成为能执行模数转换即可。
在S220中,第一标志计算单元220根据份额<<ρ>>Q,计算份额[[fL]]2=[[(ρ≧0)]]2。第一标志计算单元220构成为例如根据份额<<ρ>>Q,计算份额<<(ρ≧0)>>Q,使用模数转换,根据份额<<(ρ≧0)>>Q,计算份额<<(ρ≧0)>>2,并且将份额<<(ρ≧0)>>2转换为份额[[fL]]2=[[(ρ≧0)]]2即可。此外,也可以代替份额<<ρ>>Q,而使用份额<<ρ>>p
在S230中,第二标志计算单元230根据由S220计算出的份额[[fL]]2,计算<<fL>>p。第二标志计算单元230例如构成为能执行mod 2→mod p转换即可。
在S240中,移位量计算单元240根据由S210计算的份额<<ρ>>p、由S230计算的份额<<fL>>p和上限值M,计算份额<<ρ’>>p=<<ρ>>p+M-M<<fL>>p
在S250中,左移位单元250根据份额[[a]]P和由S240计算的份额<<ρ’>>p,计算份额[[b]]P=[[2ρ’a]]P。左移位单元250例如构成为能够执行移位量隐匿左移位即可。
在S260中,右移位单元260根据由S250计算的份额[[b]]P和上限值M,计算份额[[c]]P=[[2ρ’a/2M]]P。右移位单元260例如构成为能够执行移位量公开右移位即可。
在S270中,第三标志计算单元270根据由S220计算的份额[[fL]]2,计算份额[[fL]]P。第三标志计算单元270例如构成为能够执行mod 2→mod P转换即可。
在S280中,移位值计算单元280根据由S250计算的份额[[b]]P、由S260计算的份额[[c]]P和由P270计算的份额[[fL]]P,计算份额[[s]]P=[[c]]P+([[b]]P-[[c]]P)[[fL]]P
根据本发明的实施方式,能够在隐匿了作为移位对象的数值和移位量的状态下高速地进行移位运算。尤其是,虽然能够右移位的量有限制,但能够高速地进行移位运算。
<第三实施方式>
以下,参照图7~图9对秘密移位系统30进行说明。图7是表示秘密移位系统30的结构的框图。秘密移位系统30包括W个(W为3以上的规定整数)秘密移位装置3001、…、300W。秘密移位装置3001、…、300W与网络800连接,能够相互进行通信。网络800例如可以是因特网等通信网络或广播通信路径等。图8是表示秘密移位装置300i(1≦i≦W)的结构的框图。图9是表示秘密移位系统30的动作的流程图。
如图8所示,秘密移位装置300i包括模数转换部310i、第一标志计算部320i、第二标志计算部330i、移位量计算部340i、左移位部350i、右移位部360i、第三标志计算部370i、移位值计算部380i、记录部390i。除了记录部390i以外的秘密移位装置300i的各结构部被构成为能够执行秘密计算所需的运算、即<技术背景>中说明的协议中的、在实现各结构部的功能上所需的运算。在本发明中,用于实现各个运算的具体的功能结构在例如可执行参考非专利文献1~5的各个非专利文献中公开的算法的结构中是充分的,这些是现有的结构,因此省略详细的说明。此外,记录部390i是记录秘密移位装置300i的处理所需的信息的结构部。例如,记录后述的输入的数值的MSB位置的上限值M(以下,称为第一上限值)或发明容许的MSB位置的上限值M’(以下,称为第二上限值)。
通过由W个秘密移位装置300i进行的协调计算,秘密移位系统30实现作为多方协议的移位量隐匿移位(其2)的秘密计算。因此,秘密移位系统30的模数转换单元310(未图示)由模数转换部3101、…、310W构成,第一标记计算单元320(未图示)由第一标记计算部3201、…、320W构成,第二标记计算单元330(未图示)由第二标记计算部3301、…、330W构成,移位量计算单元340(未图示)由移位量计算部3401、…、340W构成,左移位单元350(未图示)由左移位部3501、…、350W构成,右移位单元360(未图示)由右移位部3601、…、360W构成,第三标记计算单元370(未图示)由第三标记计算部3701、…、370W构成,移位值计算单元380i(未图示)由移位值计算部3801、…、380W构成。
将P设为素数,将p设为素数P的阶,将Q设为剩余环的阶,将M设为输入的数值的MSB位置可取的上限值,将M’设为份额允许的MSB位置的上限值,秘密移位系统30根据数值a的份额[[a]]P和移位量ρ的份额<<ρ>>Q(其中,ρ≧0时设为表示左移位,ρ<0时设为表示右移位),计算将数值a进行ρ位移位而得到的数值s的份额[[s]]P(其中,s=a/2ρ)。以下,根据图9对秘密移位系统30的动作进行说明。
在S310中,模转换单元310根据份额<<ρ>>Q,计算份额<<ρ>>p。模数转换单元310例如构成为能执行模数转换即可。
在S320中,第一标志计算单元320根据份额<<ρ>>Q、第一上限值M、数值u=M’-M+1和数值d=ceiling(((M-1)/u)Re),计算份额[[f0]]2=[[(ρ≧-M+1)]]2,[[f1]]2=[[(ρ≧-M+1+u)]]2,…,[[fd-1]]2=[[(ρ≧-M+1+(d-1)u)]]2,[[fL]]2=[[(ρ≧0)]]2。第一标志计算单元320例如构成为根据份额<<ρ>>Q,计算份额<<(ρ≧-M+1)>>Q,<<(ρ≧-M+1+u)>>Q,…,<<(ρ≧-M+1+(d-1)u)>>Q,<<(ρ≧0)>>Q,并使用模数转换,根据份额<<(ρ≧-M+1)>>Q,<<(ρ≧-M+1+u)>>Q,…,<<(ρ≧-M+1+(d-1)u)>>Q,<<(ρ≧0)>>Q,计算<<(ρ≧-M+1)>>2,<<(ρ≧-M+1+u)>>2,…,<<(ρ≧-M+1+(d-1)u)>>2,<<(ρ≧0)>>2,将份额<<(ρ≧-M+1)>>2,<<(ρ≧-M+1+u)>>2,…,<<(ρ≧-M+1+(d-1)u)>>2,<<(ρ≧0)>>2转换为份额[[f0]]2=[[(ρ≧-M+1)]]2,[[f1]]2=[[(ρ≧-M+1+u)]]2,…,[[fd-1]]2=[[(ρ≧-M+1+(d-1)u)]]2,[[fL]]2=[[(ρ≧0)]]2即可。另外,数值u和数值d可以是第一标志计算单元320根据第一上限值M和第二上限值M’而进行计算,数值u和数值d也可以预先记录在记录部390i中。
在S330中,第二标志计算单元330根据由S320计算的份额[[f1]]2,[[f2]]2,…,[[fd-1]]2,[[fL]]2,计算<<f1>>p,<<f2>>p,…,<<fd-1>>p,<<fL>>p。第二标志计算单元330例如构成为能执行mod 2→mod p转换即可。
在S340中,移位量计算单元340计算由S310计算的份额<<ρ>>p、由S330计算的份额<<f1>>p,<<f2>>p,…,<<fd-1>>p,<<fL>>p、第一上限值M、数值u和数值d,计算<<ρ’>>p=<<ρ>>p+M-1-u(Σ1≦i<d<<fi>>p)+((d-1)u-M+1)<<fL>>p
在S350中,左移位单元350根据份额[[a]]P和由S340计算的份额<<ρ’>>p,计算份额[[b]]P=[[2ρ’a]]P。左移位单元350例如构成为能够执行移位量隐匿左移位即可。
在S360中,右移位单元360根据由S350计算的份额[[b]]P、第一上限值M、数值u和数值d,计算份额[[c0]]P=[[2ρ’a/2M-1]]P,[[c1]]P=[[2ρ’a/(2M-1-u)]]P,…,[[cd-1]]P=[[2ρ’a/(2M-1-(d-1)u)]]P。右移位单元360例如构成为能够执行总括移位量公开右移位即可。
在S370中,第三标志计算单元370根据由S320计算的份额[[f0]]2,[[f1]]2,…,[[fd-1]]2,[[fL]]2,计算份额[[f0]]P,[[f1]]P,…,[[fd-1]]P,[[fL]]P。第三标记计算单元370例如构成为能执行mod 2→mod P转换即可。
在S380中,移位值计算单元380根据由S350计算的份额[[b]]P、由S360计算的份额[[c0]]P,[[c1]]P,…,[[cd-1]]P和由S370计算的份额[[f0]]P,[[f1]]P,…,[[fd-1]]P,计算份额[[s]]P=[[c0]]P[[f0]]P+([[c1]]P-[[c0]]P)[[f1]]P+…+([[cd-1]]P-[[cd-2]]P)[[fd-1]]P+([[b]]P-[[cd-1]]P)[[fL]]P
根据本发明的实施方式,能够在隐匿了作为移位对象的数值和移位量的状态下高速地进行移位运算。尤其是,能够以对能右移位的量没有限制的方式,高速地进行移位运算。
<第四实施方式>
以下,参照图7~图9对秘密移位系统40进行说明。图7是表示秘密移位系统40的结构的框图。秘密移位系统40包括W个(W为3以上的规定的整数)秘密移位装置4001、…、400W。秘密移位装置4001、…、400W与网络800连接,能够相互进行通信。网络800例如可以是因特网等通信网络或广播通信路径等。图8是表示秘密移位装置400i(1≦i≦W)的结构的框图。图9是表示秘密移位系统40的动作的流程图。
如图8所示,秘密移位装置400i包括模数转换部410i、第一标志计算部420i、第二标志计算部430i、移位量计算部440i、左移位部450i、右移位部460i、第三标志计算部470i、移位值计算部480i、记录部490i。除了记录部490i以外的秘密移位装置400i的各结构部构成为能够执行秘密计算所需的运算、即<技术背景>中说明的协议中的、在实现各结构部的功能上所需的运算。在本发明中,用于实现各个运算的具体的功能结构在例如可执行参考非专利文献1~5的各个非专利文献中公开的算法的结构中是充分的,这些是现有的结构,因此省略详细的说明。此外,记录部490i是记录秘密移位装置400i的处理所需的信息的结构部。例如,记录后述的输入的数值的MSB位置的上限值M(以下,称为第一上限值)或份额容许的MSB位置的上限值M’(以下,称为第二上限值)。例如,记录后述的由分割的右移位覆盖的右移位量的范围[R,R’]。
通过由W个秘密移位装置400i进行的协调计算,秘密移位系统40实现作为多方协议的移位量隐匿移位(其3)的秘密计算。因此,秘密移位系统40的模数转换单元410(未图示)由模数转换部4101、…、410W构成,第一标记计算单元420(未图示)由第一标记计算部4201、…、420W构成,第二标记计算单元430(未图示)由第二标记计算部4301、…、430W构成,移位量计算单元440(未图示)由移位量计算部4401、…、440W构成,左移位单元450(未图示)由左移位部4501、…、450W构成,右移位单元460(未图示)由右移位部4601、…、460W构成,第三标记计算单元470(未图示)由第三标记计算部4701、…、470W构成,移位值计算单元480(未图示)由移位值计算单元4801、…、480W构成。
将P设为素数,将p设为素数P的阶,将Q设为剩余环的阶,将M设为输入的数值的MSB位置可取的上限值,将M’设为份额允许的MSB位置的上限值,将[R,R’]设为以分割后的右移位覆盖的右移位量的范围,秘密移位系统40根据数值a的份额[[a]]P和移位量ρ的份额<<ρ>>Q(其中,ρ≧0时设为表示左移位,ρ<0时设为表示右移位),计算将数值a进行ρ位移位而得到的数值s的份额[[s]]P(其中,s=a/2ρ)。以下,根据图9对秘密移位系统40的动作进行说明。
在S410中,模数转换单元410根据份额<<ρ>>Q,计算份额<<ρ>>p。模数转换单元410例如构成为能够执行模数转换即可。
在S420中,第一标志计算单元420根据份额<<ρ>>Q、范围[R,R’]、数值u(u是满足u≦M’-M+1的整数)和数值d(d是满足d≧ceiling(((R’-R+1)/u)Re)的整数),计算份额[[f0]]2=[[(ρ≧-R’)]]2,[[f1]]2=[[(ρ≧-R’+u)]]2,…,[[fd-1]]2=[[(ρ≧-R’+(d-1)u)]]2,[[fL]]2=[[(ρ≧-R+1)]]2。第一标志计算单元420例如根据份额<<ρ>>Q,计算份额<<(ρ≧-R’)>>Q,<<(ρ≧-R’+u)>>Q,…,<<(ρ≧-R’+(d-1)u)>>Q,<<(ρ≧-R+1)>>Q,并使用模数转换,根据份额<<(ρ≧-R’)>>Q,<<(ρ≧-R’+u)>>Q,…,<<(ρ≧-R’+(d-1)u)>>Q,<<(ρ≧-R+1)>>Q,计算份额<<(ρ≧-R’)>>2,<<(ρ≧-R’+u)>>2,…,<<(ρ≧-R’+(d-1)u)>>2,<<(ρ≧-R+1)>>2,将份额<<(ρ≧-R’)>>2,<<(ρ≧-R’+u)>>2,…,<<(ρ≧-R’+(d-1)u)>>2,<<(ρ≧-R+1)>>2转换为份额[[f0]]2=[[(ρ≧-R’)]]2,[[f1]]2=[[(ρ≧-R’+u)]]2,…,[[fd-1]]2=[[(ρ≧-R’+(d-1)u)]]2,[[fL]]2=[[(ρ≧-R+1)]]2即可。另外,也可以代替份额<<ρ>>Q,而使用份额<<ρ>>p。并且,数值u和数值d也可以预先记录在记录部490i中。
在S430中,第二标志计算单元430根据由S420计算的份额[[f1]]2,[[f2]]2,…,[[fd-1]]2,[[fL]]2,计算份额<<f1>>p,<<f2>>p,…,<<fd-1>>p,<<fL>>p。第二标志计算单元430例如构成为能执行mod 2→mod p转换即可。
在S440中,移位量计算单元440根据由S410计算的份额<<ρ>>p、由S430计算的份额<<f1>>p,<<f2>>p,…,<<fd-1>>p,<<fL>>p、范围的上限值R’、数值u和数值d,计算份额<<ρ’>>p=<<ρ>>p+R’-u(Σ1≦i<d<<fi>>p)+((d-1)u-R’)<<fL>>p
在S450中,左移位单元450根据由份额[[a]]P和由S440计算的份额<<ρ’>>p,计算份额[[b]]P=[[2ρ’a]]P。左移位单元450例如构成为能够执行移位量隐匿左移位即可。
在S460中,右移位单元460根据由S450计算的份额[[b]]P、范围的上限值R’、数值u和数值d,计算份额[[c0]]P=[[2ρ’a/2R’]]P,[[c1]]P=[[2ρ’a/(2R’-u)]]P,…,[[cd-1]]P=[[2ρ’a/(2R’-(d-1)u)]]P。右移位单元460例如构成为能够执行总括移位量公开右移位即可。
在S470中,第三标志计算单元470根据由S420计算的份额[[f0]]2,[[f1]]2,…,[[fd-1]]2,[[fL]]2,计算份额[[f0]]P,[[f1]]P,…,[[fd-1]]P,[[fL]]P。第三标记计算单元470例如构成为能够执行mod 2→mod P转换即可。
在S480中,移位值计算单元480根据由S450计算的份额[[b]]P、由S460计算的份额[[c0]]P,[[c1]]P,…,[[cd-1]]P和由S470计算的份额[[f0]]P,[[f1]]P,…,[[fd-1]]P,[[fL]]P,计算份额[[s]]P=[[c0]]P[[f0]]P+([[c1]]P-[[c0]]P)[[f1]]P+…+([[cd-1]]P-[[cd-2]]P)[[fd-1]]P+([[b]]P-[[cd-1]]P)[[fL]]P
(变形例)
如在<技术背景>中所说明的那样,移位量隐匿移位(其3)在也可以不考虑比-R大的移位量的情况、也可以不考虑比-R’小的移位量的情况下,能够省略一部分计算。因此,在相当于这两个中的任一个的情况下,能够省略一部分计算地构成秘密移位系统40。
根据本发明的实施方式,能够在隐匿了成为移位对象的数值和移位量的状态下高速地进行移位运算。尤其是,能够以对能够右移位的量没有限制的方式,高速地进行移位运算。
<补记>
图10是表示实现上述各装置的计算机的功能结构的一个例子的图。上述的各装置中的处理能够通过向记录部220读入用于使计算机作为上述的各装置发挥功能的程序并使控制部2010、输入部2030、输出部2040等进行动作来实施。
本发明的装置例如作为单一的硬件实体,具有:能连接键盘等的输入部、能连接液晶显示器等的输出部、能连接能够对硬件实体的外部进行通信的通信装置(例如通信电缆)的通信部、CPU(也可以具有中央处理单元(Central Processing Unit)、闪存或寄存器等)、作为存储器的RAM(随机存取存储器)或ROM(只读存储器)、作为硬盘的外部存储装置、以及进行连接以在这些输入部、输出部、通信部、CPU、RAM、ROM、外部存储装置之间进行数据交换的总线。另外,根据需要,在硬件实体中也可以设置能够读写CD-ROM等的记录介质的装置(驱动器)等。作为具有这样的硬件资源的物理的实体,有通用计算机等。
在硬件实体的外部存储装置中,存储了用于实现上述的功能所需要的程序以及在该程序的处理中所需要的数据等(不限于外部存储装置,例如也可以预先读出程序,使其存储在作为专用存储装置的ROM)。而且,通过这些程序的处理所得到的数据等,被适当地存储在RAM或外部存储装置等中。
在硬件实体中,在外部存储装置(或者ROM等)所存储的各程序和该各程序的处理所需要的数据根据需要被读入到存储器,适当地在CPU中进行解释执行/处理。其结果,CPU实现规定的功能(作为上述、…部、…单元等表示的各构成要件)。
本发明不限于上述的实施方式,在不脱离本发明的宗旨的范围内能够进行适当变更。上述实施方式中说明的处理不仅按照记载的顺序按时序被执行,也可以根据执行处理的装置的处理能力或者根据需要并行或者单独地被执行。
如已述那样,在通过计算机实现上述实施方式中说明的硬件实体(本发明的装置)中的处理功能的情况下,硬件实体应该具有的功能性的处理内容通过程序被记述。然后,通过在计算机上执行该程序,在计算机上实现上述硬件实体中的处理功能。
记述了该处理内容的程序,能够被预先记录在计算机可读取的记录介质中。作为由计算机可读取的记录介质,例如磁记录装置、光盘、光磁记录介质、半导体存储器等什么样的装置都可以。具体地说,例如,作为磁记录装置,可以使用硬盘装置、软盘、磁带等,作为光盘,可以使用DVD(Digital Versatile Disc,数字通用光盘)、DVD-RAM(Random AccessMemory,随机存取存储器)、CD-ROM(Compact Disc Read Only Memory,压缩光盘只读存储器)、CD-R(Recordable,可记录)/RW(ReWritable,可改写)等,作为光磁记录介质,可以使用MO(Magneto-Optical disc,磁光盘)等,作为半导体存储器,可以使用EEP-ROM(Electronically Erasable and Programmable-Read Only Memory,电可擦可编程只读存储器)等。
而且,例如通过贩卖、转让、出租记录了该程序的DVD、CD-ROM等可便携式记录介质等来进行该程序的流通。进而,也可以将该程序预先存储在服务器计算机的存储装置中,经由网络,将该程序通过从服务器计算机转发到其它计算机,使该程序流通。
首先,执行这样的程序的计算机例如将从记录于便携式记录介质的程序或者服务器计算机转发而来的程序临时储存于自己的存储装置。接着,在执行处理时,该计算机读取储存于自己的存储装置的程序,并根据读取到的程序而执行处理。此外,作为该程序的其他执行形态,也可以设为计算机从便携式记录介质直接读取程序,执行按照该程序的处理,进一步也可以设为每当该计算机被从服务器计算机转发来程序,则该计算机依次执行按照接受到的程序的处理。此外,也可以设为如下结构:不从服务器计算机进行程序向该计算机的转发,则仅通过其执行指示和结果获取而实现处理功能,即通过所谓的ASP(ApplicationService Provider,应用服务提供商)型的服务,而执行上述的处理。另外,假设在本方式中的程序包括用于电子计算机的处理而提供的、与程序等效的信息(并非对于计算机的直接的指令,但具有规定计算机的处理的性质的数据等)。
而且,在该方式中,通过在计算机上执行规定的程序而构成硬件实体,但也可以将这些处理内容的至少一部分由硬件实现。
上述的本发明的实施方式的记载是以例证和记载为目的进行提示的。没有穷举的意思,也没有将发明限定于公开的严密形式的意思。变形和变化可以根据上述的教导而进行。实施方式是为了提供本发明的原理的最佳的例证,并且为了该领域的技术人员对本发明以各种实施方式且附加各种变形进行利用,以适合深思熟虑的实际的使用而选择并表现的方式。所有这样的变形或变化都在由附加的权利要求书所确定的本发明的范围内,所述附加权利要求书是按照公正合法公平给出的范围被解释的。

Claims (6)

1.一种秘密移位系统,设P为素数,设p为素数P的阶,设Q为剩余环的阶,设M为输入的数值的MSB位置可取的上限值,设M’为份额容许的MSB位置的上限值,设[R,R’]为以分割后的右移位覆盖的右移位量的范围,
该秘密移位系统由3个以上的秘密移位装置构成,从数值a的份额[[a]]P和移位量ρ的份额<<ρ>>Q,计算对数值a进行ρ位移位而得到的数值s的份额[[s]]P,其中,ρ≧0时设为表示左移位,ρ<0时设为表示右移位,s=2ρa,
所述秘密移位系统包括:
模数转换单元,从份额<<ρ>>Q,计算份额<<ρ>>p
第一标志计算单元,将u设为满足u≦M’-M+1的整数,将d设为满足d≧ceiling(((R’-R+1)/u)Re)的整数,
从份额<<ρ>>Q或份额<<ρ>>p、范围[R,R’]、数值u和数值d,计算份额[[f0]]2=[[(ρ≧-R’)]]2,[[f1]]2=[[(ρ≧-R’+u)]]2,…,[[fd-1]]2=[[(ρ≧-R’+(d-1)u)]]2,[[fL]]2=[[(ρ≧-R+1)]]2
第二标志计算单元,从份额[[f1]]2,[[f2]]2,…,[[fd-1]]2,[[fL]]2,计算份额<<f1>>p,<<f2>>p,…,<<fd-1>>p,<<fL>>p
移位量计算单元,从份额<<ρ>>p、份额<<f1>>p,<<f2>>p,…,<<fd-1>>p,<<fL>>p、范围的上限值R’、数值u和数值d,计算<<ρ’>>p=<<ρ>>p+R’-u(Σ1≦i<d<<fi>>p)+((d-1)u-R’)<<fL>>p
左移位单元,从份额[[a]]P和份额<<ρ’>>p,计算份额[[b]]P=[[2ρ’a]]P
右移位单元,从份额[[b]]P、范围的上限值R’、数值u和数值d,计算份额[[c0]]P=[[2ρ’a/2R’]]P,[[c1]]P=[[2ρ’a/(2R’-u)]]P,…,[[cd-1]]P=[[2ρ’a/(2R’-(d-1)u)]]P
第三标志计算装置,从份额[[f0]]2,[[f1]]2,…,[[fd-1]]2,[[fL]]2,计算份额[[f0]]P,[[f1]]P,…,[[fd-1]]P,[[fL]]P;以及
移位值计算单元,从份额[[b]]P、份额[[c0]]P,[[c1]]P,…,[[cd-1]]P和份额[[f0]]P,[[f1]]P,…,[[fd-1]]P,[[fL]]P,计算份额[[s]]P=[[c0]]P[[f0]]P+([[c1]]P-[[c0]]P)[[f1]]P+…+([[cd-1]]P-[[cd-2]]P)[[fd-1]]P+([[b]]P-[[cd-1]]P)[[fL]]P
2.一种秘密移位装置,该秘密移位装置是秘密移位系统中的秘密移位装置,设P为素数,设p为素数P的阶,设Q为剩余环的阶,设M为输入的数值的MSB位置可取的上限值,设M’为份额容许的MSB位置的上限值,设[R,R’]为以分割后的右移位覆盖的右移位量的范围,
从数值a的份额[[a]]P和移位量ρ的份额<<ρ>>Q,计算对数值a进行ρ位移位而得到的数值s的份额[[s]]P,其中,ρ≧0时设为表示左移位,ρ<0时设为表示右移位,s=2ρa,该秘密移位系统由3个以上的秘密移位装置构成,
所述秘密移位装置包括:
模数转换部,从份额<<ρ>>Q,计算份额<<ρ>>p
第一标志计算部,将u设为满足u≦M’-M+1的整数,将d设为满足d≧ceiling(((R’-R+1)/u)Re)的整数,
从份额<<ρ>>Q或份额<<ρ>>p、范围[R,R’]、数值u和数值d,计算份额[[f0]]2=[[(ρ≧-R’)]]2,[[f1]]2=[[(ρ≧-R’+u)]]2,…,[[fd-1]]2=[[(ρ≧-R’+(d-1)u)]]2,[[fL]]2=[[(ρ≧-R+1)]]2
第二标志计算部,从份额[[f1]]2,[[f2]]2,…,[[fd-1]]2,[[fL]]2,计算份额<<f1>>p,<<f2>>p,…,<<fd-1>>p,<<fL>>p
移位量计算部,从份额<<ρ>>p、份额<<f1>>p,<<f2>>p,…,<<fd-1>>p,<<fL>>p、范围的上限值R’、数值u和数值d,计算<<ρ’>>p=<<ρ>>p+R’-u(Σ1≦i<d<<fi>>p)+((d-1)u-R’)<<fL>>p
左移位部,从份额[[a]]P和份额<<ρ’>>p,计算份额[[b]]P=[[2ρ’a]]P
右移位部,从份额[[b]]P、范围的上限值R’、数值u和数值d,计算份额[[c0]]P=[[2ρ’a/2R’]]P,[[c1]]P=[[2ρ’a/(2R’-u)]]P,…,[[cd-1]]P=[[2ρ’a/(2R’-(d-1)u)]]P
第三标志计算部,从份额[[f0]]2,[[f1]]2,…,[[fd-1]]2,[[fL]]2,计算份额[[f0]]P,[[f1]]P,…,[[fd-1]]P,[[fL]]P;以及
移位值计算部,从份额[[b]]P、份额[[c0]]P,[[c1]]P,…,[[cd-1]]P和份额[[f0]]P,[[f1]]P,…,[[fd-1]]P,[[fL]]P,计算份额[[s]]P=[[c0]]P[[f0]]P+([[c1]]P-[[c0]]P)[[f1]]P+…+([[cd-1]]P-[[cd-2]]P)[[fd-1]]P+([[b]]P-[[cd-1]]P)[[fL]]P
3.一种秘密移位方法,设P为素数,设p为素数P的阶,设Q为剩余环的阶,设M为输入的数值的MSB位置可取的上限值,设M’为份额容许的MSB位置的上限值,设[R,R’]为以分割后的右移位覆盖的右移位量的范围,由3个以上的秘密移位装置构成的该秘密移位系统从数值a的份额[[a]]P和移位量ρ的份额<<ρ>>Q,计算对数值a进行ρ位移位而得到的数值s的份额[[s]]P,其中,ρ≧0时设为表示左移位,ρ<0时设为表示右移位,s=2ρa,
所述秘密移位方法包括:
模数转换步骤,所述秘密移位系统从份额<<ρ>>Q,计算份额<<ρ>>p
第一标志计算步骤,将u设为满足u≦M’-M+1的整数,将d设为满足d≧ceiling(((R’-R+1)/u)Re)的整数,所述秘密移位系统从份额<<ρ>>Q或份额<<ρ>>p、范围[R,R’]、数值u和数值d,计算份额[[f0]]2=[[(ρ≧-R’)]]2,[[f1]]2=[[(ρ≧-R’+u)]]2,…,[[fd-1]]2=[[(ρ≧-R’+(d-1)u)]]2,[[fL]]2=[[(ρ≧-R+1)]]2
第二标志计算步骤,所述秘密移位系统从份额[[f1]]2,[[f2]]2,…,[[fd-1]]2,[[fL]]2,计算份额<<f1>>p,<<f2>>p,…,<<fd-1>>p,<<fL>>p
移位量计算步骤,所述秘密移位系统从份额<<ρ>>p、份额<<f1>>p,<<f2>>p,…,<<fd-1>>p,<<fL>>p、范围的上限值R’、数值u和数值d,计算<<ρ’>>p=<<ρ>>p+R’-u(Σ1≦i<d<<fi>>p)+((d-1)u-R’)<<fL>>p
左移位步骤,所述秘密移位系统从份额[[a]]P和份额<<ρ’>>p,计算份额[[b]]P=[[2ρ’a]]P
右移位步骤,所述秘密移位系统从份额[[b]]P、范围的上限值R’、数值u和数值d,计算份额[[c0]]P=[[2ρ’a/2R’]]P,[[c1]]P=[[2ρ’a/(2R’-u)]]P,…,[[cd-1]]P=[[2ρ’a/(2R’-(d-1)u)]]P
第三标志计算步骤,所述秘密移位系统从份额[[f0]]2,[[f1]]2,…,[[fd-1]]2,[[fL]]2,计算份额[[f0]]P,[[f1]]P,…,[[fd-1]]P,[[fL]]P;以及
移位值计算步骤,所述秘密移位系统从份额[[b]]P、份额[[c0]]P,[[c1]]P,…,[[cd-1]]P和份额[[f0]]P,[[f1]]P,…,[[fd-1]]P,[[fL]]P,计算份额[[s]]P=[[c0]]P[[f0]]P+([[c1]]P-[[c0]]P)[[f1]]P+…+([[cd-1]]P-[[cd-2]]P)[[fd-1]]P+([[b]]P-[[cd-1]]P)[[fL]]P
4.一种秘密移位系统,设P为素数,设p为素数P的阶,设M为移位量的上限值,
该秘密移位系统由3个以上的秘密移位装置构成,从数值a的份额[[a]]P和移位量ρ的份额<<ρ>>Q,计算对数值a进行ρ位移位而得到的数值s的份额[[s]]P,其中,0≦ρ≦M,对数值a进行M位左移位而得到的数值2Ma不溢出,s=2ρa,
所述秘密移位系统包括:
移位量计算单元,从份额<<ρ>>p和上限值M,计算份额<<M-ρ>>p
左移位单元,从份额[[a]]P和份额<<M-ρ>>p,计算份额[[b]]P=[[2M-ρa]]P;以及
右移位单元,从份额[[b]]P和上限值M,计算份额[s]]P=[[2M-ρa/2M]]P
5.一种秘密移位系统,设P为素数,设p为素数P的阶,设Q为剩余环的阶,设M为输入的数值的MSB位置可取的上限值,
该秘密移位系统由3个以上的秘密移位装置构成,从数值a的份额[[a]]P和移位量ρ的份额<<ρ>>Q,计算对数值a进行ρ位移位而得到的数值s的份额[[s]]P,其中,ρ≧0时设为表示左移位,ρ<0时设为表示右移位,s=2ρa,
所述秘密移位系统包括:
模数转换单元,从份额<<ρ>>Q,计算份额<<ρ>>p
第一标志计算单元,从份额<<ρ>>Q或份额<<ρ>>p,计算份额[[fL]]2=[[(ρ≧0)]]2
第二标志计算单元,从份额[[fL]]2,计算<<fL>>p
移位量计算单元,从份额<<ρ>>p、份额<<fL>>p和上限值M,计算份额<<ρ’>>p=<<ρ>>p+M-M<<fL>>p
左移位单元,从份额[[a]]P和份额<<ρ’>>p,计算份额[[b]]P=[[2ρ’a]]P
右移位单元,从份额[[b]]P和上限值M,计算份额[[c]]P=[[2ρ’a/2M]]P
第三标志计算装置,从份额[[fL]]2,计算份额[[fL]]P;以及
移位值计算单元,从份额[[b]]P、份额[[c]]P和份额[[fL]]P,计算份额[[s]]P=[[c]]P+([[b]]P-[[c]]P)[[fL]]P
6.一种程序,用于使计算机作为权利要求2所述的秘密移位装置而发挥功能。
CN202080106084.0A 2020-10-16 2020-10-16 秘密移位系统、秘密移位装置、秘密移位方法、记录介质 Active CN116324934B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/039077 WO2022079890A1 (ja) 2020-10-16 2020-10-16 秘密シフトシステム、秘密シフト装置、秘密シフト方法、プログラム

Publications (2)

Publication Number Publication Date
CN116324934A true CN116324934A (zh) 2023-06-23
CN116324934B CN116324934B (zh) 2025-02-25

Family

ID=81208978

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080106084.0A Active CN116324934B (zh) 2020-10-16 2020-10-16 秘密移位系统、秘密移位装置、秘密移位方法、记录介质

Country Status (6)

Country Link
US (1) US20230379151A1 (zh)
EP (1) EP4210028B1 (zh)
JP (1) JP7485067B2 (zh)
CN (1) CN116324934B (zh)
AU (1) AU2020472387B2 (zh)
WO (1) WO2022079890A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12333273B2 (en) * 2018-10-10 2025-06-17 Nippon Telegraph And Telephone Corporation Secure right shift computation system, secure division system, methods therefor, secure computation apparatus, and program

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1184990A (zh) * 1995-09-15 1998-06-17 德克萨斯仪器股份有限公司 多级发射应答器之唤醒、其方法和结构
CN1229320A (zh) * 1998-01-13 1999-09-22 三星电子株式会社 用相同重影消除电路接收不同类型电视信号的tv接收装置
US20030159036A1 (en) * 2000-02-15 2003-08-21 Walmsley Simon Robert Validation protocol and system
AU2004201740A1 (en) * 2000-02-15 2004-05-13 Silverbrook Research Pty Ltd Validation chip
KR20040070978A (ko) * 2003-02-05 2004-08-11 학교법인 영광학원 유한 필드 GF(2m)상의 산술연산기
CN101079091A (zh) * 2003-09-26 2007-11-28 日本电信电话株式会社 标签隐私保护方法、更新装置、更新委托装置、标签装置
US20100250965A1 (en) * 2009-03-31 2010-09-30 Olson Christopher H Apparatus and method for implementing instruction support for the advanced encryption standard (aes) algorithm
CN107533812A (zh) * 2015-05-12 2018-01-02 日本电信电话株式会社 秘密分散方法、秘密分散系统、分散装置和程序
CN109791478A (zh) * 2016-09-30 2019-05-21 国际商业机器公司 十进制移位和除法指令
WO2020075797A1 (ja) * 2018-10-10 2020-04-16 日本電信電話株式会社 秘密右シフト演算システム、秘密除算システム、それらの方法、秘密計算装置、およびプログラム
CN111133495A (zh) * 2017-09-21 2020-05-08 日本电信电话株式会社 秘密读取装置、秘密写入装置、它们的方法以及程序

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1184990A (zh) * 1995-09-15 1998-06-17 德克萨斯仪器股份有限公司 多级发射应答器之唤醒、其方法和结构
CN1229320A (zh) * 1998-01-13 1999-09-22 三星电子株式会社 用相同重影消除电路接收不同类型电视信号的tv接收装置
US20030159036A1 (en) * 2000-02-15 2003-08-21 Walmsley Simon Robert Validation protocol and system
AU2004201740A1 (en) * 2000-02-15 2004-05-13 Silverbrook Research Pty Ltd Validation chip
KR20040070978A (ko) * 2003-02-05 2004-08-11 학교법인 영광학원 유한 필드 GF(2m)상의 산술연산기
CN101079091A (zh) * 2003-09-26 2007-11-28 日本电信电话株式会社 标签隐私保护方法、更新装置、更新委托装置、标签装置
US20100250965A1 (en) * 2009-03-31 2010-09-30 Olson Christopher H Apparatus and method for implementing instruction support for the advanced encryption standard (aes) algorithm
CN107533812A (zh) * 2015-05-12 2018-01-02 日本电信电话株式会社 秘密分散方法、秘密分散系统、分散装置和程序
CN109791478A (zh) * 2016-09-30 2019-05-21 国际商业机器公司 十进制移位和除法指令
CN111133495A (zh) * 2017-09-21 2020-05-08 日本电信电话株式会社 秘密读取装置、秘密写入装置、它们的方法以及程序
WO2020075797A1 (ja) * 2018-10-10 2020-04-16 日本電信電話株式会社 秘密右シフト演算システム、秘密除算システム、それらの方法、秘密計算装置、およびプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘爱森;王美琴;李艳斌;: "KATAN密码算法的相关密钥差分攻击", 密码学报, no. 01, 15 February 2015 (2015-02-15) *

Also Published As

Publication number Publication date
AU2020472387A9 (en) 2024-09-12
US20230379151A1 (en) 2023-11-23
EP4210028A4 (en) 2024-05-15
AU2020472387A1 (en) 2023-05-25
CN116324934B (zh) 2025-02-25
EP4210028B1 (en) 2025-06-11
WO2022079890A1 (ja) 2022-04-21
JPWO2022079890A1 (zh) 2022-04-21
JP7485067B2 (ja) 2024-05-16
EP4210028A1 (en) 2023-07-12
AU2020472387B2 (en) 2024-06-06

Similar Documents

Publication Publication Date Title
US10153894B2 (en) Homomorphic encryption with optimized encoding
US20170134156A1 (en) Homomorphic Encryption with Optimized Parameter Selection
CN110199339B (zh) 秘密计算系统、秘密计算装置、秘密计算方法、记录介质
CN112805768B (zh) 秘密s型函数计算系统及其方法、秘密逻辑回归计算系统及其方法、秘密s型函数计算装置、秘密逻辑回归计算装置、程序
CN112805769B (zh) 秘密s型函数计算系统、装置、方法及记录介质
CN110199338A (zh) 秘密计算系统、秘密计算装置、秘密计算方法、程序
JP6534778B2 (ja) 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム
JP7688463B2 (ja) ハイブリッドフォーマットのための浮動小数点計算
JP7226562B2 (ja) 秘密ソフトマックス関数計算システム、秘密ソフトマックス関数計算装置、秘密ソフトマックス関数計算方法、秘密ニューラルネットワーク計算システム、秘密ニューラルネットワーク学習システム、プログラム
CN116324934A (zh) 秘密移位系统、秘密移位装置、秘密移位方法、程序
Selianinau Computationally efficient approach to implementation of the Chinese Remainder Theorem algorithm in minimally redundant Residue Number System
Ha et al. Resource analysis and modifications of quantum computing with noisy qubits for elliptic curve discrete logarithms
CN116368549A (zh) 秘密指数部统一系统、秘密指数部统一装置、秘密指数部统一方法、秘密和计算系统、秘密积和计算系统、程序
JP6532843B2 (ja) 秘匿計算システム、第一秘匿計算装置、第二秘匿計算装置、秘匿回路生成方法、秘匿回路評価方法、プログラム
Kawano A reduction from an LWE problem to maximum independent set problems
Shen et al. Research on implementation of Elliptic curve cryptosystem in E-commerce
CN114981865B (zh) 秘密平方根计算系统、秘密归一化系统、它们的方法、秘密计算装置以及程序
WO2023233622A1 (ja) 秘密計算装置、秘密計算方法、プログラム
Wei New residue signed-digit addition algorithm
Adir et al. Modern Homomorphic Encryption: Introduction
JP6293681B2 (ja) マルチスカラー倍算演算装置、マルチスカラー倍算演算方法、プログラム
SHEN et al. Research on fast implementation of Elliptic Curve Cryptosystem based on object-oriented method
JP2004151234A (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