CN111106936B - 一种基于sm9的属性加密方法与系统 - Google Patents

一种基于sm9的属性加密方法与系统 Download PDF

Info

Publication number
CN111106936B
CN111106936B CN201911177626.9A CN201911177626A CN111106936B CN 111106936 B CN111106936 B CN 111106936B CN 201911177626 A CN201911177626 A CN 201911177626A CN 111106936 B CN111106936 B CN 111106936B
Authority
CN
China
Prior art keywords
user
key
representing
private key
attribute
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
CN201911177626.9A
Other languages
English (en)
Other versions
CN111106936A (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.)
State Grid Corp of China SGCC
Wuhan University WHU
State Grid Zhejiang Electric Power Co Ltd
State Grid Shandong Electric Power Co Ltd
Beijing Kedong Electric Power Control System Co Ltd
NARI Group Corp
State Grid Ningxia Electric Power Co Ltd
State Grid Electric Power Research Institute
Original Assignee
State Grid Corp of China SGCC
Wuhan University WHU
State Grid Zhejiang Electric Power Co Ltd
State Grid Shandong Electric Power Co Ltd
Beijing Kedong Electric Power Control System Co Ltd
NARI Group Corp
State Grid Ningxia Electric Power Co Ltd
State Grid Electric Power Research Institute
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 State Grid Corp of China SGCC, Wuhan University WHU, State Grid Zhejiang Electric Power Co Ltd, State Grid Shandong Electric Power Co Ltd, Beijing Kedong Electric Power Control System Co Ltd, NARI Group Corp, State Grid Ningxia Electric Power Co Ltd, State Grid Electric Power Research Institute filed Critical State Grid Corp of China SGCC
Priority to CN201911177626.9A priority Critical patent/CN111106936B/zh
Publication of CN111106936A publication Critical patent/CN111106936A/zh
Application granted granted Critical
Publication of CN111106936B publication Critical patent/CN111106936B/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/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
    • 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
    • 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
    • H04L9/3073Public 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 involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing

Landscapes

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

Abstract

本发明公开了信息安全技术领域,具体涉及一种基于SM9的属性加密方法与系统,旨在解决现有技术中基于身份标识的加密算法存在用户信息管理开销大、维护困难、用户隐私易泄露的技术问题。密钥生成中心生成系统主私钥和系统主公钥;密钥生成中心KGC基于用户B的请求,结合用户B的属性集、用户B所在组的身份标识,生成用户私钥;用户A结合系统主公钥、用户B所在组的身份标识对消息进行加密;用户B通过用户私钥对密文解密得到解密结果。本发明基于属性加密机制将用户的私钥和密文用一组属性集关联起来,只有密钥属性与密文属性相匹配才能对密文执行解密操作,不会因为系统中成员的数量而影响加密开销,具有更灵活的访问控制结构。

Description

