CN113259329A - 一种数据不经意传输方法、装置、电子设备及存储介质 - Google Patents

一种数据不经意传输方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113259329A
CN113259329A CN202110454120.9A CN202110454120A CN113259329A CN 113259329 A CN113259329 A CN 113259329A CN 202110454120 A CN202110454120 A CN 202110454120A CN 113259329 A CN113259329 A CN 113259329A
Authority
CN
China
Prior art keywords
transmitted
base point
public key
data information
information
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
CN202110454120.9A
Other languages
English (en)
Other versions
CN113259329B (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 Infosec Technologies Co Ltd
Original Assignee
Beijing Infosec Technologies 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 Infosec Technologies Co Ltd filed Critical Beijing Infosec Technologies Co Ltd
Priority to CN202110454120.9A priority Critical patent/CN113259329B/zh
Publication of CN113259329A publication Critical patent/CN113259329A/zh
Application granted granted Critical
Publication of CN113259329B publication Critical patent/CN113259329B/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种数据不经意传输方法、装置、电子设备及存储介质,包括:获取椭圆曲线方程参数信息、椭圆曲线方程上的基点坐标信息、发送端选择的椭圆曲线方程上的k‑1个基点坐标的倍点信息;生成一个随机数作为私钥,根据从k条待传输数据信息标识中选择的待传输数据信息标识、私钥、基点坐标信息和基点坐标的倍点信息生成第一公钥并发送至发送端,使发送端根据第一公钥和基点坐标的倍点信息生成k‑1个第二公钥,并根据第一公钥、k‑1个第二公钥和SM2算法对k条待传输数据信息分别进行加密,生成相应的k条密文;接收发送端发送的k条密文,利用私钥和SM2算法对选择的待传输数据信息标识对应的密文进行解密获得相应待传输数据信息。

Description

一种数据不经意传输方法、装置、电子设备及存储介质
技术领域
本发明涉及网络信息技术领域,尤其涉及一种数据不经意传输方法、装置、电子设备及存储介质。
背景技术
不经意传输(Oblivious Transfer,OT)协议是一种传递秘密信息的协议,可以保护信息传递双方的隐私,是密码学中的基础协议,这个协议也叫茫然传输协议。
最早的不经意传输的形式是:发送方发送一条信息给接收方,而接收方以二分之一的概率接收到信息,在传输结束后发送方并不知道接收方是否接收到了信息,而接收方能够确信地知道自己是否收到了信息。另一种更实用的不经意传输协议为2选1不经意传输(1Out 2Oblivious Transfer),如图1所示,为2选1不经意传输模型示意图,发送方每次发送两条信息(M0,M1)给接收方,经过OT协议,接收方得到自己想要的一条信息(M0或者M1),而发送方并不知道接收方最终得到的是哪条信息。之后,2选1不经意传输被拓展为N选1不经意传输(1Out N Oblivious Transfer),如图2所示,为N选1不经意传输模型示意图,发送方每次发送N条信息(M0,M1,……,MN-1),经过OT协议,接收方得到M0,M1,……,MN-1中的一条信息,并且发送方不知道接收方得到的是哪条信息,从而保护了用户隐私。
然而,现有的不经意传输协议是基于国际密码算法设计的,如RSA算法(一种非对称加密算法),底层密码技术受制于人,使得数据不经意传输的安全性不可控制。
发明内容
为了解决现有的数据不经意传输的安全性不可控制的问题,本发明实施例提供了一种数据不经意传输方法、装置、电子设备及存储介质。
第一方面,本发明实施例提供了一种接收端侧实施的数据不经意传输方法,包括:
接收端获取椭圆曲线方程参数信息、所述椭圆曲线方程上的基点坐标信息,以及发送端选择的所述椭圆曲线方程上的k-1个所述基点坐标的倍点信息;
生成一个随机数作为私钥,并根据从k条待传输数据信息标识中选择的待传输数据信息标识、所述私钥、所述基点坐标信息和所述基点坐标的倍点信息生成第一公钥,k为大于或者等于2的整数;
将所述第一公钥发送至所述发送端,以使所述发送端根据所述第一公钥和所述基点坐标的倍点信息生成相应的k-1个第二公钥,并根据所述第一公钥、所述k-1个第二公钥和椭圆曲线公钥密码算法SM2算法对所述k条待传输数据信息分别进行加密,生成相应的k条密文;
接收所述发送端发送的所述k条密文,利用所述私钥和所述SM2算法对选择的所述待传输数据信息标识对应的密文进行解密,获得选择的所述待传输数据信息。
本发明实施例提供的数据不经意传输方法中,接收端获取椭圆曲线方程参数信息、所述椭圆曲线方程上的基点坐标信息,以及发送端选择的所述椭圆曲线方程上的k-1个所述基点坐标的倍点信息,接收端生成一个随机数作为私钥,根据从k条待传输数据信息标识中选择的待传输数据信息标识、所述私钥、所述基点坐标信息和所述基点坐标的倍点信息生成第一公钥,k为大于或者等于2的整数,进而,接收端将生成的第一公钥发送至发送端,发送端根据所述第一公钥、所述基点坐标的倍点信息生成相应的k-1个第二公钥,并根据所述第一公钥、所述k-1个第二公钥和SM2算法对所述k条待传输数据信息分别进行加密,生成相应的k条密文,接收端接收发送端发送的所述k条密文,利用所述私钥和SM2算法对选择的待传输数据信息标识对应的密文进行解密,获得选择的待传输数据信息,相比于现有技术中使用国际密码算法设计不经意传输协议来实现数据的不经意传输,本发明实施例提供的数据不经意传输方法中,使用SM2算法设计不经意传输协议以实现数据的不经意传输,SM2算法是国家密码管理局发布的椭圆曲线公钥密码算法,底层密码技术拥有自主知识产权,从而使得数据不经意传输的安全性更高、更可控。
较佳地,所述k-1个基点坐标的倍点为所述发送端从基点坐标的倍点集合中随机选择的、不重复的所述基点坐标的倍点。
较佳地,根据从k条待传输数据信息标识中选择的待传输数据信息标识和所述私钥、所述基点坐标信息生成第一公钥,具体包括:
通过以下公式计算所述第一公钥:
Figure BDA0003039947770000031
其中,PK0表示所述第一公钥;
s表示所述私钥;
σ表示所述从k条待传输数据信息标识中选择的待传输数据信息标识,σ∈{0,1,2,……,k-1},0~k-1表示所述k条待传输数据信息标识,M0,M1,M2,……,Mk-1表示所述k条待传输数据信息;
G=(xG,yG)表示所述基点坐标,所述基点的阶为n,G1,G2,……,Gk-1表示所述k-1个基点坐标的倍点,G1,G2,……,Gk-1∈<G>,<G>表示所述基点坐标的倍点集合,<G>={[1]G,[2]G,……,[n]G};
PKσ表示选择的待传输数据信息标识σ时,根据所述私钥s计算出的公钥,PKσ=sG。
第二方面,本发明实施例提供了一种发送端侧实施的数据不经意传输方法,包括:
发送端向接收端发送选择的椭圆曲线方程上的k-1个基点坐标的倍点信息,所述椭圆曲线方程为根据椭圆曲线方程参数信息定义的,所述椭圆曲线方程参数信息由所述发送端生成、所述基点坐标由所述发送端指定,或者,所述椭圆曲线方程参数信息由第三方生成、所述基点坐标由所述第三方指定;
接收所述接收端发送的第一公钥,所述第一公钥是所述接收端将生成的一个随机数作为私钥,并根据从k条待传输数据信息标识中选择的待传输数据信息标识、所述私钥、所述基点坐标信息和所述基点坐标的倍点信息生成的,k为大于或者等于2的整数,所述基点坐标信息为所述接收端从所述发送端获取的,或者从所述第三方获取的;
根据所述第一公钥和所述基点坐标的倍点信息生成相应的k-1个第二公钥,并根据所述第一公钥、所述k-1个第二公钥和椭圆曲线公钥密码算法SM2算法对所述k条待传输数据信息分别进行加密,生成相应的k条密文。
本发明实施例提供的数据不经意传输方法中,发送端向接收端发送选择的椭圆曲线方程上的k-1个基点坐标的倍点信息,所述椭圆曲线方程为根据椭圆曲线方程参数信息定义的,所述椭圆曲线方程参数信息由所述发送端生成、所述基点坐标由所述发送端指定,或者,所述椭圆曲线方程参数信息由第三方生成、所述基点坐标由所述第三方指定,接收端将生成的一个随机数作为私钥,并根据从k条待传输数据信息标识中选择的待传输数据信息标识和所述私钥、所述基点坐标信息和所述基点坐标的倍点信息生成第一公钥,并将生成的第一公钥发送至发送端,其中,k为大于或者等于2的整数,所述基点坐标信息为接收端从发送端获取的,或者从第三方获取的,发送端接收第一公钥后,根据第一公钥和基点坐标的倍点信息生成相应的k-1个第二公钥,并根据第一公钥、k-1个第二公钥和SM2算法对所述k条待传输数据信息分别进行加密,生成相应的k条密文,相比于现有技术中使用国际密码算法设计不经意传输协议来实现数据的不经意传输,本发明实施例提供的数据不经意传输方法中,使用SM2算法设计不经意传输协议以实现数据的不经意传输,SM2算法是国家密码管理局发布的椭圆曲线公钥密码算法,底层密码技术拥有自主知识产权,从而使得数据不经意传输的安全性更高、更可控。
较佳地,所述k-1个基点坐标的倍点为从基点坐标的倍点集合中随机选择的、不重复的所述基点坐标的倍点。
较佳地,根据所述第一公钥和所述基点坐标的倍点信息生成相应的k-1个第二公钥,具体包括:
通过以下公式计算所述第二公钥:
PKi=Gi-PK0
其中,
Figure BDA0003039947770000051
PK0表示所述第一公钥;
s表示所述私钥;
σ表示所述从k条待传输数据信息标识中选择的待传输数据信息标识,σ∈{0,1,2,……,k-1},0~k-1表示所述k条待传输数据信息标识,M0,M1,M2,……,Mk-1表示所述k条待传输数据信息;
G=(xG,yG)表示所述基点坐标,所述基点的阶为n,G1,G2,……,Gk-1表示所述k-1个基点坐标的倍点,G1,G2,……,Gk-1∈<G>,<G>表示所述基点坐标的倍点集合,<G>={[1]G,[2]G,……,[n]G};
PKi表示第i个第二公钥,i∈{1,2,……,k-1};
PKσ表示选择的待传输数据信息标识σ时,根据所述私钥s计算出的公钥,PKσ=sG。
较佳地,根据所述第一公钥、所述k-1个第二公钥和SM2算法对所述k条待传输数据信息分别进行加密,生成相应的k条密文,具体包括:
利用所述第一公钥和所述SM2算法对待传输数据信息M0进行加密,获得所述M0对应的密文;
分别利用第二公钥PKi和所述SM2算法对待传输数据信息Mi进行加密,获得所述Mi对应的密文。
第三方面,本发明实施例提供了一种接收端侧实施的数据不经意传输装置,包括:
获取单元,用于获取椭圆曲线方程参数信息、所述椭圆曲线方程上的基点坐标信息,以及发送端选择的所述椭圆曲线方程上的k-1个所述基点坐标的倍点信息;
生成单元,用于生成一个随机数作为私钥,并根据从k条待传输数据信息标识中选择的待传输数据信息标识、所述私钥、所述基点坐标信息和所述基点坐标的倍点信息生成第一公钥,k为大于或者等于2的整数;
发送单元,用于将所述第一公钥发送至所述发送端,以使所述发送端根据所述第一公钥和所述基点坐标的倍点信息生成相应的k-1个第二公钥,并根据所述第一公钥、所述k-1个第二公钥和椭圆曲线公钥密码算法SM2算法对所述k条待传输数据信息分别进行加密,生成相应的k条密文;
解密单元,用于接收所述发送端发送的k条密文,利用所述私钥和所述SM2算法对选择的所述待传输数据信息标识对应的密文进行解密,获得选择的所述待传输数据信息。
较佳地,所述k-1个基点坐标的倍点为所述发送端从基点坐标的倍点集合中随机选择的、不重复的所述基点坐标的倍点。
较佳地,所述生成单元,具体用于通过以下公式计算所述第一公钥:
Figure BDA0003039947770000061
其中,PK0表示所述第一公钥;
s表示所述私钥;
σ表示所述从k条待传输数据信息标识中选择的待传输数据信息标识,σ∈{0,1,2,……,k-1},0~k-1表示所述k条待传输数据信息标识,M0,M1,M2,……,Mk-1表示所述k条待传输数据信息;
G=(xG,yG)表示所述基点坐标,所述基点的阶为n,G1,G2,……,Gk-1表示所述k-1个基点坐标的倍点,G1,G2,……,Gk-1∈<G>,<G>表示所述基点坐标的倍点集合,<G>={[1]G,[2]G,……,[n]G}。
本发明提供的接收端侧实施的数据不经意传输装置的技术效果可以参见上述第一方面或第一方面的各个实现方式的技术效果,此处不再赘述。
第四方面,本发明实施例提供了一种发送端侧实施的数据不经意传输装置,包括:
发送单元,用于向接收端发送选择的椭圆曲线方程上的k-1个基点坐标的倍点信息,所述椭圆曲线方程为根据预设椭圆曲线方程参数信息定义的,所述椭圆曲线方程参数信息由发送端生成、所述基点坐标由所述发送端指定,或者,所述椭圆曲线方程参数信息由第三方生成、所述基点坐标由所述第三方指定;
接收单元,用于接收所述接收端发送的第一公钥,所述第一公钥是所述接收端将生成的一个随机数作为私钥,并根据从k条待传输数据信息标识中选择的待传输数据信息标识、所述私钥、所述基点坐标信息和所述基点坐标的倍点信息生成的,k为大于或者等于2的整数,所述基点坐标信息为所述接收端从所述发送端获取的,或者从所述第三方获取的;
加密单元,用于根据所述第一公钥和所述基点坐标的倍点信息生成相应的k-1个第二公钥,并根据所述第一公钥、所述k-1个第二公钥和椭圆曲线公钥密码算法SM2算法对所述k条待传输数据信息分别进行加密,生成相应的k条密文。
较佳地,所述k-1个基点坐标的倍点为从基点坐标的倍点集合中随机选择的、不重复的所述基点坐标的倍点。
较佳地,所述加密单元,具体用于通过以下公式计算所述第二公钥:
PKi=Gi-PK0
其中,
Figure BDA0003039947770000081
PK0表示所述第一公钥;
s表示所述私钥;
σ表示所述从k条待传输数据信息标识中选择的待传输数据信息标识,σ∈{0,1,2,……,k-1},0~k-1表示所述k条待传输数据信息标识,M0,M1,M2,……,Mk-1表示所述k条待传输数据信息;
G=(xG,yG)表示所述基点坐标,所述基点的阶为n,G1,G2,……,Gk-1表示所述k-1个基点坐标的倍点,G1,G2,……,Gk-1∈<G>,<G>表示所述基点坐标的倍点集合,<G>={[1]G,[2]G,……,[n]G};
PKi表示第i个第二公钥,i∈{1,2,……,k-1}。
较佳地,所述加密单元,具体用于利用所述第一公钥和所述SM2算法对待传输数据信息M0进行加密,获得所述M0对应的密文;分别利用第二公钥PKi和所述SM2算法对待传输数据信息Mi进行加密,获得所述Mi对应的密文。
本发明提供的发送端侧实施的数据不经意传输装置的技术效果可以参见上述第二方面或第二方面的各个实现方式的技术效果,此处不再赘述。
第五方面,本发明实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明所述的数据不经意传输方法。
第六方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明所述的数据不经意传输方法中的步骤。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例提供的数据不经意传输方法的实施流程示意图;
图2为本发明实施例提供的接收端侧实施的数据不经意传输方法的实施流程示意图;
图3为本发明实施例提供的接收端侧实施的数据不经意传输装置的结构示意图;
图4为本发明实施例提供的发送端侧实施的数据不经意传输方法的实施流程示意图;
图5为本发明实施例提供的发送端侧实施的数据不经意传输装置的结构示意图;
图6为本发明实施例提供的电子设备的结构示意图。
具体实施方式
为了解决现有的数据不经意传输的安全性不可控制的问题,本发明实施例提供了一种数据不经意传输方法、装置、电子设备及存储介质。
以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
如图1所示,其为本发明实施例提供的数据不经意传输方法的实施流程示意图,具体可以包括以下步骤:
S11、发送端或者第三方向接收端发送椭圆曲线方程参数信息、所述椭圆曲线方程上的基点坐标信息。具体实施时,本发明实施例中涉及的椭圆曲线方程为SM2算法中定义的椭圆曲线方程,椭圆曲线方程参数信息可以由发送端生成并公开,也可以由可信第三方生成并公开,当椭圆曲线方程参数信息由发送端生成时,发送端根据生成的椭圆曲线方程参数信息定义椭圆曲线方程,并指定椭圆曲线方程上的基点坐标,接收端从发送端获取所述椭圆曲线方程参数信息以及所述基点坐标信息,当椭圆曲线方程参数信息由第三方生成时,第三方根据生成的椭圆曲线方程参数信息定义椭圆曲线方程,并指定椭圆曲线方程上的基点坐标,发送端和接收端可以从第三方获取所述椭圆曲线方程参数信息以及所述基点坐标信息,本发明实施例中对此不作限定。
具体地,发送端或者第三方选择参数q,定义包含q个元素的有限域Fq,选择参数a,b∈Fq,由参数a,b定义椭圆曲线方程E(Fq),选择椭圆曲线方程上的基点G=(xG,yG),其中,(xG,yG)即为基点G的坐标,基点G的阶为n,定义Hashv(.)为输出长度为v比特的哈希算法,发送端公开上述椭圆曲线方程相关的参数信息,以及选择的上述椭圆曲线方程上的基点坐标信息。
S12、发送端向接收端发送选择的所述椭圆曲线方程上k-1个所述基点坐标的倍点信息。
发送端基点坐标的倍点集合<G>中随机选择k-1个基点坐标的倍点:G1,G2,……,Gk-1∈<G>,<G>表示所述基点坐标的倍点集合,<G>={[1]G,[2]G,……,[n]G},其中,[n]G=n*G,G1,G2,……,Gk-1为从基点坐标的倍点集合{[1]G,[2]G,……,[n]G}中随机选择的、不重复的k-1个基点坐标的倍点,发送端向接收端发送其选择的所述椭圆曲线方程上的上述k-1个基点坐标的倍点信息。
需要说明的是,当椭圆曲线方程参数信息由发送端生成并公开时,发送端可以一次性向接收端发送椭圆曲线方程参数信息、选择的所述椭圆曲线方程上的基点坐标信息,以及选择的所述椭圆曲线方程上k-1个所述基点坐标的倍点信息,参见图1中以虚线示出的步骤S11。
S13、接收端生成一个随机数作为私钥,并根据从k条待传输数据信息标识中选择的待传输数据信息标识、所述私钥、所述基点坐标信息和所述基点坐标的倍点信息生成第一公钥,k为大于或者等于2的整数。
具体实施时,接收端获取发送端发送的椭圆曲线方程参数信息,以及所述发送端选择的所述椭圆曲线方程上的基点坐标信息、发送端从基点坐标的倍点集合中随机选择的k-1个基点坐标的倍点信息之后,生成一个随机数s作为私钥,其中,
Figure BDA0003039947770000111
(
Figure BDA0003039947770000112
即为大于0小于n的整数),k为大于或者等于2的整数。
进而,接收端根据从k条待传输数据信息标识中选择的待传输数据信息标识、所述私钥s、所述基点坐标信息、所述发送端从基点坐标的倍点集合中随机选择的所述k-1个基点坐标的倍点信息生成第一公钥。
具体地,接收端可以通过以下公式计算所述第一公钥:
Figure BDA0003039947770000113
其中,PK0表示所述第一公钥;
s表示所述私钥;
σ表示所述从k条待传输数据信息标识中选择的待传输数据信息标识,σ∈{0,1,2,……,k-1},0~k-1表示所述k条待传输数据信息标识,M0,M1,M2,……,Mk-1表示所述k条待传输数据信息;
G=(xG,yG)表示所述基点(G)的坐标,所述基点(G)的阶为n,Gi(i∈{1,2,……,k-1})即:G1,G2,……,Gk-1表示所述k-1个基点坐标的倍点(即:G1,G2,……,Gk-1为发送端从基点(G)坐标的倍点集合{[1]G,[2]G,……,[n]G}中随机选择的k-1个基点坐标的倍点),G1,G2,……,Gk-1∈<G>,<G>表示所述基点(G)坐标的倍点集合,<G>={[1]G,[2]G,……,[n]G};PKσ表示选择的待传输数据信息标识σ时,接收端根据所述私钥s计算出的公钥,PKσ=sG(即:PK0~PKk-1中的任意一个的值为sG),所述公钥用于发送端根据SM2算法对各待传输数据信息进行加密,然而,为了保护接收端的隐私,不可以将PKσ=sG直接发送给发送端,由于如果直接将PKσ=sG直接发送给发送端,发送端即可得知接收端选择的是哪条待传输数据信息,即σ的值,因此,本发明实施例中,设计第一公钥PK0,使得发送端可以根据PK0计算得出该公钥sG,而不感知σ的取值,从而保护了接收端的隐私,以实现不经意传输。
公式
Figure BDA0003039947770000121
的含义如下:当接收端从k条待传输数据信息M0,M1,M2,……,Mk-1的标识(即:0,1,2,……,k-1)中选择的待传输数据信息标识σ等于0时,也就是说,当接收端选择了需要接收的待传输数据信息是M0时,则第一公钥PK0=sG=s(xG,yG)。当接收端从k条待传输数据信息M0,M1,M2,……,Mk-1的标识(即:0,1,2,……,k-1)中选择的待传输数据信息标识σ除了0之外的其他值(即1,2,……,k-1)时,也就是说,当接收端选择了需要接收的待传输数据信息是M1,M2,……,Mk-1中的任一条待传输数据信息时,则第一公钥PK0=Gi-sG,σ≠0,i=σ,例如:当σ=1时(即选择的待传输数据信息是M1时),第一公钥PK0=G1-sG,当σ=2时(即选择的待传输数据信息是M2时),第一公钥PK0=G2-sG,当σ=3时(即选择的待传输数据信息是M3时),第一公钥PK0=G3-sG,……,当σ=k-1时(即选择的待传输数据信息是Mk-1时),第一公钥PK0=Gk-1-sG。
S14、接收端将所述第一公钥发送至发送端。
具体实施时,接收端将生成的第一公钥PK0发送至发送端,令发送端根据该第一公钥PK0计算对各个待传输数据信息M1,M2,……,Mk-1进行SM2加密时所使用的公钥,记为第二公钥。
S15、发送端根据所述第一公钥和所述基点坐标的倍点信息生成相应的k-1个第二公钥,并根据所述第一公钥、所述k-1个第二公钥和SM2算法对所述k条待传输数据信息分别进行加密,生成相应的k条密文。
具体实施时,发送端接收所述接收端发送的第一公钥,根据所述第一公钥和所述k-1个基点坐标的倍点信息生成相应的k-1个第二公钥,并根据所述第一公钥、所述k-1个第二公钥和SM2算法对所述k条待传输数据信息分别进行加密,生成相应的k条密文。
具体地,发送端可以通过以下公式计算所述第二公钥:
PKi=Gi-PK0
其中,
Figure BDA0003039947770000131
PK0表示所述第一公钥;
s表示所述私钥;
σ表示所述从k条待传输数据信息标识中选择的待传输数据信息标识,σ∈{0,1,2,……,k-1},0~k-1表示所述k条待传输数据信息标识,M0,M1,M2,……,Mk-1表示所述k条待传输数据信息;
G=(xG,yG)表示所述基点坐标,所述基点的阶为n,G1,G2,……,Gk-1表示所述k-1个基点坐标的倍点,G1,G2,……,Gk-1∈<G>,<G>表示所述基点坐标的倍点集合,<G>={[1]G,[2]G,……,[n]G};
PKi表示第i个第二公钥,i∈{1,2,……,k-1};
PKσ表示选择的待传输数据信息标识σ时,接收端根据所述私钥s计算出的公钥,PKσ=sG(即:PK0~PKk-1中的任意一个的值为sG。
例如,当i=1时,即σ=1时,第二公钥PK1=G1-PK0,根据第一公钥计算公式可知,σ=1时,PK0=G1-sG,则第二公钥PK1=G1-(G1-sG)=sG;σ=2时,PK0=G2-sG,则第二公钥PK2=G2-(G2-sG)=sG;……;σ=k-1时,PK0=Gk-1-sG,则第二公钥PKk-1=Gk-1-(Gk-1-sG)=sG,由此可知,无论接收端选择了M1,M2,……,Mk-1中的哪一条待传输数据信息(即无论σ为何值),发送端根据接收端发送的第一公钥PK0计算得出的第二公钥均为sG,即与接收端根据私钥s计算出的公钥PKσ相同,这样,如果接收端选择了M0,则发送端接收到的第一公钥与接收端根据私钥s计算出的公钥PK0相同,因此,发送端即感知不到接收端选择的是哪一条待传输数据信息(即感知不到σ的取值),从而保护了接收端的隐私。
进一步地,发送端根据所述第一公钥、所述k-1个第二公钥和SM2算法对所述k条待传输数据信息分别进行加密,生成相应的k条密文。
具体实施时,发送端利用第一公钥和SM2算法对待传输数据信息M0进行加密,获得M0对应的密文;分别利用第二公钥PKi和SM2算法对待传输数据信息Mi进行加密,获得Mi对应的密文,其中,i∈{1,2,……,k-1}。
具体地,发送端通过以下公式对所述k条待传输数据信息分别进行加密,生成相应的k条密文:
Cj=SM2.Enc(PKj,Mj)
其中,Cj表示对待传输数据信息Mj,使用PKj进行SM2算法加密获得的密文,j=0,1,2,……,k-1。当j=0,上述PKj即为第一公钥PK0,利用第一公钥PK0和SM2算法对待传输数据信息M0进行加密,获得M0对应的密文C0;当j=i=1,2,……,k-1时,上述PKj即为第二公钥PK1~PKk-1,分别利用第二公钥PK1~PKk-1和SM2算法对待传输数据信息M1~Mk-1进行加密,获得M1~Mk-1对应的密文C1~Ck-1。由上述分析过程可知,发送端计算获得的PKj=sG,即:PK0~PKk-1中的任意一个的值为sG。
具体地,发送端针对每一待传输数据信息Mj,通过以下步骤进行SM2算法加密:
步骤一、产生随机数K∈[1,n-1]。
步骤二、计算椭圆曲线点C1=[K]G=K*(xG,yG)=(x1,y1)。
步骤三、计算椭圆曲线点S=[h]PKj=h*sG。
其中,h为余因子,h=#E(Fq)/n,n为基点G的阶。
步骤四、当S≠O时,计算[K]PKj=K*sG=(x2,y2).
当S=O(无穷远点)时,则报错并退出。
步骤五、计算t=KDF(x2||y2,klen)。
其中,KDF为对称密钥生成函数,klen为待传输数据信息Mj的长度(即Mj的长度为klen比特)。
步骤六、判断t是否为全0,如果是,则重新执行步骤一,否则,执行步骤七。
步骤七、计算
Figure BDA0003039947770000151
步骤八、计算C3=Hashv(x2||Mj||y2)。
其中,Hashv(.)为步骤S11中定义的哈希算法。
步骤九、输出密文Cj=C1||C2||C3
密文Cj由三部分组成:C1、C2和C3,其中,第一部分C1,是由发送端生成的随机数[K]和选择的基点G计算出的椭圆曲线点,第二部分C2是真正的密文,是对Mj明文的加密结果,长度和Mj明文长度相同,即为klen不同,第三部分C3为杂凑值,用来校验数据。
S16、发送端将生成的所述k条密文发送至接收端。
S17、接收端利用所述私钥和SM2算法对选择的所述待传输数据信息标识对应的密文进行解密,获得选择的所述待传输数据信息。
具体实施时,接收端接收发送端发送的所述k条密文,利用所述私钥和所述SM2算法对选择的所述待传输数据信息标识对应的密文进行解密,获得选择的所述待传输数据信息。
具体地,接收端可以根据以下公式对选择的所述待传输数据信息标识对应的密文进行解密,获得选择的所述待传输数据信息:
Mσ=SM2.Dec(s,Cσ)
Mσ表示对密文Cσ,使用私钥s进行SM2算法解密获得的待传输数据信息(明文),其中Mσ即为接收端选择的需要接收的待传输数据信息,Cσ即为在步骤S14中发送端对接收端选择的待传输数据信息Mσ加密后的密文。
具体地,接收端通过以下步骤对密文Cσ进行SM2算法解密:
步骤(1)、从密文Cσ中取出C1
步骤(2)、验证C1是否满足椭圆曲线方程E(Fq)。
步骤(3)、如果C1满足椭圆曲线方程E(Fq),计算椭圆曲线点S=[h]C1=h*C1
如果C1不满足椭圆曲线方程E(Fq),则报错并退出。
步骤(4)、当S≠O时,计算[s]C1=(x2,y2)。
当S=O(无穷远点)时,则报错并退出。
步骤(5)、计算t=KDF(x2||y2,klen)。
步骤(6)、判断t是否为全0,如果是,则报错并退出,否则,执行步骤(7)。
步骤(7)、计算
Figure BDA0003039947770000161
步骤(8)、计算u=Hashv(x2||M′σ||y2)。
步骤(9)、判断u是否等于C3,如果是,则输出M′σ,否则,报错并退出。
M′σ即为解密后的接收端选择的待传输数据信息Mσ
本发明实施例提供的数据不经意传输方法,发送端或者第三方向接收端发送椭圆曲线方程参数信息以及指定的所述椭圆曲线方程上的基点坐标信息,发送端向接收端发送选择的所述椭圆曲线方程上k-1个所述基点坐标的倍点信息,接收端生成一个随机数作为私钥,并根据从k条待传输数据信息标识中选择的待传输数据信息标识、所述私钥、所述基点坐标信息和所述基点坐标的倍点信息生成第一公钥,并将生成的第一公钥发送至发送端,其中,k为大于或者等于2的整数,发送端接收第一公钥后,根据第一公钥和基点坐标的倍点信息生成相应的k-1个第二公钥,并根据第一公钥、k-1个第二公钥和SM2算法对所述k条待传输数据信息分别进行加密,生成相应的k条密文,并将k条密文发送至接收端,接收端利用所述私钥和SM2算法对选择的待传输数据信息标识对应的密文进行解密,获得选择的待传输数据信息,相比于现有技术中使用国际密码算法设计不经意传输协议来实现数据的不经意传输,本发明实施例提供的数据不经意传输方法中,使用SM2算法设计不经意传输协议以实现数据的不经意传输,SM2算法是国家密码管理局发布的椭圆曲线公钥密码算法,底层密码技术拥有自主知识产权,从而使得数据不经意传输的安全性更高、更可控。
基于同一发明构思,本发明实施例还提供了一种接收端实施的数据不经意传输方法,由于上述接收端实施的数据不经意传输方法解决问题的原理与所述数据不经意传输方法相似,因此上述接收端侧实施的数据不经意传输方法的实施可以参见所述数据不经意传输方法的实施,重复之处不再赘述。
如图2所示,其为本发明实施例提供的接收端侧实施的数据不经意传输方法的实施流程示意图,可以包括以下步骤:
S21、接收端获取椭圆曲线方程参数信息、所述椭圆曲线方程上的基点坐标信息,以及发送端选择的所述椭圆曲线方程上的k-1个所述基点坐标的倍点信息。
本发明实施例中涉及的椭圆曲线方程为SM2算法中定义的椭圆曲线方程,椭圆曲线方程参数信息可以由发送端生成并公开,也可以由可信第三方生成并公开,当椭圆曲线方程参数信息由发送端生成时,发送端根据生成的椭圆曲线方程参数信息定义椭圆曲线方程,并指定椭圆曲线方程上的基点坐标,接收端从发送端获取所述椭圆曲线方程参数信息以及所述基点坐标信息,当椭圆曲线方程参数信息由第三方生成时,第三方根据生成的椭圆曲线方程参数信息定义椭圆曲线方程,并指定椭圆曲线方程上的基点坐标,发送端和接收端可以从第三方获取所述椭圆曲线方程参数信息以及所述基点坐标信息,本发明实施例中对此不作限定。
S22、生成一个随机数作为私钥,并根据从k条待传输数据信息标识中选择的待传输数据信息标识、所述私钥、所述基点坐标信息和所述基点坐标的倍点信息生成第一公钥,k为大于或者等于2的整数。
S23、将所述第一公钥发送至所述发送端,以使所述发送端根据所述第一公钥和所述基点坐标的倍点信息生成相应的k-1个第二公钥,并根据所述第一公钥、所述k-1个第二公钥和SM2算法对所述k条待传输数据信息分别进行加密,生成相应的k条密文。
S24、接收所述发送端发送的所述k条密文,利用所述私钥和所述SM2算法对选择的所述待传输数据信息标识对应的密文进行解密,获得选择的所述待传输数据信息。
较佳地,所述k-1个基点坐标的倍点为所述发送端从基点坐标的倍点集合中随机选择的、不重复的基点坐标的倍点。
较佳地,根据从k条待传输数据信息标识中选择的待传输数据信息标识和所述私钥、所述基点坐标信息生成第一公钥,具体包括:
通过以下公式计算所述第一公钥:
Figure BDA0003039947770000181
其中,PK0表示所述第一公钥;
s表示所述私钥;
σ表示所述从k条待传输数据信息标识中选择的待传输数据信息标识,σ∈{0,1,2,……,k-1},0~k-1表示所述k条待传输数据信息标识,M0,M1,M2,……,Mk-1表示所述k条待传输数据信息;
G=(xG,yG)表示所述基点坐标,所述基点的阶为n,G1,G2,……,Gk-1表示所述k-1个基点坐标的倍点,G1,G2,……,Gk-1∈<G>,<G>表示所述基点坐标的倍点集合,<G>={[1]G,[2]G,……,[n]G};
PKσ表示选择的待传输数据信息标识σ时,根据所述私钥s计算出的公钥,PKσ=sG。
基于同一发明构思,本发明实施例还提供了一种接收端侧实施的数据不经意传输装置,由于上述接收端侧实施的数据不经意传输装置解决问题的原理与所述数据不经意传输方法相似,因此上述接收端侧实施的数据不经意传输装置的实施可以参见所述数据不经意传输方法的实施,重复之处不再赘述。
如图3所示,其为本发明实施例提供的接收端侧实施的数据不经意传输装置的结构示意图,可以包括:
获取单元31,用于获取椭圆曲线方程参数信息、所述椭圆曲线方程上的基点坐标信息,以及发送端选择的所述椭圆曲线方程上的k-1个所述基点坐标的倍点信息;
生成单元32,用于生成一个随机数作为私钥,并根据从k条待传输数据信息标识中选择的待传输数据信息标识、所述私钥、所述基点坐标信息和所述基点坐标的倍点信息生成第一公钥,k为大于或者等于2的整数;
发送单元33,用于将所述第一公钥发送至所述发送端,以使所述发送端根据所述第一公钥和所述基点坐标的倍点信息生成相应的k-1个第二公钥,并根据所述第一公钥、所述k-1个第二公钥和椭圆曲线公钥密码算法SM2算法对所述k条待传输数据信息分别进行加密,生成相应的k条密文;
解密单元34,用于接收所述发送端发送的k条密文,利用所述私钥和所述SM2算法对选择的所述待传输数据信息标识对应的密文进行解密,获得选择的所述待传输数据信息。
较佳地,所述k-1个基点坐标的倍点为所述发送端从基点坐标的倍点集合中随机选择的、不重复的基点坐标的倍点。
较佳地,所述生成单元32,具体用于通过以下公式计算所述第一公钥:
Figure BDA0003039947770000191
其中,PK0表示所述第一公钥;
s表示所述私钥;
σ表示所述从k条待传输数据信息标识中选择的待传输数据信息标识,σ∈{0,1,2,……,k-1},0~k-1表示所述k条待传输数据信息标识,M0,M1,M2,……,Mk-1表示所述k条待传输数据信息;
G=(xG,yG)表示所述基点坐标,所述基点的阶为n,G1,G2,……,Gk-1表示所述k-1个基点坐标的倍点,G1,G2,……,Gk-1∈<G>,<G>表示所述基点坐标的倍点集合,<G>={[1]G,[2]G,……,[n]G}。
基于同一发明构思,本发明实施例还提供了一种发送端实施的数据不经意传输方法,由于上述发送端实施的数据不经意传输方法解决问题的原理与所述数据不经意传输方法相似,因此上述发送端侧实施的数据不经意传输方法的实施可以参见所述数据不经意传输方法的实施,重复之处不再赘述。
如图4所示,其为本发明实施例提供的发送端侧实施的数据不经意传输方法的实施流程示意图,可以包括以下步骤:
S41、发送端向接收端发送选择的椭圆曲线方程上的k-1个基点坐标的倍点信息,所述椭圆曲线方程为根据椭圆曲线方程参数信息定义的,所述椭圆曲线方程参数信息由所述发送端生成、所述基点坐标由所述发送端指定,或者,所述椭圆曲线方程参数信息由第三方生成、所述基点坐标由所述第三方指定。
S42、接收所述接收端发送的第一公钥,所述第一公钥是所述接收端将生成的一个随机数作为私钥,并根据从k条待传输数据信息标识中选择的待传输数据信息标识、所述私钥、所述基点坐标信息和所述基点坐标的倍点信息生成的,k为大于或者等于2的整数,所述基点坐标信息为所述接收端从所述发送端获取的,或者从所述第三方获取的。
S43、根据所述第一公钥和所述基点坐标的倍点信息生成相应的k-1个第二公钥,并根据所述第一公钥、所述k-1个第二公钥和SM2算法对所述k条待传输数据信息分别进行加密,生成相应的k条密文。
较佳地,所述k-1个基点坐标的倍点为发送端从基点坐标的倍点集合中随机选择的、不重复的基点坐标的倍点。
较佳地,根据所述第一公钥和所述基点坐标的倍点信息生成相应的k-1个第二公钥,具体包括:
通过以下公式计算所述第二公钥:
PKi=Gi-PK0
其中,
Figure BDA0003039947770000211
PK0表示所述第一公钥;
s表示所述私钥;
σ表示所述从k条待传输数据信息标识中选择的待传输数据信息标识,σ∈{0,1,2,……,k-1},0~k-1表示所述k条待传输数据信息标识,M0,M1,M2,……,Mk-1表示所述k条待传输数据信息;
G=(xG,yG)表示所述基点坐标,所述基点的阶为n,G1,G2,……,Gk-1表示所述k-1个基点坐标的倍点,G1,G2,……,Gk-1∈<G>,<G>表示所述基点坐标的倍点集合,<G>={[1]G,[2]G,……,[n]G};
PKi表示第i个第二公钥,i∈{1,2,……,k-1};
PKσ表示选择的待传输数据信息标识σ时,根据所述私钥s计算出的公钥,PKσ=sG。
较佳地,根据所述第一公钥、所述k-1个第二公钥和SM2算法对所述k条待传输数据信息分别进行加密,生成相应的k条密文,具体包括:
利用所述第一公钥和所述SM2算法对待传输数据信息M0进行加密,获得所述M0对应的密文;
分别利用第二公钥PKi和所述SM2算法对待传输数据信息Mi进行加密,获得所述Mi对应的密文。
基于同一发明构思,本发明实施例还提供了一种发送端侧实施的数据不经意传输装置,由于上述发送端侧实施的数据不经意传输装置解决问题的原理与所述数据不经意传输方法相似,因此上述发送端侧实施的数据不经意传输装置的实施可以参见所述数据不经意传输方法的实施,重复之处不再赘述。
如图5所示,其为本发明实施例提供的发送端侧实施的数据不经意传输装置的结构示意图,可以包括:
发送单元51,用于向接收端发送选择的椭圆曲线方程上的k-1个基点坐标的倍点信息,所述椭圆曲线方程为根据预设椭圆曲线方程参数信息定义的,所述椭圆曲线方程参数信息由发送端生成、所述基点坐标由所述发送端指定,或者,所述椭圆曲线方程参数信息由第三方生成、所述基点坐标由所述第三方指定;
接收单元52,用于接收所述接收端发送的第一公钥,所述第一公钥是所述接收端将生成的一个随机数作为私钥,并根据从k条待传输数据信息标识中选择的待传输数据信息标识、所述私钥、所述基点坐标信息和所述基点坐标的倍点信息生成的,k为大于或者等于2的整数,所述基点坐标信息为所述接收端从所述发送端获取的,或者从所述第三方获取的;
加密单元53,用于根据所述第一公钥和所述基点坐标的倍点信息生成相应的k-1个第二公钥,并根据所述第一公钥、所述k-1个第二公钥和椭圆曲线公钥密码算法SM2算法对所述k条待传输数据信息分别进行加密,生成相应的k条密文。
较佳地,所述k-1个基点坐标的倍点为从基点坐标的倍点集合中随机选择的、不重复的所述基点坐标的倍点。
较佳地,所述加密单元53,具体用于通过以下公式计算所述第二公钥:
PKi=Gi-PK0
其中,
Figure BDA0003039947770000221
PK0表示所述第一公钥;
s表示所述私钥;
σ表示所述从k条待传输数据信息标识中选择的待传输数据信息标识,σ∈{0,1,2,……,k-1},0~k-1表示所述k条待传输数据信息标识,M0,M1,M2,……,Mk-1表示所述k条待传输数据信息;
G=(xG,yG)表示所述基点坐标,所述基点的阶为n,G1,G2,……,Gk-1表示所述k-1个基点坐标的倍点,G1,G2,……,Gk-1∈<G>,<G〉表示所述基点坐标的倍点集合,<G〉={[1]G,[2]G,……,[n]G};
PKi表示第i个第二公钥,i∈{1,2,……,k-1}。
较佳地,所述加密单元53,具体用于利用所述第一公钥和所述SM2算法对待传输数据信息M0进行加密,获得所述M0对应的密文;分别利用第二公钥PKi和所述SM2算法对待传输数据信息Mi进行加密,获得所述Mi对应的密文。
基于同一技术构思,本发明实施例还提供了一种电子设备600,参照图6所示,电子设备600用于实施上述方法实施例记载的数据不经意传输方法,该实施例的电子设备600可以包括:存储器601、处理器602以及存储在所述存储器中并可在所述处理器上运行的计算机程序,例如数据不经意传输程序。所述处理器执行所述计算机程序时实现上述各个数据不经意传输方法实施例中的步骤,例如图2所示的步骤S21。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能,例如31。
本发明实施例中不限定上述存储器601、处理器602之间的具体连接介质。本申请实施例在图6中以存储器601、处理器602之间通过总线603连接,总线603在图6中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线603可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器601可以是易失性存储器(volatile memory),例如随机存取存储器(raNdom-access memory,RAM);存储器601也可以是非易失性存储器(NoN-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器601是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器601可以是上述存储器的组合。
处理器602,用于实现如图2所示的一种接收端侧实施的数据不经意传输方法,包括:
所述处理器602,用于调用所述存储器601中存储的计算机程序执行如图2中所示的步骤S21、接收端获取椭圆曲线方程参数信息、所述椭圆曲线方程上的基点坐标信息,以及发送端选择的所述椭圆曲线方程上的k-1个所述基点坐标的倍点信息,步骤S22、生成一个随机数作为私钥,并根据从k条待传输数据信息标识中选择的待传输数据信息标识、所述私钥、所述基点坐标信息和所述基点坐标的倍点信息生成第一公钥,k为大于或者等于2的整数,步骤S23、将所述第一公钥发送至所述发送端,以使所述发送端根据所述第一公钥和所述基点坐标的倍点信息生成相应的k-1个第二公钥,并根据所述第一公钥、所述k-1个第二公钥和SM2算法对所述k条待传输数据信息分别进行加密,生成相应的k条密文,以及步骤S24、接收所述发送端发送的所述k条密文,利用所述私钥和所述SM2算法对选择的所述待传输数据信息标识对应的密文进行解密,获得选择的所述待传输数据信息。
或者处理器602,用于实现如图4所示的一种发送端实施的数据不经意传输方法,包括:
所述处理器602,用于调用所述存储器601中存储的计算机程序执行如图4中所示的步骤S41、发送端向接收端发送选择的椭圆曲线方程上的k-1个基点坐标的倍点信息,所述椭圆曲线方程为根据椭圆曲线方程参数信息定义的,所述椭圆曲线方程参数信息由所述发送端生成、所述基点坐标由所述发送端指定,或者,所述椭圆曲线方程参数信息由第三方生成、所述基点坐标由所述第三方指定,步骤S42、接收所述接收端发送的第一公钥,所述第一公钥是所述接收端将生成的一个随机数作为私钥,并根据从k条待传输数据信息标识中选择的待传输数据信息标识、所述私钥、所述基点坐标信息和所述基点坐标的倍点信息生成的,k为大于或者等于2的整数,所述基点坐标信息为所述接收端从所述发送端获取的,或者从所述第三方获取的,以及步骤S43、根据所述第一公钥和所述基点坐标的倍点信息生成相应的k-1个第二公钥,并根据所述第一公钥、所述k-1个第二公钥和SM2算法对所述k条待传输数据信息分别进行加密,生成相应的k条密文。
本申请实施例还提供了一种计算机可读存储介质,存储为执行上述处理器所需执行的计算机可执行指令,其包含用于执行上述处理器所需执行的程序。
在一些可能的实施方式中,本发明提供的数据不经意传输方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在电子设备上运行时,所述程序代码用于使所述电子设备执行本说明书上述描述的根据本发明各种示例性实施方式的数据不经意传输方法中的步骤,例如,所述电子设备可以执行如图2中所示的步骤S21、接收端获取椭圆曲线方程参数信息、所述椭圆曲线方程上的基点坐标信息,以及发送端选择的所述椭圆曲线方程上的k-1个所述基点坐标的倍点信息,步骤S22、生成一个随机数作为私钥,并根据从k条待传输数据信息标识中选择的待传输数据信息标识、所述私钥、所述基点坐标信息和所述基点坐标的倍点信息生成第一公钥,k为大于或者等于2的整数,步骤S23、将所述第一公钥发送至所述发送端,以使所述发送端根据所述第一公钥和所述基点坐标的倍点信息生成相应的k-1个第二公钥,并根据所述第一公钥、所述k-1个第二公钥和SM2算法对所述k条待传输数据信息分别进行加密,生成相应的k条密文,以及步骤S24、接收所述发送端发送的所述k条密文,利用所述私钥和所述SM2算法对选择的所述待传输数据信息标识对应的密文进行解密,获得选择的所述待传输数据信息。或者所述电子设备可以执行如图4中所示的步骤S41、发送端向接收端发送选择的椭圆曲线方程上的k-1个基点坐标的倍点信息,所述椭圆曲线方程为根据椭圆曲线方程参数信息定义的,所述椭圆曲线方程参数信息由所述发送端生成、所述基点坐标由所述发送端指定,或者,所述椭圆曲线方程参数信息由第三方生成、所述基点坐标由所述第三方指定,步骤S42、接收所述接收端发送的第一公钥,所述第一公钥是所述接收端将生成的一个随机数作为私钥,并根据从k条待传输数据信息标识中选择的待传输数据信息标识、所述私钥、所述基点坐标信息和所述基点坐标的倍点信息生成的,k为大于或者等于2的整数,所述基点坐标信息为所述接收端从所述发送端获取的,或者从所述第三方获取的,以及步骤S43、根据所述第一公钥和所述基点坐标的倍点信息生成相应的k-1个第二公钥,并根据所述第一公钥、所述k-1个第二公钥和SM2算法对所述k条待传输数据信息分别进行加密,生成相应的k条密文。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (16)

1.一种数据不经意传输方法,其特征在于,包括:
接收端获取椭圆曲线方程参数信息、所述椭圆曲线方程上的基点坐标信息,以及发送端选择的所述椭圆曲线方程上的k-1个所述基点坐标的倍点信息;
生成一个随机数作为私钥,并根据从k条待传输数据信息标识中选择的待传输数据信息标识、所述私钥、所述基点坐标信息和所述基点坐标的倍点信息生成第一公钥,k为大于或者等于2的整数;
将所述第一公钥发送至所述发送端,以使所述发送端根据所述第一公钥和所述基点坐标的倍点信息生成相应的k-1个第二公钥,并根据所述第一公钥、所述k-1个第二公钥和椭圆曲线公钥密码算法SM2算法对所述k条待传输数据信息分别进行加密,生成相应的k条密文;
接收所述发送端发送的所述k条密文,利用所述私钥和所述SM2算法对选择的所述待传输数据信息标识对应的密文进行解密,获得选择的所述待传输数据信息。
2.如权利要求1所述的方法,其特征在于,所述k-1个基点坐标的倍点为所述发送端从基点坐标的倍点集合中随机选择的、不重复的所述基点坐标的倍点。
3.如权利要求2所述的方法,其特征在于,根据从k条待传输数据信息标识中选择的待传输数据信息标识和所述私钥、所述基点坐标信息生成第一公钥,具体包括:
通过以下公式计算所述第一公钥:
Figure FDA0003039947760000011
其中,PK0表示所述第一公钥;
s表示所述私钥;
σ表示所述从k条待传输数据信息标识中选择的待传输数据信息标识,σ∈{0,1,2,……,k-1},0~k-1表示所述k条待传输数据信息标识,M0,M1,M2,……,Mk-1表示所述k条待传输数据信息;
G=(xG,yG)表示所述基点坐标,所述基点的阶为n,G1,G2,……,Gk-1表示所述k-1个基点坐标的倍点,G1,G2,……,Gk-1∈<G>,<G>表示所述基点坐标的倍点集合,<G>={[1]G,[2]G,……,[n]G};
PKσ表示选择的待传输数据信息标识σ时,根据所述私钥s计算出的公钥,PKσ=sG。
4.一种数据不经意传输方法,其特征在于,包括:
发送端向接收端发送选择的椭圆曲线方程上的k-1个基点坐标的倍点信息,所述椭圆曲线方程为根据椭圆曲线方程参数信息定义的,所述椭圆曲线方程参数信息由所述发送端生成、所述基点坐标由所述发送端指定,或者,所述椭圆曲线方程参数信息由第三方生成、所述基点坐标由所述第三方指定;
接收所述接收端发送的第一公钥,所述第一公钥是所述接收端将生成的一个随机数作为私钥,并根据从k条待传输数据信息标识中选择的待传输数据信息标识、所述私钥、基点坐标信息和所述基点坐标的倍点信息生成的,k为大于或者等于2的整数,所述基点坐标信息为所述接收端从所述发送端获取的,或者从所述第三方获取的;
根据所述第一公钥和所述基点坐标的倍点信息生成相应的k-1个第二公钥,并根据所述第一公钥、所述k-1个第二公钥和椭圆曲线公钥密码算法SM2算法对所述k条待传输数据信息分别进行加密,生成相应的k条密文。
5.如权利要求4所述的方法,其特征在于,所述k-1个基点坐标的倍点为从基点坐标的倍点集合中随机选择的、不重复的所述基点坐标的倍点。
6.如权利要求5所述的方法,其特征在于,根据所述第一公钥和所述基点坐标的倍点信息生成相应的k-1个第二公钥,具体包括:
通过以下公式计算所述第二公钥:
PKi=Gi-PK0
其中,
Figure FDA0003039947760000031
PK0表示所述第一公钥;
s表示所述私钥;
σ表示所述从k条待传输数据信息标识中选择的待传输数据信息标识,σ∈{0,1,2,……,k-1},0~k-1表示所述k条待传输数据信息标识,M0,M1,M2,……,Mk-1表示所述k条待传输数据信息;
G=(xG,yG)表示所述基点坐标,所述基点的阶为n,G1,G2,……,Gk-1表示所述k-1个基点坐标的倍点,G1,G2,……,Gk-1∈<G>,<G>表示所述基点坐标的倍点集合,<G>={[1]G,[2]G,……,[n]G};
PKi表示第i个第二公钥,i∈{1,2,……,k-1};
PKσ表示选择的待传输数据信息标识σ时,根据所述私钥s计算出的公钥,PKσ=sG。
7.如权利要求6所述的方法,其特征在于,根据所述第一公钥、所述k-1个第二公钥和SM2算法对所述k条待传输数据信息分别进行加密,生成相应的k条密文,具体包括:
利用所述第一公钥和所述SM2算法对待传输数据信息M0进行加密,获得所述M0对应的密文;
分别利用第二公钥PKi和所述SM2算法对待传输数据信息Mi进行加密,获得所述Mi对应的密文。
8.一种数据不经意传输装置,其特征在于,包括:
获取单元,用于获取椭圆曲线方程参数信息、所述椭圆曲线方程上的基点坐标信息,以及发送端选择的所述椭圆曲线方程上的k-1个所述基点坐标的倍点信息;
生成单元,用于生成一个随机数作为私钥,并根据从k条待传输数据信息标识中选择的待传输数据信息标识、所述私钥、所述基点坐标信息和所述基点坐标的倍点信息生成第一公钥,k为大于或者等于2的整数;
发送单元,用于将所述第一公钥发送至所述发送端,以使所述发送端根据所述第一公钥和所述基点坐标的倍点信息生成相应的k-1个第二公钥,并根据所述第一公钥、所述k-1个第二公钥和椭圆曲线公钥密码算法SM2算法对所述k条待传输数据信息分别进行加密,生成相应的k条密文;
解密单元,用于接收所述发送端发送的k条密文,利用所述私钥和所述SM2算法对选择的所述待传输数据信息标识对应的密文进行解密,获得选择的所述待传输数据信息。
9.如权利要求8所述的装置,其特征在于,所述k-1个基点坐标的倍点为所述发送端从基点坐标的倍点集合中随机选择的、不重复的所述基点坐标的倍点。
10.如权利要求9所述的装置,其特征在于,
所述生成单元,具体用于通过以下公式计算所述第一公钥:
Figure FDA0003039947760000041
其中,PK0表示所述第一公钥;
s表示所述私钥;
σ表示所述从k条待传输数据信息标识中选择的待传输数据信息标识,σ∈{0,1,2,……,k-1},0~k-1表示所述k条待传输数据信息标识,M0,M1,M2,……,Mk-1表示所述k条待传输数据信息;
G=(xG,yG)表示所述基点坐标,所述基点的阶为n,G1,G2,……,Gk-1表示所述k-1个基点坐标的倍点,G1,G2,……,Gk-1∈<G>,<G>表示所述基点坐标的倍点集合,<G>={[1]G,[2]G,……,[n]G}。
11.一种数据不经意传输装置,其特征在于,包括:
发送单元,用于向接收端发送选择的椭圆曲线方程上的k-1个基点坐标的倍点信息,所述椭圆曲线方程为根据预设椭圆曲线方程参数信息定义的,所述椭圆曲线方程参数信息由发送端生成、所述基点坐标由所述发送端指定,或者,所述椭圆曲线方程参数信息由第三方生成、所述基点坐标由所述第三方指定;
接收单元,用于接收所述接收端发送的第一公钥,所述第一公钥是所述接收端将生成的一个随机数作为私钥,并根据从k条待传输数据信息标识中选择的待传输数据信息标识、所述私钥、基点坐标信息和所述基点坐标的倍点信息生成的,k为大于或者等于2的整数,所述基点坐标信息为所述接收端从所述发送端获取的,或者从所述第三方获取的;
加密单元,用于根据所述第一公钥和所述基点坐标的倍点信息生成相应的k-1个第二公钥,并根据所述第一公钥、所述k-1个第二公钥和椭圆曲线公钥密码算法SM2算法对所述k条待传输数据信息分别进行加密,生成相应的k条密文。
12.如权利要求11所述的装置,其特征在于,所述k-1个基点坐标的倍点为从基点坐标的倍点集合中随机选择的、不重复的所述基点坐标的倍点。
13.如权利要求12所述的装置,其特征在于,
所述加密单元,具体用于通过以下公式计算所述第二公钥:
PKi=Gi-PK0
其中,
Figure FDA0003039947760000051
PK0表示所述第一公钥;
s表示所述私钥;
σ表示所述从k条待传输数据信息标识中选择的待传输数据信息标识,σ∈{0,1,2,……,k-1},0~k-1表示所述k条待传输数据信息标识,M0,M1,M2,……,Mk-1表示所述k条待传输数据信息;
G=(xG,yG)表示所述基点坐标,所述基点的阶为n,G1,G2,……,Gk-1表示所述k-1个基点坐标的倍点,G1,G2,……,Gk-1∈<G>,<G>表示所述基点坐标的倍点集合,<G>={[1]G,[2]G,……,[n]G};
PKi表示第i个第二公钥,i∈{1,2,……,k-1}。
14.如权利要求13所述的装置,其特征在于,
所述加密单元,具体用于利用所述第一公钥和所述SM2算法对待传输数据信息M0进行加密,获得所述M0对应的密文;分别利用第二公钥PKi和所述SM2算法对待传输数据信息Mi进行加密,获得所述Mi对应的密文。
15.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~7任一项所述的数据不经意传输方法。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~7任一项所述的数据不经意传输方法中的步骤。
CN202110454120.9A 2021-04-26 2021-04-26 一种数据不经意传输方法、装置、电子设备及存储介质 Active CN113259329B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110454120.9A CN113259329B (zh) 2021-04-26 2021-04-26 一种数据不经意传输方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110454120.9A CN113259329B (zh) 2021-04-26 2021-04-26 一种数据不经意传输方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN113259329A true CN113259329A (zh) 2021-08-13
CN113259329B CN113259329B (zh) 2022-07-15

Family

ID=77221898

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110454120.9A Active CN113259329B (zh) 2021-04-26 2021-04-26 一种数据不经意传输方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113259329B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114301609A (zh) * 2022-03-01 2022-04-08 华控清交信息科技(北京)有限公司 一种不经意传输方法、多方安全计算平台和用于不经意传输的装置
CN114301702A (zh) * 2021-12-30 2022-04-08 中国电信股份有限公司 代理茫然传输方法及装置、存储介质、电子设备
CN114301594A (zh) * 2022-03-01 2022-04-08 华控清交信息科技(北京)有限公司 一种不经意传输方法、多方安全计算平台和用于不经意传输的装置
CN114362949A (zh) * 2022-01-06 2022-04-15 北京海泰方圆科技股份有限公司 一种传输方法、装置、介质和设备
CN115001685A (zh) * 2022-07-22 2022-09-02 北京信安世纪科技股份有限公司 不经意传输方法、装置、设备和存储介质
CN115065470A (zh) * 2022-08-05 2022-09-16 北京信安世纪科技股份有限公司 数据传输方法和设备
CN115378588A (zh) * 2022-10-25 2022-11-22 北京信安世纪科技股份有限公司 不经意传输方法、设备和存储介质
CN115412246A (zh) * 2022-11-01 2022-11-29 北京信安世纪科技股份有限公司 不经意传输方法、装置、设备和存储介质
CN115801234A (zh) * 2022-10-11 2023-03-14 蓝象智联(杭州)科技有限公司 一种基于国密的数据不经意传输方法
CN117176351A (zh) * 2023-11-02 2023-12-05 北京密码云芯科技有限公司 数据传输处理方法、系统、计算机设备及存储介质
WO2024139192A1 (zh) * 2022-12-28 2024-07-04 声龙(新加坡)私人有限公司 加速椭圆曲线标量点乘计算的装置、方法及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006108840A (ja) * 2004-10-01 2006-04-20 Nippon Telegr & Teleph Corp <Ntt> 紛失通信路構成方法、この方法を実施する装置、プログラム
CN108632035A (zh) * 2018-05-17 2018-10-09 湖北工业大学 一种带有访问控制的不经意传输系统及方法
CN111064583A (zh) * 2020-03-17 2020-04-24 北京信安世纪科技股份有限公司 一种门限sm2数字签名方法、装置、电子设备及存储介质
CN112055021A (zh) * 2020-09-08 2020-12-08 苏州同济区块链研究院有限公司 一种基于椭圆曲线的茫然传输方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006108840A (ja) * 2004-10-01 2006-04-20 Nippon Telegr & Teleph Corp <Ntt> 紛失通信路構成方法、この方法を実施する装置、プログラム
CN108632035A (zh) * 2018-05-17 2018-10-09 湖北工业大学 一种带有访问控制的不经意传输系统及方法
CN111064583A (zh) * 2020-03-17 2020-04-24 北京信安世纪科技股份有限公司 一种门限sm2数字签名方法、装置、电子设备及存储介质
CN112055021A (zh) * 2020-09-08 2020-12-08 苏州同济区块链研究院有限公司 一种基于椭圆曲线的茫然传输方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ABHISHEK PARAKH: "Communication Efficient Oblivious Transfer Using Elliptic Curves", 《2012 IEEE 14TH INTERNATIONAL SYMPOSIUM ON HIGH-ASSURANCE SYSTEMS ENGINEERING》 *
徐彦蛟等: "基于椭圆曲线公钥系统的不经意传输协议", 《计算机科学》 *

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114301702A (zh) * 2021-12-30 2022-04-08 中国电信股份有限公司 代理茫然传输方法及装置、存储介质、电子设备
CN114301702B (zh) * 2021-12-30 2024-01-30 中国电信股份有限公司 代理茫然传输方法及装置、存储介质、电子设备
CN114362949A (zh) * 2022-01-06 2022-04-15 北京海泰方圆科技股份有限公司 一种传输方法、装置、介质和设备
CN114301609A (zh) * 2022-03-01 2022-04-08 华控清交信息科技(北京)有限公司 一种不经意传输方法、多方安全计算平台和用于不经意传输的装置
CN114301594A (zh) * 2022-03-01 2022-04-08 华控清交信息科技(北京)有限公司 一种不经意传输方法、多方安全计算平台和用于不经意传输的装置
CN114301594B (zh) * 2022-03-01 2022-05-17 华控清交信息科技(北京)有限公司 一种不经意传输方法、多方安全计算平台和用于不经意传输的装置
CN114301609B (zh) * 2022-03-01 2022-05-17 华控清交信息科技(北京)有限公司 一种不经意传输方法、多方安全计算平台和用于不经意传输的装置
CN115001685A (zh) * 2022-07-22 2022-09-02 北京信安世纪科技股份有限公司 不经意传输方法、装置、设备和存储介质
CN115065470B (zh) * 2022-08-05 2022-11-11 北京信安世纪科技股份有限公司 数据传输方法和设备
CN115065470A (zh) * 2022-08-05 2022-09-16 北京信安世纪科技股份有限公司 数据传输方法和设备
CN115801234A (zh) * 2022-10-11 2023-03-14 蓝象智联(杭州)科技有限公司 一种基于国密的数据不经意传输方法
CN115801234B (zh) * 2022-10-11 2023-04-07 蓝象智联(杭州)科技有限公司 一种基于国密的数据不经意传输方法
CN115378588A (zh) * 2022-10-25 2022-11-22 北京信安世纪科技股份有限公司 不经意传输方法、设备和存储介质
CN115412246A (zh) * 2022-11-01 2022-11-29 北京信安世纪科技股份有限公司 不经意传输方法、装置、设备和存储介质
CN115412246B (zh) * 2022-11-01 2023-01-31 北京信安世纪科技股份有限公司 不经意传输方法、装置、设备和存储介质
WO2024139192A1 (zh) * 2022-12-28 2024-07-04 声龙(新加坡)私人有限公司 加速椭圆曲线标量点乘计算的装置、方法及存储介质
CN117176351A (zh) * 2023-11-02 2023-12-05 北京密码云芯科技有限公司 数据传输处理方法、系统、计算机设备及存储介质
CN117176351B (zh) * 2023-11-02 2024-02-06 北京密码云芯科技有限公司 数据传输处理方法、系统、计算机设备及存储介质

Also Published As

Publication number Publication date
CN113259329B (zh) 2022-07-15

Similar Documents

Publication Publication Date Title
CN113259329B (zh) 一种数据不经意传输方法、装置、电子设备及存储介质
US10785019B2 (en) Data transmission method and apparatus
JP6019453B2 (ja) 暗号化装置、復号化装置、及びプログラム
CN110113155B (zh) 一种高效无证书公钥加密方法
EP2361462B1 (en) Method for generating an encryption/decryption key
CN108347404B (zh) 一种身份认证方法及装置
US12021984B2 (en) Content management systems and methods using proxy reencryption
US9130744B1 (en) Sending an encrypted key pair and a secret shared by two devices to a trusted intermediary
US12010216B2 (en) Computer-implemented system and method for highly secure, high speed encryption and transmission of data
JP2022537733A (ja) 認証付き鍵共有
KR101516114B1 (ko) 인증서 기반 프록시 재암호화 방법 및 이를 위한 시스템
CN104158880A (zh) 一种用户端云数据共享解决方法
US11528127B2 (en) Computer-implemented system and method for highly secure, high speed encryption and transmission of data
CN111404671A (zh) 移动化量子保密通信方法、网关、移动终端及服务器
CN105025036A (zh) 一种基于互联网的认知能力测试值加密和传输方法
CN114070549A (zh) 一种密钥生成方法、装置、设备和存储介质
CN112822016B (zh) 在区块链上进行数据授权的方法及区块链网络
KR101793528B1 (ko) 무인증서 공개키 암호 시스템
JP2004246350A (ja) 暗号化装置および復号化装置、並びにこれらを備えた暗号システム、暗号化方法および復号化方法
CN114697001B (zh) 一种基于区块链的信息加密传输方法、设备及介质
CN114070550A (zh) 一种信息处理方法、装置、设备和存储介质
CN108429717B (zh) 一种身份认证方法及装置
CN116781243B (zh) 一种基于同态加密的不经意传输方法、介质及电子设备
CN113141249B (zh) 一种门限解密方法、系统及可读存储介质
WO2018011825A1 (en) Encryption and decryption of messages

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