CN113312643B - 基于sm2和sm3算法的关键字匹配方法 - Google Patents

基于sm2和sm3算法的关键字匹配方法 Download PDF

Info

Publication number
CN113312643B
CN113312643B CN202110641297.XA CN202110641297A CN113312643B CN 113312643 B CN113312643 B CN 113312643B CN 202110641297 A CN202110641297 A CN 202110641297A CN 113312643 B CN113312643 B CN 113312643B
Authority
CN
China
Prior art keywords
data
service provider
storage service
data storage
trapdoor
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
CN202110641297.XA
Other languages
English (en)
Other versions
CN113312643A (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.)
Hangzhou Qulian Technology Co Ltd
Original Assignee
Hangzhou Qulian Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Qulian Technology Co Ltd filed Critical Hangzhou Qulian Technology Co Ltd
Priority to CN202110641297.XA priority Critical patent/CN113312643B/zh
Publication of CN113312643A publication Critical patent/CN113312643A/zh
Application granted granted Critical
Publication of CN113312643B publication Critical patent/CN113312643B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Power Engineering (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于SM2和SM3算法的关键字匹配方法。本发明首先,数据接收方把想要查询的关键字发送到数据存储服务提供方。然后,数据发送方将加密的数据以及相应的关键字的密文发送到数据存储服务提供方。最后,数据存储服务提供方会根据数据接收方的要求对接收到数据发送方的加密的数据、以及相应的关键字的密文解密进行关键字匹配。匹配成功,则数据接收方可以到数据存储服务提供方下载所要查询的关键字对应的数据。本发明所涉及的关键字对于数据存储服务提供方来说是能够抵抗数据存储服务提供方所发起的暴力破解攻击,在数据发送方发送符合条件的数据之前,即使数据存储服务提供方发起暴力破解攻击,也不能获得对应的关键字。

Description

基于SM2和SM3算法的关键字匹配方法
技术领域
本发明涉及一种数据安全查询方法,具体是一种基于SM2和SM3算法的关键字匹配方法。
背景技术
近年来,随着网络的快速发展,大数据时代已然到来,人们日常产生的数据越来越多。随着云技术的发展,人们发现,当把数据外包到云服务器时,也就无法对数据进行控制,使数据发送方以及数据接收方的隐私安全面临巨大的挑战。
常规的解决办法是数据加密后上传,但是又会遇到如何对密文进行匹配的难题,最简单的方法是将文件下载解密后进行匹配。这种操作由于下载了不需要的文件而浪费了大量网络开销,且进行解密和匹配,以及双线性配对需要浪费大量的计算开销,这种方法并不适用。由于数据存储服务器具有强大的计算能力,人们希望由服务器进行检索功能,可以把密钥发送给云服务器,之后由服务器解密并匹配。然而现有的关键字匹配算法不能抵抗暴力破解攻击,即数据存储服务提供方可以通过不断地尝试,获取关键字信息,另外需要使用配对等高功耗的密码操作。
发明内容
本发明针对现有技术的不足,提供了一种基于SM2和SM3算法的关键字匹配方法。
本发明的具体技术方案为:
步骤1、数据接收方将陷门td发送到数据存储服务提供方,所述的陷门td中加密有数据接收方想要查询的关键字;
步骤2、数据发送方将加密的数据以及相应的关键字的密文发送到数据存储服务提供方;
步骤3、数据存储服务提供方根据数据接收方想要查询的关键字,对接收到数据发送方的加密的数据、以及相应的关键字的密文解密进行关键字匹配,具体是:
当数据存储提供方收到数据发送方的密文后,数据存储服务提供方基于SM2椭圆曲线公钥密码算法用数据存储服务提供方的私钥对密文进行解密获得数据发送方的陷门m;
对比数据发送方的陷门m和数据接收方的陷门td,如果相等,则进行允许数据接收方下载所要查询的关键字对应的数据;如果不相等,则继续比对其它陷门td。
进一步说,步骤1中的陷门td通过以下方式得到:
td=SM3(SM3([skr]·pks)||kw)
kw是数据接收方需要的数据所对应的关键字,SM3表示SM3密码杂凑算法,skr表示数据接收方的私钥,pks表示数据接收方的公钥。
进一步说,所述的陷门td通过安全信道传给数据存储服务提供方。
进一步说,步骤2具体是:
数据发送方计算陷门m;
基于SM2椭圆曲线公钥密码算法,用数据存储服务提供方的公钥pkc对所述陷门m进行加密,获得密文C;
将加密的数据以及密文C发送给数据存储服务提供方。
进一步说,所述的陷门m通过以下方式得到:
m=SM3(SM3([sks]·pkr)||kw’)
其中kw’是数据发送方所发送的数据对应的关键字,sks是数据发送方的私钥,pkr是数据接收方的公钥,SM3表示SM3密码杂凑算法。
本发明的有益效果:
本发明基于椭圆曲线的离散对数难题,即使敌手获得了数据发送方发送的密文,也不能获得相应的关键字。基于SM2算法有公钥、私钥之分,公钥给别人,可以在一定范围内公开,私钥留给自己,必须保密。由私钥可以计算公钥;由公钥计算私钥,是相当困难的,现阶段是不可能。数据发送方用数据存储服务提供方的公钥pkc对m进行加密获得SM2密文C,只有数据存储服务提供方才能用自己的私钥skc进行解密得到m。
本发明所涉及的关键字对于数据存储服务提供方来说是能够抵抗数据存储服务提供方所发起的暴力破解攻击,在数据发送方发送符合条件的数据之前,即使数据存储服务提供方发起暴力破解攻击,也不能获得对应的关键字。
附图说明
图1为本发明方法示意图。
具体实施方式
如图1所示,在该系统中,存在三种类型的参与者,分别是数据接收方、数据发送方、以及数据存储服务提供方。
首先,数据接收方把想要查询的关键字发送到数据存储服务提供方。
然后,数据发送方将加密的数据以及相应的关键字的密文发送到数据存储服务提供方。
最后,数据存储服务提供方会根据数据接收方的要求(数据接收方想要查询的关键字)对接收到数据发送方的加密的数据、以及相应的关键字的密文解密进行关键字匹配。匹配成功,则数据接收方可以到数据存储服务提供方下载所要查询的关键字对应的数据。
为了描述方便,在以下实施例中,每个数据都对应相应的关键字,仅对关键字匹配进行描述。对于数据的加密可以直接使用其它加密算法进行。在本系统中,可以有多个数据发送方,也可以有多个数据接收方、以及多个数据存储服务提供方。
实施例:如图1所示,设系统中的所有参与者都依据SM2标准生成各自的公私钥对,并按SM2标准对其进行验证。假设所生成对应的群记为
Figure BDA0003107892540000031
其阶为q,其中的一个生成元为G。对于数据发送方的公钥pks和私钥
Figure BDA0003107892540000032
Figure BDA0003107892540000033
代表1到q-1内的整数。有pks=[sks]·G。类似地,数据接收方的公私钥对(pkr,skr)和数据存储服务提供方的公私钥对(pkc,skc)也有一样的关系。
1、数据接收方将查询关键字发送到数据存储提供方。假设目前的关键字是kw,kw是数据接收方需要的数据所对应的关键字。则数据接收方计算td=SM3(SM3([skr]·pks)||kw),td是根据关键字kw所产生的陷门,并将td及相关操作规定通过安全信道传给数据存储服务提供方。
2、数据发送方产生密文。将如前所述,在这里省去关于数据本身的加密过程,仅对关键字处理进行描述。假设数据发送方所发送的数据对应的关键字是kw’,则数据发送方首先计算m=SM3(SM3([sks]·pkr)||kw’),其次基于SM2加密算法用数据存储服务提供方的公钥pkc对m进行加密获得SM2密文C,最后将密文C以及加密的数据发送给数据存储服务提供方。
3、数据存储提供方进行关键字匹配。当数据存储提供方收到数据发送方产生的密文C后,数据存储服务提供方基于SM2解密算法用其私钥skc对密文C进行解密,获得m。对比m和td,如果相等,则进行相应的规定操作;如果不相等,则继续比对其它td(数据发送方会发来很多不同的数据及对应的关键字,每个数据都有其对应的关键字)。

Claims (5)

1.基于SM2和SM3算法的关键字匹配方法,其特征在于该方法具体是:
步骤1、数据接收方将陷门td发送到数据存储服务提供方,所述的陷门td中加密有数据接收方想要查询的关键字;
步骤2、数据发送方将加密的数据以及相应的关键字的密文发送到数据存储服务提供方;
步骤3、数据存储服务提供方根据数据接收方想要查询的关键字,对接收到数据发送方的加密的数据、以及相应的关键字的密文解密进行关键字匹配,具体是:
当数据存储提供方收到数据发送方的密文后,数据存储服务提供方基于SM2椭圆曲线公钥密码算法用数据存储服务提供方的私钥对密文进行解密获得数据发送方的陷门m;
对比数据发送方的陷门m和数据接收方的陷门td,如果相等,则进行允许数据接收方下载所要查询的关键字对应的数据;如果不相等,则继续比对其它陷门td。
2.根据权利要求1所述的基于SM2和SM3算法的关键字匹配方法,其特征在于:步骤1中的陷门td通过以下方式得到:
td=SM3(SM3([skr]·pks)||kw)
kw是数据接收方需要的数据所对应的关键字,SM3表示SM3密码杂凑算法,skr表示数据接收方的私钥,pks表示数据发送方的公钥。
3.根据权利要求2所述的基于SM2和SM3算法的关键字匹配方法,其特征在于:所述的陷门td通过安全信道传给数据存储服务提供方。
4.根据权利要求1所述的基于SM2和SM3算法的关键字匹配方法,其特征在于:步骤2具体是:
数据发送方计算陷门m;
基于SM2椭圆曲线公钥密码算法,用数据存储服务提供方的公钥pkc对所述陷门m进行加密,获得密文C;
将加密的数据以及密文C发送给数据存储服务提供方。
5.根据权利要求4所述的基于SM2和SM3算法的关键字匹配方法,其特征在于:所述的陷门m通过以下方式得到:
m=SM3(SM3([sks]·pkr)||kw’)
其中kw’是数据发送方所发送的数据对应的关键字,sks是数据发送方的私钥,pkr是数据接收方的公钥,SM3表示SM3密码杂凑算法。
CN202110641297.XA 2021-06-09 2021-06-09 基于sm2和sm3算法的关键字匹配方法 Active CN113312643B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110641297.XA CN113312643B (zh) 2021-06-09 2021-06-09 基于sm2和sm3算法的关键字匹配方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110641297.XA CN113312643B (zh) 2021-06-09 2021-06-09 基于sm2和sm3算法的关键字匹配方法

Publications (2)

Publication Number Publication Date
CN113312643A CN113312643A (zh) 2021-08-27
CN113312643B true CN113312643B (zh) 2022-09-27

Family

ID=77377888

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110641297.XA Active CN113312643B (zh) 2021-06-09 2021-06-09 基于sm2和sm3算法的关键字匹配方法

Country Status (1)

Country Link
CN (1) CN113312643B (zh)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101217491B1 (ko) * 2010-12-20 2013-01-02 고려대학교 산학협력단 공개키 기반의 키워드 검색 방법
CN105743888A (zh) * 2016-01-22 2016-07-06 河南理工大学 一种基于关键字搜索的代理重加密方案
CN108390760B (zh) * 2018-01-12 2020-10-23 电子科技大学 一种云数据传输中端到端的公钥关键字可搜索加密方法
CN108243000B (zh) * 2018-01-12 2021-07-09 哈尔滨工业大学深圳研究生院 云存储系统中的密文搜索方法
CN112800088B (zh) * 2021-01-19 2023-09-19 东北大学 基于双向安全索引的数据库密文检索系统及方法
CN112861153A (zh) * 2021-02-10 2021-05-28 华中科技大学 一种关键字可搜索延迟加密方法及系统

Also Published As

Publication number Publication date
CN113312643A (zh) 2021-08-27

Similar Documents

Publication Publication Date Title
WO2021208690A1 (zh) 数据加解密方法、装置、设备及存储介质
CN109559122B (zh) 区块链数据传输方法及区块链数据传输系统
US5812671A (en) Cryptographic communication system
CN110048849B (zh) 一种多层保护的会话密钥协商方法
KR100944769B1 (ko) 프라이버시를 보장하는 암호화와 복호화를 이용한 파일공유 방법 및 시스템
Wen et al. Secure data deduplication with reliable key management for dynamic updates in CPSS
US20030208677A1 (en) Methods for iteratively deriving security keys for communications sessions
CN109005027B (zh) 一种随机数据加解密法、装置及系统
KR20010090167A (ko) 패스워드를 기반으로 한 상호 인증 및 키 교환방법과 그장치
CN112104454A (zh) 一种数据安全传输方法及系统
CN110999202A (zh) 用于对数据进行高度安全、高速加密和传输的计算机实现的系统和方法
CN111049738B (zh) 基于混合加密的电子邮件数据安全保护方法
CN115632880A (zh) 一种基于国密算法的可靠数据传输及存储的方法及系统
Hooshmand et al. Efficient polar code-based physical layer encryption scheme
US20030037241A1 (en) Single algorithm cipher suite for messaging
CN112738037B (zh) 一种数据加密通信方法
CN113312643B (zh) 基于sm2和sm3算法的关键字匹配方法
CN111740941A (zh) 一种工业场景实时数据文件加密传输方法
CN116055136A (zh) 一种基于秘密共享的多目标认证方法
CN115550007A (zh) 一种基于异构系统的具有等值测试功能的签密方法及系统
KR102304831B1 (ko) 순열그룹 기반의 암호화 기술을 적용한 암호화시스템 및 방법
CN116782210B (zh) 一种高速加密算法的动态加密密钥生成方法
Sukhodolskiy et al. Analysis of Secure Protocols аnd Authentication Methods for Messaging
US12021852B2 (en) Methods of generating a key and a communication method
US20240031144A1 (en) Method for protecting payload data

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