一种基于SM9的属性加密方法与系统
技术领域
本发明属于信息安全技术领域,具体涉及一种基于SM9的属性加密方法与系统。
背景技术
加密算法作为保护数据隐私的重要工具之一,得到了工业界和学术界的广泛关注。当前加密算法根据其所基于的密钥体制可分为:对称加密算法和公钥加密算法。其中,公钥加密算法因有效解决密钥分发与管理问题而被用于多用户场景应用中,如物联网、云计算等。
SM9椭圆曲线公钥密码算法是由国家密码管理局发布的标识密码算法(参见“GM/T0044-2016SM9标识密码算法”标准,国家密码管理局,2016年3月),算法包括数据加密、数字签名、密钥交换等算法和协议。其中,SM9公钥加密算法作为基于身份标识的加密算法,在避免传统公钥加密中证书管理流程的同时,兼具高效性、高安全性等特点,可被广泛用于邮件传输、数据传输等领域。SM9公钥加密算法包括系统初始化算法(SM9_Setup)、用户密钥生成算法(SM9_KeyGen)、密钥封装算法(SM9_KeyEnc)、密钥解封算法(SM9_KeyDec)、加密算法(SM9_Enc)和解密算法(SM9_Dec)。然而,基于身份标识的加密算法在云计算、大数据等多用户环境下存在用户信息维护成本高、用户信息易泄露、系统访问策略不灵活等缺陷。
发明内容
本发明的目的在于提供一种基于SM9的属性加密方法与系统,以解决现有技术中基于身份标识的加密算法存在用户信息管理开销大、维护困难、用户隐私易泄露的技术问题。
为达到上述目的,本发明所采用的技术方案是:一种基于SM9的属性加密方法,包括:a、获取基于SM9的属性加密方法所需的系统参数;b、由密钥生成中心KGC生成系统主私钥MSK,并结合系统参数生成系统主公钥MPK;c、密钥生成中心KGC基于用户B的请求,结合系统主私钥MSK、用户B的属性集AtB、用户B所在组的身份标识GID和系统参数,生成用户私钥USK并发送给用户B;d、用户A结合系统主公钥MPK、用户B所在组的身份标识GID和系统参数对消息M进行加密并将产生的密文CT发送给用户B;e、用户B通过用户私钥USK结合系统参数对密文CT解密得到解密结果M′。
所述系统参数包括:椭圆曲线参数、辅助函数和双线性对参数。
所述步骤b包括:
b1.密钥生成中心KGC随机产生s,t∈{1,2,…,n-1},并令MSK=s||t作为系统主私钥,其中,s为系统主私钥的组成部分之一,t为系统主私钥组成部分之二,n表示群G1、G2、GT的阶,G1表示加法循环群之一,G2表示加法循环群之二,GT表示乘法循环群,群G1,G2和群GT有相同的阶;
b2.密钥生成中心KGC根据所选主私钥的组成部分s,t,通过以下公式计算并公布系统主公钥MPK:
MPK={s·P1,t·P1}                       (1)
其中,令PK1=s·P1表示系统主公钥组成部分之一,令PK2=t·P1表示系统主公钥组成部分之二,P1表示群G1的生成元。
所述步骤c包括:
c1.用户B将自己所在群组的身份标识GID发送给密钥生成中心KGC,请求用户私钥;
c2.密钥生成中心KGC收到用户B的请求后,确认GID是否合法并验证用户B是否在GID对应的群组中;如果验证通过,密钥生成中心KGC为用户B选择随机数r2∈{1,2,3,…,n-1},并结合生成的系统主私钥MSK=s||t、用户B的属性集AtB、用户B所在组的身份标识GID和计算公式(2)作为用户B私钥的一部分:
Figure GDA0004123834700000031
其中,sk1表示用户B私钥的组成部分之一,h1表示由安全的密码杂凑函数派生的密码函数,P2表示群G2的生成元;
c3.对于属性集AtB中的每个属性j,KGC选择随机数mj∈{1,2,3,…,n-1}并代入公式(3)、(4)进行计算,计算结果作为用户B私钥的属性私钥:
Figure GDA0004123834700000032
Figure GDA0004123834700000033
其中,t-1表示t在模n下的逆,
Figure GDA0004123834700000034
表示用户B私钥的属性私钥之一,
Figure GDA0004123834700000035
表示用户B私钥的属性私钥之二,H1()表示安全的密码杂凑函数;
c4.密钥生成中心KGC生成用户B私钥
Figure GDA0004123834700000036
并通过安全信道发送给用户B;
c5.用户B接收并秘密保存密钥生成中心KGC发送的用户私钥USK。
所述步骤d包括:
d1.用户A查询用户B所在群组的身份标识GID,如果对应GID存在,则计算公式(5)作为加密中间值:
QB=h1(GID,n)·P1+PK1                 (5)
其中,QB表示加密中间值;
d2.用户A随机选择r1∈{1,2,3,…,n-1},计算公式(6)、(7)、(8):
C1=r1·QB                         (6)
g=e(PK1,P2)                    (7)
Figure GDA0004123834700000041
其中,C1表示密文的组成部分之一,g表示加密中间结果,e表示从G1×G2到GT的双线性对,ω表示密文的组成部分之四;
d3.将用户A选择的随机数r1作为根节点的秘密,构建访问控制树T;访问控制树T中的所有非叶节点x都有一个随机多项式qx,多项式的次数dx与该节点门限kx满足公式(9):
dx=kx-1                             (9)
从根节点开始,令qr(0)=r1,其中,qr(0)表示根节点r所对应的多项式在变量取0时的值,然后随机选取其他节点x,对应多项式变量取0时应满足公式(10):
qx(0)=qparent(x)(index(x))                (10)
其中,qx(0)表示非叶子节点x所对应的多项式在变量取0时的值;qparent(x)(index(x))表示节点parent(x)所对应的多项式在变量取index(x)时的值,parent(x)表示节点x的父节点,index(x)表示节点x所对应的索引值,x表示访问控制树T中的非叶子节点,T表示访问控制树;
d4.利用公式(11)和(12)计算对属性加密的密文部分Cy
Figure GDA0004123834700000042
Cy=qy(0)·PK2                          (11)
Figure GDA0004123834700000043
其中,Cy表示密文的组成部分之五,
Figure GDA0004123834700000051
表示密文的组成部分之六,qy(0)表示叶子节点y所对应的多项式在变量取0时的值,qy(0)·PK2表示两者在椭圆曲线上进行标量乘,PK2表示系统主公钥的组成部分之二;att(y)表示叶子节点y对应的属性值,y表示访问控制树T上的叶子节点;
d5.用户A计算:
K=KDF(C1||ω||GID,mlen+K2_len)        (13)
其中,K表示派生密钥,KDF()表示密钥派生函数,用于生成消息加密密钥和消息认证密钥,GID表示用户B所在群组的身份标识,mlen表示待加密消息M的比特长,M表示待加密消息,K2_len表示比特串K2的比特长,K2表示用于生成消息认证码的密钥;
令K1为派生密钥K的前mlen比特,K1表示加密密钥,K2为后面K2_len比特,如果K1为全0比特,跳至步骤d2,否则进入步骤d6;
d6.用户A通过等式(14)、(15)计算加密中间值C2和消息认证码C3,输出密文
Figure GDA0004123834700000052
Figure GDA0004123834700000053
C3=H1(K2||C2)                    (15)
其中,C2表示密文的组成部分之二、C3表示密文的组成部分之三,
Figure GDA0004123834700000054
表示长度相等的两个比特串按比特的模2加异或运算,其中,Y表示访问控制树T的所有叶子节点集合;
d7.用户A将输出的密文
Figure GDA0004123834700000055
发送给用户B。
所述步骤e包括:
e1.用户B接收到密文CT后,首先用等式(16)对叶子结点y∈Y进行解密,得到对叶子节点y的解密结果DecrypteNode(CT,USK,y):
Figure GDA0004123834700000061
其中,my为在用户私钥生成阶段,由KGC(密钥生成中心)生成的随机数;
e2.访问控制树的非叶子节点中的秘密值由拉格朗日插值定理求得,即当且仅当门限值为kx,多项式次数为dx=kx-1的非叶子节点X的子节点Y中,有kx个秘密值被用户B所知时,意味着用户B有满足此节点门限的kx个属性,用户B可以解出该非叶子节点X的秘密值,非叶子节点X的秘密值解法如下:
Figure GDA0004123834700000062
其中,Sx为非叶节点x的子节点的集合,kx为节点x的门限值,z为Sx集合中的一个点,Fz=DecrypteNode(CT,USK,z)表示z节点的解密值,Fx=DecrypteNode(CT,USK,x)表示x节点的解密值,
Figure GDA0004123834700000063
表示拉格朗日系数;
e3.当且仅当用户B的属性满足访问控制树T的门限要求时,用户B可以通过步骤e2解密到根节点,其结果有:
Figure GDA0004123834700000064
其中,R表示解密阶段中求得的中间结果之一;
此时随机数r1、r2均嵌入到双线性对的结果中,接着,计算
Figure GDA0004123834700000071
其中,ω*表示解密阶段中求得的中间结果之二;
e4.用户B计算K′=KDF(C1||ω*||GID,mlen+K2_len),其中,K′表示解密阶段中求得中间结果之三,取K′的前mlen比特K′1和后K2_len比特K′2,K′1表示解密阶段中求得的解密密钥,K′2表示解密阶段中求得的认证密钥。如果K′1为全0,则解密系统报错并退出,否则进入步骤e5;
e5.用户B计算
Figure GDA0004123834700000072
和C′3=H1(K′2||C2),其中,M′为解密结果,C′3表示解密过程中得到的消息认证码,将其与C3进行比较,如果C′3与C3不相等,则解密系统报错退出,否则输出解密结果M′。
一种基于SM9的属性加密系统,包括:系统初始化模块、系统密钥生成模块、用户密钥生成模块、消息加密模块和用户解密模块,所述系统初始化模块,用于产生整个加密系统所需的系统参数;所述系统密钥生成模块,用于生成系统主私钥和系统主公钥;所述用户密钥生成模块,用于基于系统主私钥和用户B的属性信息生成用户B的用户私钥;所述消息加密模块,用于用户A基于系统主公钥和用户B的属性信息对消息M进行加密,并将密文CT发送给用户B;所述用户解密模块,用于用户B基于用户私钥对密文CT解密得到解密结果M′。
一种基于SM9的属性加密系统,包括:存储器和处理器,所述存储器用于存储指令,所述处理器用于根据所述指令进行操作以执行上述任一项所述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任一项所述方法的步骤。
与现有技术相比,本发明所达到的有益效果:本发明基于属性加密机制将用户的私钥和密文用一组属性集(如年龄、籍贯)关联起来,只有密钥属性与密文属性相匹配才能对密文执行解密操作,基于属性的加密系统不仅不会因为系统中成员的数量而影响加密开销,还具有更灵活的访问控制结构,与传统加密机制相比,基于属性的加密机制具有灵活性、隐私性、动态性、高效性等特点,更适用于大数据、云服务等多用户场景下的多对多通信方式。
附图说明
图1是本发明实施例提供的一种基于SM9的属性加密方法的流程示意图;
图2是本发明实施例提供的一种基于SM9的属性加密方法的系统主密钥生成实例流程示意图;
图3是本发明实施例提供的一种基于SM9的属性加密方法的用户密钥生成实例交互示意图;
图4是本发明实施例提供的一种基于SM9的属性加密方法的数据加密实例流程示意图;
图5是本发明实施例提供的一种基于SM9的属性加密方法的数据解密实例流程示意图。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
如图1所示,一种基于SM9的属性加密方法,包括如下步骤:
步骤1、系统初始化,获取基于SM9的属性加密方法所需的系统参数;
步骤2、系统主密钥生成,由密钥生成中心KGC生成系统主私钥MSK,并结合系统参数生成系统主公钥MPK;
步骤3、用户私钥生成,密钥生成中心KGC基于用户B的请求,结合系统主私钥MSK、用户B的属性集AtB、用户B所在组的身份标识GID和系统参数,生成用户私钥USK并发送给用户B;
步骤4、消息加密,用户A结合系统主公钥MPK、用户B所在组的身份标识GID和系统参数对消息M进行加密并将产生的密文CT发送给用户B;
步骤5、密文解密,用户B通过用户私钥USK结合系统参数对密文CT解密得到解密结果M′。
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。
步骤1、初始化(Setup):该步骤主要用于产生整个加密系统所需参数。参数包括:椭圆曲线相关参数:(cid、q、Fq、a、b、n、k、cf、G1、G2、P1、P2);辅助函数:(H1、h1、KDF)等;双线性对相关参数:e、eid、GT。本发明是基于SM9加密算法的改进和优化,因此,与SM9使用相同的系统参数,
其中,cid为曲线识别符,q为大素数,Fq为椭圆曲线基域,a、b为椭圆曲线方程的参数,系Fq中的元素,n表示群G1、G2、GT的阶,G1表示加法循环群之一,G2表示加法循环群之二,GT表示乘法循环群,群G1,G2和群GT有相同的阶,cf为相对于n的余因子;k为椭圆曲线E(Fq)相对于n的嵌入次数,P1为加法循环群之一G1的生成元,P2为加法循环群之二G2的生成元;辅助函数H1()表示安全的密码杂凑函数,h1为由H1()生成的密码函数,KDF()表示密钥派生函数,用于派生出K1和K2,K1表示加密密钥,K2表示用于生成消息认证码的密钥;eid为双线性对e的标识符,GT为n阶乘法循环群。
上述密码函数h1(Z,N)算法如下:
步骤1.1)密码函数h1(Z,N):
输入:比特串Z,整数N;
输出:整数h∈[1,N-1]。
步骤1.1.1)初始化一个32比特构成的计数器ct=0x00000001;
步骤1.1.2)计算
Figure GDA0004123834700000101
其中,hlen表示输出整数h的比特长;
步骤1.1.3)对i从1到
Figure GDA0004123834700000102
执行:
计算Hai=H1(0x01||Z||ct);
ct++;
其中,v表示安全杂凑函数H1()的杂凑输出的比特长,H1()表示前文所提及的安全杂凑函数,i表示该步骤循环次数的计数器,hlen/v表示循环总次数,Hai表示计算中间结果,0x01表示Tate对,即双线性对;
步骤1.1.4)若hlen/v是整数,令
Figure GDA0004123834700000103
否则令
Figure GDA0004123834700000104
Figure GDA0004123834700000105
最左边的
Figure GDA0004123834700000106
比特;
其中,
Figure GDA0004123834700000107
为算法的中间结果,
Figure GDA0004123834700000108
为步骤1.1.3)最后一次循环得到的值,v表示安全杂凑函数H1()的杂凑输出的比特长,H1()表示前文所提及的安全杂凑函数;
步骤1.1.5)令
Figure GDA0004123834700000109
将Ha的数据类型转换为整数;
其中,
Figure GDA00041238347000001010
均为步骤1.1.3)计算得到的值,
Figure GDA00041238347000001011
为步骤1.1.4)计算得到的算法中间结果,
Figure GDA00041238347000001012
表示将这些值按比特链接;
步骤1.1.6)计算h=(Ha mod(N-1))+1。
其中,h表示该算法的输出,Ha表示步骤1.1.5)的计算结果,Ha mod(N-1)表示Ha对N-1进行取模运算。
上述密钥派生函数KDF()算法构造如下:
步骤1.2)密钥派生函数KDF(Z,klen):
输入:比特串Z(双方共享的数据),整数klen(表示要获得的密钥数据的比特长度)。
输出:长度为klen的密钥数据比特串K。
步骤1.2.1)初始化一个32比特构成的计数器ct=0x00000001;
步骤1.2.2)对i从1到
Figure GDA0004123834700000111
执行:
计算Hai=H1(Z||ct);
ct++;
其中,hlen/v表示循环总次数,Hai表示计算中间结果。
步骤1.2.3)若hlen/v是整数,令
Figure GDA0004123834700000112
否则令
Figure GDA0004123834700000113
Figure GDA0004123834700000114
最左边的
Figure GDA0004123834700000115
比特;
其中,
Figure GDA0004123834700000116
为算法的中间结果,
Figure GDA0004123834700000117
为步骤1.2.2)最后一次循环得到的值,v表示安全杂凑函数H1()的杂凑输出的比特长,H1()表示前文所提及的安全杂凑函数;
步骤1.2.4)令
Figure GDA0004123834700000118
Figure GDA0004123834700000119
均为步骤1.2.2)计算得到的值,
Figure GDA00041238347000001110
为步骤1.2.3)计算得到的算法中间结果,
Figure GDA00041238347000001111
表示将这些值按比特链接;
步骤2)系统主密钥生成:由密钥生成中心KGC生成系统主公钥MPK和系统主私钥MSK,其中系统主公钥MPK,由KGC公开;系统主私钥MSK,由KGC保密。
如图2所示,具体过程如下:
步骤2.1:KGC随机产生s,t∈{1,2,…,n-1},并令MSK=s||t作为系统主私钥。
步骤2.2:KGC根据所选主私钥的组成部分s,t,根据所选主私钥s,通过公式(1)计算并公布系统主公钥MPK,
MPK={s·P1,t·P1}                               (1)
其中,s为系统主私钥的组成部分之一,t为系统主私钥组成部分之二;令PK1=s·P1表示系统主公钥组成部分之一,令PK2=t·P1表示系统主公钥组成部分之二;
步骤3.用户私钥生成(UserKeyGen):如图3,该步骤主要用于产生用户B的加密私钥。在该步骤中,用户私钥里面基于属性集的属性私钥为本发明主要创新点之一。具体过程如下:
步骤3.1:用户B将自己所在群组的身份标识GID发送给KGC,请求用户私钥。
步骤3.2:KGC收到用户B的请求后,确认GID是否合法并验证用户B是否在GID对应的群组中。如果验证通过,KGC为用户B选择随机数r2∈{1,2,3,…,n-1},并结合生成的系统主私钥MSK=s||t、用户B的属性集AtB、用户B所在组的身份标识GID,计算公式(2)作为用户B私钥的一部分。
Figure GDA0004123834700000121
其中,sk1表示用户B私钥的组成部分之一,h1表示由安全的密码杂凑函数派生的密码函数,P2表示群G2的生成元,G2表示本专利中使用的加法循环群,n表示群G2的阶。
步骤3.3:对于属性集AtB中的每个属性j,KGC选择随机数mj∈{1,2,3,…,n-1}并代入公式(3)、(4)进行计算,计算结果作为用户B私钥的属性私钥。
Figure GDA0004123834700000131
Figure GDA0004123834700000132
其中,t-1表示t在模n下的逆,n表示群G1、G2、GT的阶,
Figure GDA0004123834700000133
表示用户B私钥的属性私钥之一,
Figure GDA0004123834700000134
表示用户B私钥的属性私钥之二,H1()表示安全的密码杂凑函数。
步骤3.4:KGC生成用户B私钥
Figure GDA0004123834700000135
并通过安全信道发送给用户B。
步骤3.5:用户B接收并秘密保存KGC发送的用户私钥USK。
步骤4.数据加密(Encrypt):如图4,该步骤主要用于用户A对消息M进行加密产生密文CT。该步骤与SM9加密算法中加密过程基本相同,但是在密文中加入了基于属性加密的密文部分。具体过程如下:
步骤4.1:加密用户A查询用户B所在群组的标识GID,如果对应GID存在,则计算公式(5)作为加密中间值。
QB=h1(GID,n)·P1+PK1                  (5)
其中,QB表示加密中间值;
步骤4.2:用户A随机选择r1∈{1,2,3,…,n-1},计算公式(6)、(7)、(8)得到加密中间结果C1、g、ω。
C1=r1·QB                                    (6)
g=e(PK1,P2)                                (7)
Figure GDA0004123834700000141
其中,C1表示密文的组成部分之一,g表示加密中间结果,e表示从G1×G2到GT的双线性对,ω表示密文的组成部分之四;
步骤4.3:系统将用户A选择的随机数r1作为根节点的秘密,构建访问控制树T。访问控制树T中的所有非叶节点x都有一个随机多项式qx,多项式的次数dx与该节点门限kx满足公式(9):
dx=kx-1                             (9)
从根节点开始,令qr(0)=r1,其中qr(0)表示根节点r所对应的多项式在变量取0时的值,然后随机选取其他节点x,对应多项式变量取0时应满足公式(10)。
qx(0)=qparent(x)(index(x))                (10)
其中,qx(0)表示非叶子节点x所对应的多项式在变量取0时的值;qparent(x)(index(x))表示节点parent(x)所对应的多项式在变量取index(x)时的值,parent(x)表示节点x的父节点,index(x)表示节点x所对应的索引值,x表示访问控制树T中的非叶子节点,T表示访问控制树;
步骤4.4:利用公式(11)和(12)计算对属性加密的密文部分Cy
Figure GDA0004123834700000142
Cy=qy(0)·PK2                         (11)
Figure GDA0004123834700000143
其中,Cy表示密文的组成部分之五,
Figure GDA0004123834700000144
表示密文的组成部分之六,qy(0)表示叶子节点y所对应的多项式在变量取0时的值,P1表示群G1的生成元,G1表示本专利中使用的加法循环群,qy(0)·PK2表示两者在椭圆曲线上进行标量乘,PK2表示系统主公钥的组成部分之二;att(y)表示叶子节点y对应的属性值,H1()表示安全的密码杂凑函数,y表示访问控制树T上的叶子节点,T表示访问控制树;
步骤4.5:用户A计算
K=KDF(C1||ω||GID,mlen+K2_len)            (13)
其中,K表示派生密钥,KDF()表示密钥派生函数,用于生成消息加密密钥和消息认证密钥,C1和ω均为密文的一部分,GID表示用户B所在群组的身份标识,mlen表示消息M的比特长,M表示待加密消息,K2_len表示比特串K2的比特长,K2表示用于生成消息认证码的密钥;
令K1为派生密钥K的前mlen比特,K2为后面K2_len比特,如果K1为全0比特,跳至步骤4.2,否则进入步骤4.6。
步骤4.6:用户A通过等式(14)、(15)计算加密中间值C2和消息认证码C3,输出密文
Figure GDA0004123834700000151
Figure GDA0004123834700000152
C3=H1(K2||C2)                           (15)
其中,C2表示密文的组成部分之二、C3表示密文的组成部分之三,
Figure GDA0004123834700000153
表示长度相等的两个比特串按比特的模2加异或运算,其中,Y表示访问控制树T的所有叶子节点集合;
步骤4.7:用户A将输出的密文
Figure GDA0004123834700000154
发送给用户B。
步骤5.数据解密(Decrypt):如图5,该步骤主要用于用户B解密用户A发送来的密文信息CT,生成解密结果M′。具体解密过程如下:
步骤5.1:用户B接收到密文CT后,首先用等式(16)对叶子结点y∈Y进行解密,得到对叶子节点y的解密结果DecrypteNode(CT,USK,y)。
Figure GDA0004123834700000161
其中,my为在用户私钥生成阶段,由KGC(密钥生成中心)生成的随机数;
步骤5.2:访问控制树的非叶子节点中的秘密值由拉格朗日插值定理求得,即当且仅当非叶子节点X(门限值为kx,多项式次数为dx=kx-1)的子节点Y中,有kx个秘密值被用户B所知时,意味着用户B有满足此节点门限的kx个属性,用户B可以解出该非叶子节点X的秘密值。非叶子节点X的秘密值解法如下:
Figure GDA0004123834700000162
其中,Sx为非叶节点x的子节点的集合,kx为节点x的门限值,z为Sx集合中的一个点,Fz=DecrypteNode(CT,USK,z)表示z节点的解密值(参见步骤5.1),Fx=DecrypteNode(CT,USK,x)表示x节点的解密值。
Figure GDA0004123834700000163
Figure GDA0004123834700000164
表示拉格朗日系数。
步骤5.3:当且仅当用户B的属性满足访问控制树T的门限要求时,用户B可以通过步骤5.2)解密到根节点,其结果有:
Figure GDA0004123834700000171
其中,R表示解密阶段中求得的中间结果之一;
此时随机数r1、r2均嵌入到双线性对的结果中,接着,计算
Figure GDA0004123834700000172
其中,ω*表示解密阶段中求得的中间结果之二;
可以证明ω*与ω相等,证明过程见(20):
Figure GDA0004123834700000173
步骤5.4:用户B计算K′=KDF(C1||ω*||GID,mlen+K2_len),其中,K′表示解密阶段中求得中间结果之三,取K′的前mlen比特K′1和后K2_len比特K′2,K′1表示解密阶段中求得的解密密钥,K′2表示解密阶段中求得的认证密钥。如果K′1为全0,则解密系统报错并退出,否则进入步骤5.5。
步骤5.5:用户B计算
Figure GDA0004123834700000174
和C′3=H1(K′2||C2),M′为解密结果,C′3表示解密过程中得到的消息认证码,将其与C3进行比较,如果C′3与C3不相等,则解密系统报错退出,否则输出解密结果M′。
本发明基于属性加密机制将用户的私钥和密文用一组属性集(如年龄、籍贯)关联起来,只有密钥属性与密文属性相匹配才能对密文执行解密操作,基于属性的加密系统不仅不会因为系统中成员的数量而影响加密开销,还具有更灵活的访问控制结构,与传统加密机制相比,基于属性的加密机制具有灵活性、隐私性、动态性、高效性等特点,更适用于大数据、云服务等多用户场景下的多对多通信方式。
根据上述方法,本发明还提供一种基于SM9的属性加密系统,包括:
系统初始化模块,用于产生整个加密系统所需的系统参数,参数包括:椭圆曲线相关参数;辅助函数;双线性对相关参数等。
系统密钥生成模块,用于有密钥生成中心KGC生成系统主公私钥(MPK,MSK),其中,MPK为系统主公钥,MSK为系统主私钥。
用户密钥生成模块,用于产生用户B的用户私钥,密钥生成中心KGC基于用户B的请求,结合系统主私钥MSK、用户B的属性集AtB、用户B所在组的身份标识GID和系统参数,生成用户私钥USK并发送给用户B。
消息加密模块,用于用户A产生消息M的加密密文CT,用户A结合系统主公钥MPK、用户B所在组的身份标识GID和系统参数对消息M进行加密并将产生的密文CT发送给用户B。
用户解密模块,用于由密文接收者用户B对密文CT进行解密得到解密后的消息M′,用户B通过用户私钥USK结合系统参数对密文CT解密得到解密结果M′。
根据上述方法,本发明还提供一种基于SM9的属性加密系统,包括:存储器和处理器,存储器用于存储指令,处理器用于根据所述指令进行操作以执行前述方法的步骤。
根据上述方法,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述方法的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (6)

1.一种基于SM9的属性加密方法,其特征是,包括:
a、获取基于SM9的属性加密方法所需的系统参数;
b、由密钥生成中心KGC生成系统主私钥MSK,并结合系统参数生成系统主公钥MPK;
c、密钥生成中心KGC基于用户B的请求,结合系统主私钥MSK、用户B的属性集AtB、用户B所在组的身份标识GID和系统参数,生成用户私钥USK并发送给用户B;
d、用户A结合系统主公钥MPK、用户B所在组的身份标识GID和系统参数对消息M进行加密并将产生的密文CT发送给用户B;
e、用户B通过用户私钥USK结合系统参数对密文CT解密得到解密结果M′;
所述步骤b包括:
b1.密钥生成中心KGC随机产生s,t∈{1,2,…,n-1},并令MSK=s||t作为系统主私钥,其中,s为系统主私钥的组成部分之一,t为系统主私钥组成部分之二;n表示群G1、G2、GT的阶,G1表示加法循环群之一,G2表示加法循环群之二,GT表示乘法循环群,群G1,G2和群GT有相同的阶;
b2.密钥生成中心KGC根据所选主私钥的组成部分s,t,通过以下公式计算并公布系统主公钥MPK:
MPK={s·P1,t·P1}                       (1)
其中,令PK1=s·P1表示系统主公钥组成部分之一,令PK2=t·P1表示系统主公钥组成部分之二,P1表示群G1的生成元;
所述步骤c包括:
c1.用户B将自己所在群组的身份标识GID发送给密钥生成中心KGC,请求用户私钥;
c2.密钥生成中心KGC收到用户B的请求后,确认GID是否合法并验证用户B是否在GID对应的群组中;如果验证通过,密钥生成中心KGC为用户B选择随机数r2∈{1,2,3,…,n-1},并结合生成的系统主私钥MSK=s||t、用户B的属性集AtB、用户B所在组的身份标识GID和计算公式(2)作为用户B私钥的一部分:
Figure FDA0004126492540000021
其中,sk1表示用户B私钥的组成部分之一,h1表示由安全的密码杂凑函数派生的密码函数,P2表示群G2的生成元;
c3.对于属性集AtB中的每个属性j,KGC选择随机数mj∈{1,2,3,…,n-1}并代入公式(3)、(4)进行计算,计算结果作为用户B私钥的属性私钥:
Figure FDA0004126492540000022
Figure FDA0004126492540000023
其中,t-1表示t在模n下的逆,
Figure FDA0004126492540000024
表示用户B私钥的属性私钥之一,
Figure FDA0004126492540000025
表示用户B私钥的属性私钥之二,H1()表示安全的密码杂凑函数;
c4.密钥生成中心KGC生成用户B私钥
Figure FDA0004126492540000026
并通过安全信道发送给用户B;
c5.用户B接收并秘密保存密钥生成中心KGC发送的用户私钥USK;
所述步骤d包括:
d1.用户A查询用户B所在群组的身份标识GID,如果对应GID存在,则计算公式(5)作为加密中间值:
QB=h1(GID,n)·P1+PK1                 (5)
其中,QB表示加密中间值;
d2.用户A随机选择r1∈{1,2,3,…,n-1},计算公式(6)、(7)、(8):
C1=r1·QB                         (6)
g=e(PK1,P2)                      (7)
Figure FDA0004126492540000031
其中,C1表示密文的组成部分之一,g表示加密中间结果,e表示从G1×G2到GT的双线性对,ω表示密文的组成部分之四;
d3.将用户A选择的随机数r1作为根节点的秘密,构建访问控制树T;访问控制树T中的所有非叶节点x都有一个随机多项式qx,多项式的次数dx与该节点门限kx满足公式(9):
dx=kx-1                             (9)
从根节点开始,令qr(0)=r1,其中,qr(0)表示根节点r所对应的多项式在变量取0时的值,然后随机选取其他节点x,对应多项式变量取0时应满足公式(10):
qx(0)=qparent(x)(index(x))                (10)
其中,qx(0)表示非叶子节点x所对应的多项式在变量取0时的值;qparent(x)(index(x))表示节点parent(x)所对应的多项式在变量取index(x)时的值,parent(x)表示节点x的父节点,index(x)表示节点x所对应的索引值,x表示访问控制树T中的非叶子节点,T表示访问控制树;
d4.利用公式(11)和(12)计算对属性加密的密文部分Cy
Figure FDA0004126492540000032
Cy=qy(0)·PK2                          (11)
Figure FDA0004126492540000041
其中,Cy表示密文的组成部分之五,
Figure FDA0004126492540000042
表示密文的组成部分之六,qy(0)表示叶子节点y所对应的多项式在变量取0时的值,qy(0)·PK2表示两者在椭圆曲线上进行标量乘,PK2表示系统主公钥的组成部分之二;att(y)表示叶子节点y对应的属性值,y表示访问控制树T上的叶子节点;
d5.用户A计算:
K=KDF(C1||ω||GID,mlen+K2_len)        (13)
其中,K表示派生密钥,KDF()表示密钥派生函数,用于生成消息加密密钥和消息认证密钥,GID表示用户B所在群组的身份标识,mlen表示待加密消息M的比特长,M表示待加密消息,K2_len表示比特串K2的比特长,K2表示用于生成消息认证码的密钥;
令K1为派生密钥K的前mlen比特,K1表示加密密钥,K2为后面K2_len比特,如果K1为全0比特,跳至步骤d2,否则进入步骤d6;
d6.用户A通过等式(14)、(15)计算加密中间值C2和消息认证码C3,输出密文
Figure FDA0004126492540000043
Figure FDA0004126492540000044
C3=H1(K2||C2)                    (15)
其中,C2表示密文的组成部分之二、C3表示密文的组成部分之三,
Figure FDA0004126492540000045
表示长度相等的两个比特串按比特的模2加异或运算,其中,Y表示访问控制树T的所有叶子节点集合;
d7.用户A将输出的密文
Figure FDA0004126492540000046
发送给用户B。
2.根据权利要求1所述的基于SM9的属性加密方法,其特征是,所述系统参数包括:椭圆曲线参数、辅助函数和双线性对参数。
3.根据权利要求1所述的基于SM9的属性加密方法,其特征是,所述步骤e包括:
e1.用户B接收到密文CT后,首先用等式(16)对叶子结点y∈Y进行解密,得到对叶子节点y的解密结果DecrypteNode(CT,USK,y):
Figure FDA0004126492540000051
其中,my为在用户私钥生成阶段,由密钥生成中心KGC生成的随机数;
e2.访问控制树的非叶子节点中的秘密值由拉格朗日插值定理求得,即当且仅当门限值为kx,多项式次数为dx=kx-1的非叶子节点X的子节点Y中,有kx个秘密值被用户B所知时,意味着用户B有满足此节点门限的kx个属性,用户B可以解出该非叶子节点X的秘密值,非叶子节点X的秘密值解法如下:
Figure FDA0004126492540000052
其中,Sx为非叶节点x的子节点的集合,kx为节点x的门限值,z为Sx集合中的一个点,Fz=DecrypteNode(CT,USK,z)表示z节点的解密值,Fx=DecrypteNode(CT,USK,x)表示x节点的解密值,
Figure FDA0004126492540000053
表示拉格朗日系数;
e3.当且仅当用户B的属性满足访问控制树T的门限要求时,用户B可以通过步骤e2解密到根节点,其结果有:
Figure FDA0004126492540000061
其中,R表示解密阶段中求得的中间结果之一;
此时随机数r1、r2均嵌入到双线性对的结果中,接着,计算
Figure FDA0004126492540000062
其中,ω*表示解密阶段中求得的中间结果之二;
e4.用户B计算K′=KDF(C1||ω*||GID,mlen+K2_len),其中,K′表示解密阶段中求得中间结果之三,取K′的前mlen比特K′1和后K2_len比特K′2,K′1表示解密阶段中求得的解密密钥,K′2表示解密阶段中求得的认证密钥;如果K′1为全0,则解密系统报错并退出,否则进入步骤e5;
e5.用户B计算
Figure FDA0004126492540000063
和C′3=H1(K′2||C2),其中,M′为解密结果,C′3表示解密过程中得到的消息认证码,将其与C3进行比较,如果C′3与C3不相等,则解密系统报错退出,否则输出解密结果M′。
4.一种基于权利要求1~3任一项所述的基于SM9的属性加密方法的属性加密系统,其特征是,包括:系统初始化模块、系统密钥生成模块、用户密钥生成模块、消息加密模块和用户解密模块,
所述系统初始化模块,用于产生整个加密系统所需的系统参数;
所述系统密钥生成模块,用于生成系统主私钥和系统主公钥;
所述用户密钥生成模块,用于基于系统主私钥和用户B的属性信息生成用户B的用户私钥;
所述消息加密模块,用于用户A基于系统主公钥和用户B的属性信息对消息M进行加密,并将密文CT发送给用户B;
所述用户解密模块,用于用户B基于用户私钥对密文CT解密得到解密结果M′。
5.一种基于SM9的属性加密系统,其特征是,包括:存储器和处理器,所述存储器用于存储指令,所述处理器用于根据所述指令进行操作以执行权利要求1~3任一项所述方法的步骤。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征是,该程序被处理器执行时实现权利要求1~3任一项所述方法的步骤。
CN201911177626.9A 2019-11-27 2019-11-27 一种基于sm9的属性加密方法与系统 Active CN111106936B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911177626.9A CN111106936B (zh) 2019-11-27 2019-11-27 一种基于sm9的属性加密方法与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911177626.9A CN111106936B (zh) 2019-11-27 2019-11-27 一种基于sm9的属性加密方法与系统

Publications (2)

Publication Number Publication Date
CN111106936A CN111106936A (zh) 2020-05-05
CN111106936B true CN111106936B (zh) 2023-04-21

Family

ID=70421797

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911177626.9A Active CN111106936B (zh) 2019-11-27 2019-11-27 一种基于sm9的属性加密方法与系统

Country Status (1)

Country Link
CN (1) CN111106936B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111740988B (zh) * 2020-06-19 2021-09-10 武汉大学 云存储数据加密方法、系统和存储介质
CN111740986B (zh) * 2020-06-19 2022-07-19 公安部第三研究所 基于标识密码技术的实现数据共享控制的系统及其方法
CN111930881B (zh) * 2020-10-10 2021-01-26 南京理工大学 基于国密算法的连接关键词认证可搜索加密方法
CN112769552B (zh) * 2020-12-30 2022-08-23 北京宏思电子技术有限责任公司 一种在嵌入式系统中加快线性对运算的实现方法及装置
CN112787822B (zh) * 2021-01-05 2022-04-12 贵州大学 一种大属性集下的基于sm9的属性加密方法及系统
CN112699394B (zh) * 2021-01-13 2022-11-25 北卡科技有限公司 一种基于sm9算法的密钥应用方法
CN112597523B (zh) * 2021-03-02 2021-06-18 冷杉云(北京)科技股份有限公司 文件处理方法、文件转换加密机、终端、服务器及介质
CN113098683B (zh) * 2021-03-17 2022-05-03 武汉理工大学 一种基于属性的数据加密方法和系统
CN112906038B (zh) * 2021-03-26 2023-04-07 成都卫士通信息产业股份有限公司 基于sm9密钥的门限化处理方法、装置、设备及存储介质
CN112926074B (zh) * 2021-03-26 2022-08-23 成都卫士通信息产业股份有限公司 一种sm9密钥门限化生成方法、装置、设备及存储介质
CN112910647B (zh) * 2021-04-13 2022-07-29 三未信安科技股份有限公司 一种基于sm9的分布式协同解密方法及系统
CN113162751B (zh) * 2021-04-25 2023-06-20 重庆都会信息科技有限公司 具备加同态性的加密方法、系统及可读存储介质
CN113407992B (zh) * 2021-06-10 2024-05-28 交通银行股份有限公司 一种基于可信第三方的隐私数据两方安全相等测试方法
CN113407991B (zh) * 2021-06-10 2024-05-28 交通银行股份有限公司 一种基于可信第三方的隐私数据两方安全比较方法
CN113382002B (zh) * 2021-06-10 2022-11-22 杭州安恒信息技术股份有限公司 数据请求方法、请求应答方法、数据通信系统及存储介质
CN113612615B (zh) * 2021-07-23 2024-01-12 北京政务科技有限公司 一种基于国密sm9算法的可审计隐私保护认证方法
CN113742680B (zh) * 2021-11-02 2022-02-11 北京理工大学 基于商用密码的可追责的数据加密传输方法及系统
CN116405293B (zh) * 2023-04-07 2023-09-01 光谷技术有限公司 安全运维系统的数据加密存储方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016197769A1 (zh) * 2015-06-12 2016-12-15 深圳大学 一种基于表格属性的云存储密文访问控制系统
CN108418686A (zh) * 2017-11-23 2018-08-17 矩阵元技术(深圳)有限公司 一种多分布式的sm9解密方法与介质及密钥生成方法
CN108599950A (zh) * 2018-04-09 2018-09-28 北京无字天书科技有限公司 一种适用于sm9标识密码的用户密钥申请下载安全协议的实现方法
CN109922077A (zh) * 2019-03-27 2019-06-21 北京思源互联科技有限公司 一种基于区块链的身份认证方法及其系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016197769A1 (zh) * 2015-06-12 2016-12-15 深圳大学 一种基于表格属性的云存储密文访问控制系统
CN108418686A (zh) * 2017-11-23 2018-08-17 矩阵元技术(深圳)有限公司 一种多分布式的sm9解密方法与介质及密钥生成方法
CN108599950A (zh) * 2018-04-09 2018-09-28 北京无字天书科技有限公司 一种适用于sm9标识密码的用户密钥申请下载安全协议的实现方法
CN109922077A (zh) * 2019-03-27 2019-06-21 北京思源互联科技有限公司 一种基于区块链的身份认证方法及其系统

Also Published As

Publication number Publication date
CN111106936A (zh) 2020-05-05

Similar Documents

Publication Publication Date Title
CN111106936B (zh) 一种基于sm9的属性加密方法与系统
CN108173639B (zh) 一种基于sm9签名算法的两方合作签名方法
CN108989053B (zh) 一种基于椭圆曲线的无证书公钥密码体制实现方法
CN108418686B (zh) 一种多分布式的sm9解密方法与介质及密钥生成方法与介质
CN110830236B (zh) 基于全域哈希的身份基加密方法
CN113259329B (zh) 一种数据不经意传输方法、装置、电子设备及存储介质
CN107395368B (zh) 无介质环境中的数字签名方法及解封装方法与解密方法
CN110147681B (zh) 一种支持灵活访问控制的隐私保护大数据处理方法及系统
CN110120939B (zh) 一种基于异构系统的可否认认证的加密方法和系统
CN112564907B (zh) 密钥生成方法及装置、加密方法及装置、解密方法及装置
JP2014220661A (ja) 証明装置、出力装置、検証装置、入力装置、証明方法、検証方法およびプログラム
CN111740988B (zh) 云存储数据加密方法、系统和存储介质
CN111030801A (zh) 一种多方分布式的sm9密钥生成、密文解密方法与介质
CN110855425A (zh) 一种轻量级多方协同sm9密钥生成、密文解密方法与介质
JP3955567B2 (ja) 有限非可換群を用いた公開鍵暗号システム
CN108933659B (zh) 一种智能电网的身份验证系统及验证方法
CN110798313B (zh) 基于秘密动态共享的包含秘密的数的协同生成方法及系统
CN108964906B (zh) 协同ecc的数字签名方法
JP5679344B2 (ja) 署名鍵難読化システム、署名鍵難読化方法、難読化された署名鍵を用いた暗号化署名システム、難読化された署名鍵を用いた暗号化署名方法とプログラム
Liao et al. Cryptanalysis of an identity-based encryption scheme with equality test and improvement
Doshi An enhanced approach for CP-ABE with proxy re-encryption in IoT paradigm
CN115694827A (zh) 一种基于sm2的证书加密方法及系统
JP2004246350A (ja) 暗号化装置および復号化装置、並びにこれらを備えた暗号システム、暗号化方法および復号化方法
CN114070549A (zh) 一种密钥生成方法、装置、设备和存储介质
Ariffin et al. AA β public key cryptosystem-A comparative analysis against RSA and ECC

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