-
摘要:
心电图(electrocardiogram, ECG)异常的自动检测是一个典型的多标签分类问题,训练分类器需要大量有高质量标签的样本. 但心电数据集异常标签经常缺失或错误,如何清洗弱标签得到干净的心电数据集是一个亟待解决的问题. 在一个标签完整且准确的示例数据集辅助下,提出一种基于异常特征模式 (abnormality-feature pattern, AFP) 的方法对弱标签心电数据进行标签清洗,以获取所有正确的异常标签. 清洗分2个阶段,即基于聚类的规则构造和基于迭代的标签清洗. 在第1阶段,通过狄利克雷过程混合模型(Dirichlet process mixture model, DPMM)聚类,识别每个异常标签对应的不同特征模式,进而构建异常发现规则、排除规则和1组二分类器. 在第2阶段,根据发现和排除规则辨识初始相关标签集,然后根据二分类器迭代扩展相关标签并排除不相关标签. AFP方法捕捉了示例数据集和弱标签数据集的共享特征模式,既应用了人的知识,又充分利用了正确标记的标签;同时,渐进地去除错误标签和填补缺失标签,保证了标签清洗的可靠性. 真实和模拟数据集上的实验证明了AFP方法的有效性.
Abstract:Automatic detection of electrocardiogram (ECG) abnormality is a typical multi-label classification problem, which heavily relies on sufficient samples with high-quality abnormality labels for model training. Unfortunately, we often face ECG datasets with partial and incorrect labels, so how to clean weakly-labelled datasets to obtain the clean datasets with all the correct abnormality labels is becoming a pressing concern. Under the assumption that we can have a small-sized example dataset with full and correct labels, we propose an abnormality-feature pattern (AFP) based method to automatically clean the weakly-labelled datasets, thus obtaining all the correct abnormality labels. The cleaning process proceeds with two stages, clustering-based rule construction and iteration-based label cleaning. During the first stage, we construct a set of label inclusion and exclusion rules and a set of binary discriminators by exploiting the different abnormality-feature patterns which are identified through Dirichlet process mixture model (DPMM) clustering. During the second stage, we first identify the relevant abnormalities according to the label inclusion and exclusion rules, and then refine the relevant abnormalities with iterations. AFP method takes advantage of the abnormality-feature patterns shared by the example dataset and weakly-labelled dataset, which is based on both the human intelligence and the correct label information from the weakly-labelled dataset. Further, the method stepwise removes the incorrect labels and fills in the missing ones with an iteration, thus ensuring a reliable cleaning process. The experiments on real and synthetic datasets prove the effectiveness of our method.
-
区块链[1]是一种去中心化的分布式账本技术,具有不可篡改、去中心化和公开透明等特点. 随着区块链技术的应用与发展,数字身份和交易数据的重要性日益增加,同时也带来了更多隐私泄露的风险. 环签名概念最初由Rivest等人[2]提出,它允许一个实体代表一个潜在的签名者群体(称为环)签署消息,同时在环中保持匿名性. 与群签名相比,环签名被认为是简化的群签名[3]. 环签名不需要群管理员和其他环成员的合作或批准,可以实现自组织的匿名认证. 环签名在区块链隐私保护、匿名凭证、车辆自组织网络等方面都有许多应用. 门罗币[4]使用了可链接环签名[5]技术实现了交易方身份隐私保护. Bünz等人[6]结合了环签名技术,提出了一种基于账户模型的区块链隐私保护方案Zether.
然而,文献[2-6]的方案基于公钥基础设施体系(public key infrastructure, PKI),用户公钥需要由可信证书颁发机构(certificate authority, CA)签署的证书进行认证. 在该体系中,证书的管理包括证书的吊销、存储、分发和验证,代价是较高的. 为解决该问题,Adi[7]在1984年提出了基于身份的公钥密码学(identity-based public key cryptography, ID-PKC). ID-PKC允许用户公钥是任何能够唯一标识用户的字符串(例如电子邮件地址),从而消除了证书的需要. 同时,引入了一个完全可信的密钥生成中心,根据用户的身份标识生成并发放用户私钥. 已有科研人员提出了基于身份的数字签名方案[8-10].
SM9数字签名算法[11]是由中国国家密码管理局于2016年发布,并于2018年纳入国际标准的基于身份的密码算法. SM9数字签名算法采用了非对称双线性对技术,具有可证明的安全性和高效性[12],适用于各种需要身份认证和通信安全的场景,例如区块链、电子现金、电子投票等. 随着区块链系统国产化的应用需求不断增加,现有的国密算法已不能满足日益复杂的区块链应用需求. 已有科研人员提出了基于SM9标识密码算法的功能型密码算法[13-15]. 彭聪等人[16]提出了一种基于SM9标识密码算法的环签名方案. 然而,现有方案的计算开销和通信开销均随着环成员数量的增加而增加.
本文的主要贡献有3个方面:
1) 提出了一种基于SM9数字签名的常数级大小环签名方案,并基于该环签名算法设计了一种区块链隐私保护方案;
2) 在随机谕言机模型下证明了本文方案满足不可伪造性和匿名性;
3) 分析了本文方案的计算开销和通信开销,并与现有的方案做对比,实验分析结果表明本文方案实现了环签名大小不随环用户数量变化的需求,因而具有更高的实用性.
1. 国内外相关工作
Rivest等人[2]提出的环签名方案是基于RSA加密算法的. Abe等人[17]提出了基于离散对数问题的环签名方案. Wong等人[18]利用Reed-Solomon码的擦除校正技术和多项式插值之间的等价性提出了一种环签名方案. 为了抵抗量子计算机的攻击,Wang等人[19]提出了一种基于多变量的环签名方案,随后他们又利用基于格的无陷门签名方案[20]提出了一种基于格的环签名方案[21]. 为了减少签名大小,Dodis等人[22]利用基于单向域的累加器提出了首个常数级大小的环签名方案,且该方案所有身份验证的时间都与环成员数量无关.
Zhang等人[23]提出了基于双线性对的基于身份的环签名方案. Herranz等人[24]提出了一种基于身份的环签名方案,并将他们的方案扩展到匿名子集场景. Awasthi等人[25]提出了一种基于身份的环签名方案和代理环签名方案. Nguyen[26]提出了一个基于双线性对的动态累加器方案,并基于此构建了一个具有常数级签名大小的基于身份环签名方案. Chow等人[27]提出了高效的基于身份的环签名方案,对于任意环成员数量仅需要2个双线性对计算,并在随机谕言机模型下证明对自适应选择的消息和身份攻击具有存在性不可伪造. 包嘉斌[28]提出了基于SM9标识密码算法的环签密方案. 邓浩明等人[29]提出了基于SM9标识密码算法的门限环签名方案.
2. 预备知识
本节给出了符号约定、双线性对、数学困难问题、SM9数字签名算法、知识签名和动态累加器的概念.
2.1 符号约定
本文使用λ表示安全参数,ϵ(⋅)表示可忽略函数,PPT表示概率多项式时间,p和N为大素数,Z∗N={1,2,…,N},Fp是阶为p的有限域,E(Fp)表示以Fp为基域的椭圆曲线,k⋅P表示椭圆曲线上点P的k倍点,KGC表示密钥生成中心,ID表示用户身份标识.
2.2 双线性对
令G1是由P1作为生成元的N阶加法循环群,G2是由P2作为生成元的N阶加法循环群,GT是阶为N的乘法循环群,双线性对是满足下列性质的一个映射e:G1×G2→GT.
1) 双线性. 对于任意的U∈G1,V∈G2和a,b∈Z∗N,都有e(a⋅U,b⋅V)=e(U,V)a⋅b.
2) 非退化性. 存在a,b∈Z∗N,使得e(U,V)≠1.
3) 可计算性. 对于所有U∈G1,V∈G2,存在多项式时间算法有效计算e(U,V).
2.3 数学困难问题
定义1. q-SDH问题(q-strong Diffie-Hellman problem, q-SDH). 对于U∈G1,V∈G2,未知的a∈Z∗N,给定U,V,a⋅V,a2⋅V,…,aq⋅V,PPT敌手输出(c,(a+c)−1),其中c∈Z∗N.
定义2. 离散对数问题(discrete logarithm problem, DLP). 对于U∈G1,未知的a∈Z∗N,给定W=a⋅U,PPT敌手输出a.
2.4 SM9数字签名算法
SM9数字签名算法包括4个算法,分别是系统初始化算法、密钥提取算法、签名算法和签名验证算法.
1) 系统初始化算法. 输入安全参数λ,选取特定曲线生成参数t,构建椭圆曲线基域Fp,构建E(Fp)上的双线性对e:G1×G2→GT,选择哈希函数H1(⋅),H2(⋅):{0,1}∗→Z∗N. KGC随机选取d∈Z∗N作为签名主密钥msk,并计算主公钥Ppub=d⋅P2. 最后,输出系统参数Params={e,G1,G2,GT,P1,P2,Ppub,H1,H2}作为以下算法的默认输入.
2) 密钥提取算法. 给定用户A的身份标识IDA,为产生用户A的签名私钥dAID,KGC计算dAID=d⋅(H1(IDA)+d)−1⋅P1,输出用户A的私钥dAID.
3) 签名算法. 给定用户A的私钥dAID,消息m和主公钥Ppub,随机选取r∈Z∗N,计算σ1=H2(m∥e(P1,Ppub)r),σ2=(r−σ1)dAID,输出签名值σ=(σ1,σ2).
4) 签名验证算法. 给定主公钥Ppub,用户A的身份标识IDA,消息m和签名值σ,验证者计算P=H1(IDA)⋅P2+Ppub,验证σ1=H2(m∥e(σ2,P)⋅e(P1,Ppub)σ1)是否成立,若成立,则σ为合法签名,否则签名无效.
2.5 知识签名
知识签名(signatures of knowledge, SoK)是一种证明系统,证明者可以证明知道某个论断而不泄露对应的证据,它可以用于构造数字签名方案来提供认证性、完整性和不可否认性. 例如,SoK{(x)|X=x⋅P1}(m)表示证明者拥有知识x满足关系X=x⋅P1,且不泄露x的真实值,并对消息m进行签名. 知识签名需要满足正确性、可靠性、零知识性和存在性不可伪造,它包含3个算法:
1) 密钥生成. 输入安全参数λ,输出系统公开参数Params.
2) 证明. 输入系统公开参数Params,消息m和关系(x,X)∈R,输出知识签名π.
3) 验证. 给定消息m和知识签名π,输出accept,表明证明有效;反之,则证明无效.
2.6 动态累加器
动态累加器可以让用户证明一个元素属于一个集合,而不用透露集合中的单个成员. 它可以用于匿名凭证、群签名和环签名等应用场景,可以实时地对集合状态进行更新,同时存储和计算规模不会随着元素数量的增加而受到影响. 本文结合了Nguyen[26]提出的动态累加器方案,包含以下4个算法:
1) 累加器初始化算法. 按照2.2节定义双线性对e:G1×G2→GT,随机选择s∈Z∗N,L={P1,s⋅P1,s2⋅P1,…,sq⋅P1},其中q是可以被累加器累加的最大上限值. 创建动态累加器实例,随机选择u∈Z∗N,累加器值初始化为V0=u⋅P1.
2) 累加器评估算法. 给定累加器值V0和集合X={x1,…,xk}⊂Z∗N∖{−d},k⩽,累加器值\displaystyle \prod\limits_{i = 1}^k ({x_i} + d) {V_0}可以通过元组L在不知道s的情况下计算.
3) 累加器成员增加算法. 增加成员x' \notin X,更新累加器值为V' = (x' + d)V,并更新证据W' = V + (x' - x)W.
4) 累加器成员删除算法. 删除成员x' \in X,更新累加器值为V' = {(x' + d)^{ - 1}}V,并更新证据W' = {(x' - x)^{ - 1}}(W - V').
3. 基于SM9签名的环签名方案
本节介绍了如图1所示的基于身份环签名的系统模型和安全模型,并提出了基于SM9数字签名的常数级大小环签名方案.
3.1 系统模型
基于身份的环签名包含3种角色:KGC、签名者和验证者. 其中可信的KGC负责初始化系统公开参数,并为用户生成对应其身份标识的私钥. 基于身份的环签名包含4个算法:
1) 系统初始化算法Setup(\lambda ). 由KGC执行,输入安全参数\lambda ,输出系统公开参数Params和KGC的主密钥msk.
2) 密钥提取算法Extract(ID,msk). 由KGC执行,输入用户身份标识ID和KGC主密钥msk,输出用户私钥{d_{ID}}.
3) 环签名算法RS ign(m,{Y_n},{d_{ID}}). 由签名者执行,输入消息m,环用户标识集合{Y_n} = \{ I{D_1},I{D_2},…,I{D_n}\},用户私钥{d_{ID}},输出环签名值\sigma .
4) 签名验证算法{R V e ri f y}(m,\sigma ,{Y_n}). 由验证者执行,输入消息m,签名\sigma ,环用户集合{Y_n} = \{ I{D_1},I{D_2},…,I{D_n}\},输出accept/reject.
正确性. 对于环签名算法生成的签名,能够通过验证算法,即满足等式:
Pr \left[ {{R V e ri f y}(m,\sigma ,{Y_n}) = {\rm{accept}} \left| \begin{gathered} S etup(\lambda ) \to (Params,msk) \\ Extract(ID,msk) \to {d_{ID}} \\ RS ign(m,{Y_n},{d_{ID}}) \to \sigma \\ \end{gathered} \right.} \right] = 1 . 3.2 安全模型
基于身份的环签名需要满足:1) 在自适应选择消息和身份攻击下的存在性不可伪造(existential unforgeability under adaptive chosen-message-and-identity attack, EUF-CMIA);2) 匿名性.
定义3. EUF-CMIA. 使用模拟器{{\mathcal{S}}}与敌手{{\mathcal{A}}}之间的游戏来定义该性质.
1) 系统初始化. {{\mathcal{S}}}调用Setup(\lambda )生成系统参数Params和KGC的主公私钥对({P_{{\text{pub}}}},msk). {{\mathcal{S}}}将Params和{P_{{\text{pub}}}}发送给敌手{{\mathcal{A}}}.
2) 询问阶段. {{\mathcal{A}}}以自适应的方式进行3个查询:
①哈希谕言机查询. {{\mathcal{A}}}询问任意输入的哈希值.
②密钥提取查询. {{\mathcal{A}}}询问身份标识 ID ,{{\mathcal{S}}}返回对 应的私钥.
③签名查询. {{\mathcal{A}}}询问环用户集合{Y_n} =\left \{ I{D_1},I{D_2},…, \right. \left. I{D_n} \right\} 和一个消息m,{{\mathcal{S}}}返回对应的签名\sigma .
3) 伪造阶段. {{\mathcal{A}}}伪造挑战用户集合Y_n^* = \{ ID_1^*,ID_2^*,…, ID_n^*\}对消息{m^*}的签名{\sigma ^*},{{\mathcal{A}}}从未询问过Y_n^*对消息{m^*}的签名,且从未询问过Y_n^*中任何一个用户的私钥,伪造的签名值{\sigma ^*}可以通过验证算法,则敌手{{\mathcal{A}}} 赢得游戏.
定义敌手{{\mathcal{A}}}赢得EUF-CMIA游戏的优势为Adv_\mathcal{A}^{{\rm{EUF}}} = Pr[RVerify({m^*},{\sigma ^*},Y_n^*) = {\text{accept}}]. 如果该优势可忽略,则称该方案是EUF-CMIA安全的.
定义4. 匿名性. 使用模拟器{{\mathcal{S}}}与敌手{{\mathcal{A}}}之间的游戏来定义该性质.
1) 系统初始化. {{\mathcal{S}}}调用Setup(\lambda )生成系统参数Params和KGC的主公私钥对({P_{{\text{pub}}}},msk). {{\mathcal{S}}}将Params和{P_{{\text{pub}}}}发送给{{\mathcal{A}}}.
2) 询问阶段. {{\mathcal{A}}}以自适应的方式进行3个查询:
①哈希谕言机查询. {{\mathcal{A}}}询问任意输入的哈希值.
②密钥提取查询. {{\mathcal{A}}}询问身份标识ID,{{\mathcal{S}}}返回对 应的私钥.
③签名查询. {{\mathcal{A}}}询问环用户集合{Y_n} = \{ I{D_1},I{D_2}, …, I{D_n}\} 和一个消息m,{{\mathcal{S}}}返回对应的签名值\sigma .
3) 挑战阶段. {{\mathcal{A}}}向{{\mathcal{S}}}提交一个挑战用户集合Y_n^* = \{ ID_1^*,ID_2^*,…,ID_n^*\}和2个用户标识I{D_{{\delta _1}}},I{D_{{\delta _2}}} \in Y_n^*,{{\mathcal{S}}}随机选择b \in \{ 0,1\} 并使用I{D_{{\delta _b}}}的私钥对消息{m^*}进行环签名,将签名值{\sigma ^*}发送给{{\mathcal{A}}}.
4) 猜测阶段. {{\mathcal{A}}}输出一个{b'} \in \{ 0,1\} ,如果{b'} = b,{{\mathcal{A}}}赢得游戏.
定义敌手{{\mathcal{A}}}赢得游戏的优势为Adv_\mathcal{A}^{{\rm{ANO}}} = Pr[{b'} = b]. 如果该优势可忽略,则称该方案满足匿名性.
3.3 方案设计
1) 系统初始化算法Setup. 由KGC运行,输入安全参数λ,输出系统公开参数Params和KGC的主密钥msk. 参数选取同国密标准SM9数字签名算法.
①选取{G_1},{G_2},{G_3} \in {\mathbb{G}_1}.
②产生随机数 d \in \mathbb{Z}_N^* 作为主密钥msk,并计算主 公钥{P_{{\text{pub}}}} = d \cdot {P_2}.
③创建动态累加器实例,随机选择 u \in \mathbb{Z}_N^* ,累加 器值初始化为{V_0} = u \cdot {P_1}.
④随机选择 s \in \mathbb{Z}_N^* ,计算{S_{{\text{pub}}}} = s \cdot {P_2},L = \left\{ {P_1},s \cdot {P_1}, \right. \left. s^2 \cdot {P_1},…,{s^q} \cdot {P_1}\right\},其中q是可以被累加器累加的最 大上限值.
⑤公共参数为 Params = \left\{ \lambda ,{G_1},{G_2},{G_3},{P_1},{P_2},{P_{{\text{pub}}}},\right. \left.{S_{{\text{pub}}}}, {V_0},L,{H_1},{H_2}\right\},作为下面算法的默认输入.
2) 密钥提取算法 Extract . 由KGC运行,输入用户A的身份标识I{D_A},KGC主密钥msk,输出用户A(签名者)的私钥d_{ID}^A.
KGC计算用户A的私钥d_{ID}^A = d \cdot {({H_1}(I{D_A}) + d)^{ - 1}} \cdot {P_1}并发送给用户A.
3) 环签名算法 RS ign . 由用户A运行,输入用户A的私钥d_{ID}^A,n个成员标识组成的环用户集合{Y_n} = \{ I{D_1},I{D_2},…,I{D_n}\},待签名消息m,输出环签名值\sigma .
①对于i \in [1,n],计算{x_i} = {H_1}(I{D_i}),设{x_\delta } = {H_1}(I{D_A}), 1 \leqslant \delta \leqslant n.
②对集合X = \{ {x_1},{x_2},…,{x_n}\},n的最大值为q - 1,计算 V = \displaystyle\prod\limits_{i = 1}^n {({x_i} + s) \cdot {V_0}}. 注意 V 值的计算不需要知道s, 在已知L的情况下,V可以在多项式时间内被计算.
③计算证据{W_A} = \displaystyle\prod\limits_{i = 1,i \ne \delta }^n {({x_i} + s) \cdot {V_0}}.
④知识签名由两部分组成,用户A的证据{W_A}证明 {x_A} = {H_1}(I{D_A})确实在V中、用户A的私钥d_{ID}^A合法. 非交互式零知识证明
\pi = S oK\left\{ {\left.\left( \begin{gathered} {x_A}, \\ d_{ID}^A, \\ {W_A} \\\end{gathered} \right) \right| \begin{gathered} e({W_A},{x_A} \cdot {P_2} + {S_{{\text{pub}}}}) = e(V,{P_2}) \wedge \\ e(d_{ID}^A,{x_A} \cdot {P_2} + {P_{{\text{pub}}}}) = e({P_1},{P_{{\text{pub}}}}) \\\end{gathered} } \right\}(m). 具体展开为:
选取随机值{r_1},{r_2},{r_3} \in \mathbb{Z}_N^*,计算
{A_1} = {r_1} \cdot {G_1} + {r_2} \cdot {G_2} + {r_3} \cdot {G_3};\qquad\qquad\qquad\quad\quad {A_2} = {W_A} + {r_1} \cdot {G_2};\qquad\qquad\qquad\qquad\qquad\qquad {A_3} = d_{ID}^A + {r_2} \cdot {G_3};\qquad\qquad\qquad\qquad\qquad\qquad {\alpha _1} = {r_1} \cdot {x_A};{\alpha _2} = {r_2} \cdot {x_A};{\alpha _3} = {r_3} \cdot {x_A};\qquad\qquad\quad \pi 等价于{\pi '}
\pi ' = S o K \left\{ {\left( \begin{gathered} {r_1},{r_2}, \\ {r_3},{x_A}, \\ {\alpha _1},{\alpha _2}, \\ {\alpha _3} \\ \end{gathered} \right) \left| \begin{gathered} {A_1} = {r_1} \cdot {G_1} + {r_2} \cdot {G_2} + {r_3} \cdot {G_3} \wedge \\ {x_A} \cdot {A_1} = {\alpha _1} \cdot {G_1} + {\alpha _2} \cdot {G_2} + {\alpha _3} \cdot {G_3} \wedge \\ e({A_2},{S_{{\text{pub}}}})e{(V,{P_2})^{ - 1}} = \\ e{({A_2},{P_2})^{ - {x_A}}}e{({G_2},{S_{{\text{pub}}}})^{{r_1}}}e({G_2},\\{P_2})^{{\alpha _1}} \wedge e({A_3},{P_{{\text{pub}}}})e{({P_1},{P_{{\text{pub}}}})^{ - 1}} = \\ e{({A_3},{P_2})^{ - {x_A}}}e{({G_3},{P_{{\text{pub}}}})^{{r_2}}}e{({G_3},{P_2})^{{\alpha _2}}} \\ \end{gathered} \right.} \right\} ( m ). 选取随机值{k_1},{k_2},…,{k_7} \in \mathbb{Z}_N^*,计算
\begin{gathered} {T_1} = {k_1} \cdot {G_1} + {k_2} \cdot {G_2} + {k_3} \cdot {G_3}; \\ {T_2} = {k_4} \cdot {G_1} + {k_5} \cdot {G_2} + {k_6} \cdot {G_3} - {k_7} \cdot {A_1}; \\ {T_3} = e{({A_2},{P_2})^{ - {k_7}}}e{({G_2},{S_{{\text{pub}}}})^{{k_1}}}e{({G_2},{P_2})^{{k_4}}}; \\ {T_4} = e{({A_3},{P_2})^{ - {k_7}}}e{({G_3},{P_{{\text{pub}}}})^{{k_2}}}e{({G_3},{P_2})^{{k_5}}}; \\ ch = {H_2}(Params\parallel {A_1},…,{A_3}\parallel {T_1},…,{T_4}\parallel m); \\ {s_1} = {k_1} + ch \cdot {r_1};{s_2} = {k_2} + ch \cdot {r_2}; \\ {s_3} = {k_3} + ch \cdot {r_3};{s_4} = {k_4} + ch \cdot {\alpha _1}; \\ {s_5} = {k_5} + ch \cdot {\alpha _2};{s_6} = {k_6} + ch \cdot {\alpha _3}; \\ {s_7} = {k_7} + ch \cdot {x_A}; \\ \end{gathered} ⑤输出消息m的签名值\sigma =\left (ch,{s_1},…,{s_7},{A_1},…,{A_3}, \right. \left.{T_1},…,{T_4},V\right).
4) 签名验证算法 RVerify . 由验证者运行,输入消息m,签名值\sigma = (ch,{s_1},…,{s_7},{A_1},…, {A_3}, {T_1},…,{T_4},V),环用户标识集合{Y_n} = \{ I{D_1},I{D_2},…,I{D_n}\},输出accept/reject.
验证等式:
\begin{gathered} \qquad{T_1} = {s_1} \cdot {G_1} + {s_2} \cdot {G_2} + {s_3} \cdot {G_3} - ch \cdot {A_1}; \\\qquad {T_2} = {s_4} \cdot {G_1} + {s_5} \cdot {G_2} + {s_6} \cdot {G_3} - {s_7} \cdot {A_1}; \\\qquad {T_3} = e{({A_2},{P_2})^{ - {s_7}}}e{({G_2},{S_{{\text{pub}}}})^{{s_1}}}e{({G_2},{P_2})^{{s_4}}}e{({A_2},{S_{{\text{pub}}}})^{ - ch}}\\ \qquad e{(V,{P_2})^{ch}}; \\ \qquad {T_4} = e{({A_3},{P_2})^{ - {s_7}}}e{({G_3},{P_{{\text{pub}}}})^{{s_2}}}e{({G_3},{P_2})^{{s_5}}}e{({A_3},{P_{{\text{pub}}}})^{ - ch}}\\ \qquad e{({P_1},{P_{{\text{pub}}}})^{ch}} . \\ \qquad \end{gathered} 若等式成立,则签名有效,返回accept;否则,签名无效,返回reject.
4. 正确性和安全性分析
4.1 正确性分析
\begin{aligned} {T_1} = &{s_1} \cdot {G_1} + {s_2} \cdot {G_2} + {s_3} \cdot {G_3} - ch \cdot {A_1} = \\ &({k_1} + ch \cdot {r_1}) \cdot {G_1} + ({k_2} + ch \cdot {r_2}) \cdot {G_2} + ({k_3} + ch \cdot \\ &{r_3}) \cdot {G_3} - ch \cdot {A_1} = {k_1} \cdot {G_1} + {k_2} \cdot {G_2} + {k_3} \cdot {G_3}; \end{aligned} \begin{aligned}{T_2} = &{s_4} \cdot {G_1} + {s_5} \cdot {G_2} + {s_6} \cdot {G_3} - {s_7} \cdot {A_1} = \\ & ({k_4} + ch \cdot {\alpha _1}) \cdot {G_1} + ({k_5} + ch \cdot {\alpha _2}) \cdot {G_2} + \\ & ({k_6} + ch \cdot {\alpha _3}) \cdot {G_3} - ({k_7} + ch \cdot {x_A}) \cdot {A_1} = \\ & ({k_4} + ch \cdot {r_1} \cdot {x_A}) \cdot {G_1} + ({k_5} + ch \cdot {r_2} \cdot {x_A}) \cdot {G_2} + \\ & ({k_6} + ch \cdot {r_3} \cdot {x_A}) \cdot {G_3} - ({k_7} + ch \cdot {x_A}) \cdot {A_1} = \\ &{k_4} \cdot {G_1} + {k_5} \cdot {G_2} + {k_6} \cdot {G_3} - {k_7} \cdot {A_1} + \\ &ch \cdot {r_1} \cdot {x_A} \cdot {G_1} + ch \cdot {r_2} \cdot {x_A} \cdot {G_2} + \\ & ch \cdot {r_3} \cdot {x_A} \cdot {G_3} - ch \cdot {x_A} \cdot ({r_1} \cdot {G_1} + {r_2} \cdot {G_2} + {r_3} \cdot {G_3}) = \\ & {k_4} \cdot {G_1} + {k_5} \cdot {G_2} + {k_6} \cdot {G_3} - {k_7} \cdot {A_1};\end{aligned} \begin{aligned} {T_3} = &e{({A_2},{P_2})^{ - {s_7}}}e{({G_2},{S_{{\rm{pub}}}})^{{s_1}}}e{({G_2},{P_2})^{{s_4}}}e{({A_2},{S_{{\rm{pub}}}})^{ - ch}}\cdot \\ &e{(V,{P_2})^{ch}} = e{({A_2},{P_2})^{ - {k_7} - ch \cdot {x_A}}}e{({G_2},{S_{{\rm{pub}}}})^{{k_1} + ch \cdot {r_1}}}\cdot\\ &e{({G_2},{P_2})^{{k_4} + ch \cdot {\alpha _1}}}e{({A_2},{S_{{\rm{pub}}}})^{ - ch}}e{(V,{P_2})^{ch}} = e{({A_2},{P_2})^{ - {k_7}}}\cdot\\ &e{({G_2},{S_{{\rm{pub}}}})^{{k_1}}}e{({G_2},{P_2})^{{k_4}}}e{({A_2},{x_A} \cdot {P_2} + {S_{{\rm{pub}}}})^{ - ch}}\cdot\\ & e{({G_2},{S_{{\rm{pub}}}})^{ch \cdot {r_1}}}e{({G_2},{P_2})^{ch \cdot {r_1} \cdot {x_A}}}e{(V,{P_2})^{ch}} = e{({A_2},{P_2})^{ - {k_7}}}\cdot \\ &e{({G_2},{S_{{\rm{pub}}}})^{{k_1}}}e{({G_2},{P_2})^{{k_4}}}e{({A_2},{x_A} \cdot {P_2} + {S_{{\rm{pub}}}})^{ - ch}} \cdot\\ &e{({G_2},{x_A} \cdot {P_2} + {S_{{\rm{pub}}}})^{ch \cdot {r_1}}}e{(V,{P_2})^{ch}} = e{({A_2},{P_2})^{ - {k_7}}}\cdot\\ &e{({G_2},{S_{{\rm{pub}}}})^{{k_1}}}e{({G_2},{P_2})^{{k_4}}} e{({r_1} \cdot {G_2} - {A_2},{x_A} \cdot {P_2} + {S_{{\rm{pub}}}})^{ch}}\cdot\\ &e{(V,{P_2})^{ch}} = e{({A_2},{P_2})^{ - {k_7}}}e{({G_2},{S_{{\rm{pub}}}})^{{k_1}}}e{({G_2},{P_2})^{{k_4}}} \cdot \\ &e{({W_A},{x_A} \cdot {P_2} + {S_{{\rm{pub}}}})^{ - ch}}e{(V,{P_2})^{ch}} = \\ &e{({A_2},{P_2})^{ - {k_7}}}e{({G_2},{S_{{\rm{pub}}}})^{{k_1}}}e{({G_2},{P_2})^{{k_4}}}; \end{aligned} \begin{aligned} {T_4} =& e{({A_3},{P_2})^{ - {s_7}}}e{({G_3},{P_{{\text{pub}}}})^{{s_2}}}e{({G_3},{P_2})^{{s_5}}}e{({A_3},{P_{{\text{pub}}}})^{ - ch}}\cdot\\ &e{({P_1},{P_{{\text{pub}}}})^{ch}} =e{({A_3},{P_2})^{ - {k_7} - ch \cdot {x_A}}}e{({G_3},{P_{{\text{pub}}}})^{{k_2} + ch \cdot {r_2}}}\cdot\\ &e{({G_3},{P_2})^{{k_5} + ch \cdot {\alpha _2}}}e{({A_3},{P_{{\text{pub}}}})^{ - ch}}e{({P_1},{P_{{\text{pub}}}})^{ch}} =\\ & e{({A_3},{P_2})^{ - {k_7}}}e{({G_3},{P_{{\text{pub}}}})^{{k_2}}}e{({G_3},{P_2})^{{k_5}}}e{({A_3},{P_2})^{ - ch \cdot {x_A}}} \cdot\\ &e{({G_3},{P_{{\text{pub}}}})^{ch \cdot {r_2}}}e{({G_3},{P_2})^{ch \cdot {r_2} \cdot {x_A}}}e{({A_3},{P_{{\text{pub}}}})^{ - ch}}e{({P_1},{P_{{\text{pub}}}})^{ch}} = \\ & e{({A_3},{P_2})^{ - {k_7}}}e{({G_3},{P_{{\text{pub}}}})^{{k_2}}} e{({G_3},{P_2})^{{k_5}}}e{({r_2} \cdot {G_3} - {A_3},{P_2})^{ch \cdot {x_A}}} \cdot\\ &e{({G_3},{P_{{\text{pub}}}})^{ch \cdot {r_2}}}e{({A_3},{P_{{\text{pub}}}})^{ - ch}}e{({P_1},{P_{{\text{pub}}}})^{ch}} = e{({A_3},{P_2})^{ - {k_7}}}\cdot\\ &e{({G_3},{P_{{\text{pub}}}})^{{k_2}}}e{({G_3},{P_2})^{{k_5}}}e{(d_{ID}^A,{x_A} \cdot {P_2} + {P_{{\text{pub}}}})^{ - ch}}\cdot\\ &e{({P_1},{P_{{\text{pub}}}})^{ch}} = e{({A_3},{P_2})^{ - {k_7}}}e{({G_3},{P_{{\text{pub}}}})^{{k_2}}}e{({G_3},{P_2})^{{k_5}}}. \end{aligned} 4.2 安全性分析
本节将给出基于SM9数字签名的环签名方案的安全性证明. 假设KGC是可信的,仅考虑恶意用户作为敌手. 假设q-SDH问题是困难的,本文使用的累加器方案满足抗碰撞性,其中q是累加器要累加元素的上限,文献[26]中给出了具体的证明,本文不再赘述.
定理1. 在随机谕言机模型下,假设群{{G}_1}上的离散对数问题是困难的,本文方案中的知识签名\pi 满足完备性、可靠性和零知识性.
证明.完备性可由4.1节得证. 本节只证明可靠性和零知识性.
1)可靠性. 假设群{{\mathbb{G}}_1}上的离散对数问题是困难的,如果协议以可忽略的概率通过验证,PPT的证明者必须具有 {x_A},d_{ID}^A,{W_A} 的知识. 假设协议接受具有相同的承诺({A_1},…,{A_3},{T_1},…,{T_4})和2个不同的挑战和响应对(ch,{s_1},{s_2},…,{s_7})和(c{h'},s_1',s_2',…,s_7').
令{t_i} = ({s_i} - s_i'){(c{h_i} - ch_i')^{ - 1}},i = 1,2,…,7,则
{T_1} = {s_1} \cdot {G_1} + {s_2} \cdot {G_2} + {s_3} \cdot {G_3} - ch \cdot {A_1};\; (1) {T_2} = {t_4} \cdot {G_1} + {t_5} \cdot {G_2} + {t_6} \cdot {G_3} - {t_7} \cdot {A_1};\;\quad\; (2) \begin{gathered} {T_3} = e{({A_2},{P_2})^{ - {t_7}}}e{({G_2},{S_{{\text{pub}}}})^{{t_1}}}e{({G_2},{P_2})^{{t_4}}}; \\ {T_4} = e{({A_3},{P_2})^{ - {t_7}}}e{({G_3},{P_{{\text{pub}}}})^{{t_2}}}e{({G_3},{P_2})^{{t_5}}}. \\ \end{gathered} 根据式(1)(2),证明者具有o = ({t_4} - {t_7}{t_1}){G_1} + ({t_5} - {t_7}{t_2}){G_2} + ({t_6} - {t_7}{t_3}){G_3} \in {{\mathbb{G}}_1}. 在{{\mathbb{G}}_1}的离散对数假设下,意味着{t_4} = {t_7}{t_1},{t_5} = {t_7}{t_2}. 令{x_A} = {t_7},{W_A} = {A_2} - {t_1}{G_2},d_{ID}^A = {A_3} - {t_2}{G_3},则e({W_A},{x_A} \cdot {P_2} + {S_{{\text{pub}}}}) = e(V,{P_2}),e(d_{ID}^A,{x_A} \cdot {P_2} + {P_{{\text{pub}}}}) = e({P_1},{P_{{\text{pub}}}}). 因此,证明者具有满足这些关系的知识 {x_A},d_{ID}^A,{W_A} .
2)零知识性. 模拟器{{\mathcal{S}}}随机选择ch,{s_1},{s_2},…, {s_7} \in \mathbb{Z}_N^*,{A_1},{A_2},{A_3} \in {{\mathbb{G}}_1},并计算
\begin{gathered} {T_1} = {s_1} \cdot {G_1} + {s_2} \cdot {G_2} + {s_3} \cdot {G_3} - ch \cdot {A_1}; \\ {T_2} = {s_4} \cdot {G_1} + {s_5} \cdot {G_2} + {s_6} \cdot {G_3} - {s_7} \cdot {A_1}; \\ {T_3} = e{({A_2},{P_2})^{ - {s_7}}}e{({G_2},{S_{{\text{pub}}}})^{{s_1}}}e{({G_2},{P_2})^{{s_4}}}e{({A_2},{S_{{\text{pub}}}})^{ - ch}}\cdot \\e{(V,{P_2})^{ch}}; \\ {T_4} = e{({A_3},{P_2})^{ - {s_7}}}e{({G_3},{P_{{\text{pub}}}})^{{s_2}}}e{({G_3},{P_2})^{{s_5}}}e{({A_3},{P_{{\text{pub}}}})^{ - ch}} \cdot\\e{({P_1},{P_{{\text{pub}}}})^{ch}} . \\ \end{gathered} 可以得到模拟的分布与真实记录的分布相同. 证毕.
定理2. 在随机谕言机模型下,假设q-SDH问题是困难的,累加器方案满足抗碰撞性,知识签名\pi 满足零知识性,我们的基于SM9签名的环签名方案满足匿名性.
定理3. 在随机谕言机模型下,假设q-SDH问题是困难的,累加器方案满足抗碰撞性,知识签名\pi 满足可靠性,我们的基于SM9签名的环签名方案是EUF-CMIA安全的.
证明.由于本文方案是基于非交互式零知识证明构造的知识签名方案,定理2和定理3可以很容易地从定理1的结论中得出,故省略. 证毕.
5. 基于环签名的区块链隐私保护方案
本文对Hyperledger Fabric联盟链结构进行修改,利用提出的环签名方案,设计了一种区块链隐私保护方案. 用户通过使用该环签名签署交易提案,实现了交易发起方的身份隐私保护. 交易核心过程如图2所示.
该区块链隐私保护方案包含3个实体,即KGC、用户、区块链节点,其中区块链节点可以分为背书节点、排序节点和记账节点. 本文方案使用KGC替换了Fabric框架中的CA模块,避免了PKI体系带来的证书管理问题,在本文方案中KGC是可信的. 具体核心交易流程描述如下:
⓪ 由KGC执行Setup算法,完成系统初始化.
①用户向KGC提交自己的身份标识ID以请求用户密钥.
②KGC执行Extract算法,生成用户的私钥{d_{ID}}并发送给用户.
③用户在发送交易之前,先构造交易提案,随机选取n个成员标识组成的环用户集合{Y_n} = \{ I{D_1},I{D_2},\cdots, I{D_n}\} ,使用RSign算法对交易提案进行签署,并发送给背书节点.
④背书节点首先使用RVerify算法验证交易提案签名,根据背书策略,模拟交易执行,完成交易验证.
⑤背书节点对交易提案进行签名背书,并发送给交易发起方用户.
⑥用户收集到一定数量的背书签名后,发送交易给排序节点.
⑦排序节点对收集到的交易进行排序,构造交易区块.
⑧排序节点广播交易区块给其他节点.
⑨记账节点使用RVerify算法验证交易签名,验证背书签名.
⑩记账节点将确认后的交易区块写入公开账本.
6. 效率分析
本节从计算开销和通信开销两方面对基于身份的环签名方案进行评估,将本文所提出的SM9环签名方案与文献[16]中的基于SM9标识密码算法的环签名方案和文献[27]所提出的基于身份的环签名方案进行了比较.
6.1 计算开销分析
在计算开销方面,主要考虑密钥提取、环签名算法和签名验证算法的计算开销. 本文使用256 b的BN曲线实例化双线性对,使用SHA-256算法实例化哈希函数,省略了耗时很短的哈希运算和加法运算. 首先在电脑端利用Miracl库测试1000次取平均值得到方案所需运算的,其中平台参数为DELL牌电脑,Windows 11操作系统,i7-10700 2.90 GHz处理器和16 GB内存. 为方便起见,表1给出了符号定义和运算耗时结果. 表2分析了3个方案的计算开销.
表 1 符号定义和运行时间Table 1. Symbol Definition and Running Time符号 运算描述 运行时间/ms HTP Hash To Point 4.95 P{M}_{ {{\mathbb{G}} }_{1} } {\mathbb{G}}_1中的点乘 1.73 PM_{{\mathbb{G}}_2 } {{\mathbb{G}}_2}中的点乘 5.19 E_{{\mathbb{G}}_T } {\mathbb{G}}_T中的取幂 19.07 BP 双线性对 62.34 {M}_{ {{\mathbb{G}}}_{T} } {\mathbb{G}}_T中的乘法 0.04 M{E}_{{\mathbb{Z}}_{N}^{*}} \mathbb{Z}_N^*中的模幂 0.14 M{I}_{ {\mathbb{Z} }_{N}^{*} } \mathbb{Z}_N^*中的模逆 0.05 表 2 环签名方案的计算开销对比Table 2. Comparison of Computation Costs for Ring Signature Schemes方案 密钥提取 签名生成 签名验证 文献[27]方案 HTP n \times HTP + 2n \times P{M_{ {{\mathbb{G}}_2} } } 2BP + n \times P{M_{ {{\mathbb{G}}_2} } } 文献[16]方案 P M_{{\mathbb{G}}_{1} }+M{I}_{ {\mathbb{Z} }_{N}^{*} } 2n \times P{M_{ {{\mathbb{G}}_1} } } + n\times BP + (n - 1) \times {M_{ {{\mathbb{G}}_T} } } n \times P{M_{ { {\mathbb{G}}_1} } } + n \times BP + n \times {M_{ { {\mathbb{G}}_T} } } 本文方案 P M_{{\mathbb{G}}_{1} }+M{I}_{ {\mathbb{Z} }_{N}^{*} } 14 P M_{{\mathbb{G}}_{1} }+2 B P+4 M_{{\mathbb{G}}_{T} }+6 M E_{\mathbb{Z}_N^* } 9 P{M_{ {{\mathbb{G}}_1} } } + 5 BP + 8 {M_{ {{\mathbb{G}}_T} } } + 10M{E_{\mathbb{Z}_N^*} } 本文方案的签名生成算法需要计算14个{\mathbb{G}_1}点乘运算、6个双线性对运算、4个{\mathbb{G}_T}乘法运算和6个\mathbb{Z}_N^*模幂运算,耗时399.3 ms,使用预计算方法提高计算效率后,签名生成计算可以减少4个双线性对运算,仅需耗时149.9 ms. 签名验证算法需要计算9个{\mathbb{G}_1}点乘运算、10个双线性对运算、8个{\mathbb{G}_T}乘法运算和10个\mathbb{Z}_N^*模幂运算,耗时640.7 ms,使用预计算方法后,签名验证计算可以减少5个双线性对运算,仅需耗时329 ms.
如图3所示,本文方案在签名生成算法的计算开销是常数级别的,当环成员数量为10时,本文方案的计算开销与方案[27]相似.与基于SM9的环签名方案[16]相比,本文方案性能优势更加明显,当环成员数量为10时,本文方案签名生成算法的计算开销仅为方案[16]的22.7%.
如图4所示,本文方案在签名验证算法的计算开销也是常数级别的.当环成员数量为10时,本文方案签名验证计算开销大约是方案[27]的2倍,不具有优势;当环成员数量超过40个时,本文方案签名验证计算开销与方案[27]相似.与基于SM9的环签名方案[16]相比,本文方案性能优势明显,当环成员数量为10时,本文方案签名验证计算开销仅为方案[16]的一半.
6.2 通信开销分析
在通信开销方面,主要考虑主公钥、用户私钥、和签名的通信开销. 本文使用 \left| {{\mathbb{G}_1}} \right|,\left| {{\mathbb{G}_2}} \right|,\left| {{\mathbb{G}_T}} \right|,\left| {\mathbb{Z}_N^*} \right| 分别表示 {\mathbb{G}_1},{\mathbb{G}_2},{\mathbb{G}_T},\mathbb{Z}_N^* 中元素的比特位长. 其中, \left| {{\mathbb{G}_1}} \right| = 512 b,\left| {{\mathbb{G}_2}} \right| = 1\;024 b,\left| {{\mathbb{G}_T}} \right| = 3\;072 b, \left| {\mathbb{Z}_N^*} \right| = 256 b. 表3分析了3个方案的通信开销.
表 3 环签名方案的通信开销对比Table 3. Comparison of Communication Costs for Ring Signature Schemesb 方案 主公钥 用户私钥 签名 文献[27]方案 \left| {{\mathbb{G}_2}} \right| \left| {{\mathbb{G}_1}} \right| (n + 1)\left| {{\mathbb{G}_2}} \right| 文献[16]方案 \left| {{\mathbb{G}_1}} \right| + \left| {{\mathbb{G}_2}} \right| \left| {{\mathbb{G}_1}} \right| \left| {\mathbb{Z}_N^*} \right| + n\left| {{\mathbb{G}_1}} \right| 本文方案 \left| {{\mathbb{G}_1}} \right| + \left| {{\mathbb{G}_2}} \right| \left| {{\mathbb{G}_1}} \right| 8\left| {\mathbb{Z}_N^*} \right| + 6\left| {{\mathbb{G}_1}} \right| + 2\left| {{\mathbb{G}_T}} \right| 如图5所示,本文方案的签名通信开销是常数级别的,当环成员数量小于10时,本文方案与方案[27]相比不具有优势.当环成员数量小于20时,本文方案与方案[16]对比不具有优势.随着环成员数量的增长,本文方案的优势明显.
7. 结 论
环签名技术是一种重要的区块链身份隐私保护技术,基于身份的环签名方案具有广泛的应用场景,它可以避免PKI体系带来的证书管理问题,也具有环签名的匿名性和不可伪造性. 随着区块链系统国产化的应用需求,传统的国密算法已无法满足复杂的区块链应用需求,本文提出了一种基于SM9数字签名的环签名方案,并在随机谕言机模型下证明了其安全性,与现有的方案相比,本文方案性能优势明显. 当环成员数量大于20时,本文方案在签名通信开销上具有明显优势. 随着环签名算法对环用户数量增长的应用需求,本文方案具备更高的实用性,有效解决了区块链中的身份隐私泄露问题. 未来工作,将研究降低环签名通信开销,设计面向轻量级设备的基于身份环签名方案.
作者贡献声明:安浩杨提出了算法方案并撰写论文;何德彪和包子健提出了指导意见;彭聪指导了实验分析部分;罗敏修改了论文.
-
表 1 CHE和CHW实验数据集中的异常标签
Table 1 Abnormality Labels in CHE and CHW Datasets
标签名 标签名 心房颤动 室性期前收缩 窦性心动过缓 交界性期前收缩 窦性心律不齐 左前分支阻滞 I度房室传导阻滞 左心室肥大 窦性心动过速 下壁心肌梗死 前间壁心肌梗死 完全性左束支阻滞 左心房肥大 不完全性右束支阻滞 完全性右束支阻滞 房性期前收缩 表 2 本文中主要符号含义
Table 2 Meanings of Key Notations in Our Paper
符号 含义 U=\{l^1,…,l^{\,k},…,l^{\,u}\} 所有异常(标签) obj,fk 实例,特征 ft(ob) 实例ob的特征向量 ED,WD 示例数据集、弱标签数据集 CD 干净数据集 TD ED和WD中锚标签样本形成的数据集 cl(obi),rl(obi) obi的弱标签集和相关标签集 al(ob) 实例ob的锚标签集 \overline {ED}(l),\underline {ED}(l) ED中含和不含标签l的样本 \overline {WD} (l),\underline {WD} (l) WD中含和不含标签l的样本 {\overline {FC} ^{}} (l),{\underline {FC} ^{}}(l) 标签l的正样本和负样本上的所有类簇 {\overline C _i}(l),{\underline {C}_{\,i} }(l) 标签l的正样本和负样本上的第i个类簇 fpj(l) l对应的第j个异常特征模式 \overline {FP} (l),FP(l) l正样本和负样本上异常特征模式集 fq(l) 标签l在数据集上的出现次数 AWD(FP1,FP2) 异常特征模式集合FP1,FP2的平均Wasserstein距离 supp,conf,cort 支持度、置信度和正相关度 st,ct,rt 支持度、置信度和正相关度的阈值 dr(ob,l) 标签l属于实例ob的判别比 \theta^{\,l} 标签l属于实例的分割阈值 \rho^{\,l} 标签l属于实例的模糊间隔长度 lf(ob) 实例ob的生存指数 表 3 MIT-BIH数据集中的异常标签
Table 3 Abnormality Labels in MIT-BIH Dataset
标签名 标签名 左束支传导阻滞 右束支传导阻滞 心室融合心跳 房性期前收缩 交界性逸搏 正常心跳 室性期前收缩 异常房性早搏 表 4 TP, FP, FN的含义
Table 4 Meanings of TP, FP and FN
指标名称 含义 TP 将正例预测为正例的数量 FP 将负例预测为正例的数量 FN 将正例预测为负例的数量 表 5 真实数据集上AFP,CV,DDF方法的对比
Table 5 Comparison of AFP, CV and DDF on Real Dataset
% 方法 precision recall F1 df1 不清洗 57.74 55.95 55.24 AFP 62.70 60.45 60.43 5.19 CV-S1 61.15 56.03 56.30 1.06 CV-S2 58.26 55.69 55.46 0.22 CV-S3 58.59 56.51 55.07 −0.17 DDF 63.65 57.41 58.37 3.13 -
[1] World Health Organization. Cardio-vascular diseases (CVDs) [EB/OL]. [2021-06-11]. https:// www.who.int/en/news-room/fact-sheets/detail/cardiovascular-diseases-(cvds)
[2] Liu Feifei, Liu Chengyu, Zhao Lina, et al. An open access database for evaluating the algorithms of electrocardiogram rhythm and morphology abnormality detection[J]. Journal of Medical Imaging and Health Informatics, 2018, 8(7): 1368−1373 doi: 10.1166/jmihi.2018.2442
[3] 杨虎. 心肌梗死心电图诊断与进展[M]//心电图专业人员培训教材. 北京: 北京大学医学出版社, 2005: 18−34 Yang Hu. Diagnosis of myocardial infarction in electrocardiogram and recent progress [M]//Course Book of Electrocardiogram Specialty. Beijing: Beijing University Medical Press, 2005: 18−34 (in Chinese)
[4] 田枫,沈旭昆. 弱标签环境下基于语义邻域学习的图像标注[J]. 计算机研究与发展,2014,51(8):1821−1832 Tian Feng, Shen Xukun. Image annotation by semantic neighborhood learning from weakly labeled dataset[J]. Journal of Computer Research and Development, 2014, 51(8): 1821−1832 (in Chinese)
[5] 金林鹏,董军. 面向临床心电图分析的深层学习算法研究[J]. 中国科学:信息科学,2015,45(3):398−416 Jin Linpeng, Dong Jun. Deep learning research on clinical electrocardiogram analysis[J]. SCIENTIA SINICA Informationis, 2015, 45(3): 398−416 (in Chinese)
[6] 郑伟哲,仇鹏,韦娟. 弱标签环境下基于多尺度注意力融合的声音识别检测[J]. 计算机科学,2020,47(5):120−123 Zheng Weizhe, Qiu Peng, Wei Juan. Sound recognition and detection based on multi-scale attention fusion in weak label environment[J]. Computer Science, 2020, 47(5): 120−123 (in Chinese)
[7] Li Yaoguang, Cui Wei. Identifying the mislabeled training samples of ECG signals using machine learning[J]. Biomedical Signal Processing and Control, 2019, 47: 168−176 doi: 10.1016/j.bspc.2018.08.026
[8] Pasolli E, Melgani F. Genetic algorithm-based method for mitigating label noise issue in ECG signal classification[J]. Biomedical Signal Processing and Control, 2015, 19: 130−136 doi: 10.1016/j.bspc.2014.10.013
[9] Clifford G D, Liu Chengyu, Moody B, et al. AF classification from a short single lead ECG recording: The PhysioNet/computing in cardiology challenge 2017[C/OL]//Proc of the 18th Computing in Cardiology(CinC). Piscataway, NJ: IEEE, 2017[2022-02-02]. https://cinc.org/archives/ 2017/pdf/065−469.pdf
[10] Cristina G V, Alexander B, Oriella G, et al. Two will do: Convolutional neural network with asymmetric loss, self-learning label correction, and hand-crafted features for imbalanced multi-label ECG data classification[C/OL]//Proc of the 22nd Computing in Cardiology. Piscataway, NJ: IEEE, 2021[2022-02-02]. https://www.cinc.org/archives/ 2021/pdf/CinC2021−024.pdf
[11] Frenay B, Verleysen M. Classification in the presence of label noise: A survey[J]. IEEE Transactions on Neural Networks and Learning Systems, 2014, 25(5): 845−869 doi: 10.1109/TNNLS.2013.2292894
[12] Han Yufei, Sun Guolei, Shen Yun, et al. Multi-label learning with highly incomplete data via collaborative embedding[C]//Proc of the 24th ACM SIGKDD Int Conf on Knowledge Discovery and Data Mining. New York: ACM, 2018: 1494−1503
[13] Wu Lei, Jin Rong, Jain A K. Tag completion for image retrieval[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2013, 35(3): 716−727 doi: 10.1109/TPAMI.2012.124
[14] Zhou Zhihua. A brief introduction to weakly supervised learning[J]. National Science Review, 2017, 5(1): 44−53
[15] Varma P, Ré C. Snuba: Automating weak supervision to label training data[J]. Proceedings of the VLDB Endowment, 2018, 12(3): 223−236 doi: 10.14778/3291264.3291268
[16] Lee W S, Liu Bing. Learning with positive and unlabeled examples using weighted logistic regression[C]//Proc of the 20th Int Conf on Machine Learning. Palo Alto, CA: AAAI, 2003: 448−455
[17] Na B, Kim H, Song K, et al. Deep generative positive-unlabeled learning under selection bias[C]// Proc of the 29th ACM Int Conf on Information and Knowledge Management. New York: ACM, 2020: 1155–1164
[18] Dong Haochen, Li Yufeng, Zhou Zhihua. Learning from semi-supervised weak-label data [C]// Proc of the 32nd AAAI on Artificial Intelligence. Palo Alto, CA: AAAI, 2018: 2926−2933
[19] 丁家满,刘楠,周蜀杰,等. 基于正则化的半监督弱标签分类方法[J]. 计算机学报,2022,45(1):69−81 Ding Jiaman, Liu Nan, Zhou Shujie, et al. Semi-supervised weak-label classification method by regularization[J]. Chinese Journal of Computers, 2022, 45(1): 69−81 (in Chinese)
[20] Ding Hu, Xu Jinhui. Random gradient descent tree: A combinatorial approach for SVM with outliers [C]// Proc of the 29th AAAI Conf on Artificial Intelligence. Palo Alto, CA: AAAI, 2015: 2561−2567
[21] Xu Guibiao, Cao Zheng, Hu Baogang, et al. Robust support vector machines based on the rescaled hinge loss function[J]. Pattern Recognition, 2017, 63: 139−148 doi: 10.1016/j.patcog.2016.09.045
[22] He Fengxiang, Liu Tongliang, Geoffrey I W, et al. Instance-dependent PU learning by Bayesian optimal relabeling [J]. arXiv preprint, arXiv: 1808. 02180, 2018
[23] Basile T M A, Mauro N D, Esposito F, et al. Density estimators for positive-unlabeled learning[M]// New Frontiers in Mining Complex Patterns. Berlin: Springer, 2017: 49−64
[24] Chaudhari S, Shevade S. Learning from positive and unlabelled examples using maximum margin clustering[C]// LNCS 7665: Proc of the 19th Int Conf on Neural Information Processing. Berlin: Springer, 2012: 465−473
[25] Gong Chen, Shi Hong, Liu Tongliang, et al. Loss decomposition and centroid estimation for positive and unlabeled learning[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2021, 43(3): 918−932 doi: 10.1109/TPAMI.2019.2941684
[26] Zhang Minling, Zhou Zhihua. A review on multi-label learning algorithms[J]. IEEE Transactions on Knowledge and Data Engineering, 2014, 26(8): 1819−1837 doi: 10.1109/TKDE.2013.39
[27] Gibaja E, Ventura S. A tutorial on multilabel learning[J]. ACM Computing Surveys, 2015, 47(3): 1−38
[28] Boutell M R, Luo Jiebo, Shen Xipeng, et al. Learning multi-label scene classification[J]. Pattern Recognition, 2004, 37(9): 1757−1771 doi: 10.1016/j.patcog.2004.03.009
[29] Read J, Pfahringer B, Holmes G, et al. Classifier chains for multi-label classification[J]. Machine Learning, 2011, 85(3): 333−359 doi: 10.1007/s10994-011-5256-5
[30] Fürnkranz J, Hüllermeier E, Mencía E L, et al. Multilabel classification via calibrated label ranking[J]. Machine Learning, 2008, 73(2): 133−153 doi: 10.1007/s10994-008-5064-8
[31] Tsoumakas G, Katakis I, Vlahavas I. Random K-Labelsets for multi-label classification[J]. IEEE Transactions on Knowledge and Data Engineering, 2011, 23(7): 1079−1089 doi: 10.1109/TKDE.2010.164
[32] Zhang Minling, Zhou Zhihua. ML-KNN: A lazy learning approach to multi-label learning[J]. Pattern Recognition, 2007, 40(7): 2038−2048 doi: 10.1016/j.patcog.2006.12.019
[33] Clare A, King R D. Knowledge discovery in multi-label phenotype data[C]//Proc of the 5th European Conf on Principles of Data Mining and Knowledge Discovery. Berlin: Springer, 2001: 42−53
[34] Elisseeff A, Weston J. A kernel method for multi-labelled classification[C]// Proc of the 14th Int Conf on Neural Information Processing Systems: Natural and Synthetic. Cambridge, MA: MIT Press, 2001: 681−687
[35] 李峰,苗夺谦,张志飞,等. 基于互信息的粒化特征加权多标签学习K近邻算法[J]. 计算机研究与发展,2017,54(5):1024−1035 Li Feng, Miao Duoqian, Zhang Zhifei, et al. Mutual information based granular feature weighted k-nearest neighbors algorithm for multi-label learning[J]. Journal of Computer Research and Development, 2017, 54(5): 1024−1035 (in Chinese)
[36] Liu Tongliang, Tao Dacheng. Classification with noisy labels by importance reweighting[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2016, 38(3): 447−461 doi: 10.1109/TPAMI.2015.2456899
[37] Himanshu K, Naresh M, Sastry P S. Robust learning of multi-label classifiers under label noise[C]// Proc of the 7th ACM India Special Interest Group on Knowledge Discovery and Data Mining. New York: ACM, 2020: 90−97
[38] 陈庆强,王文剑,姜高霞. 基于数据分布的标签噪声过滤[J]. 清华大学学报:自然科学版,2019,59(4):262−269 Chen Qingqiang, Wang Wenjian, Jiang Gaoxia. Label noise filtering based on the data distribution[J]. Journal of Tsinghua University: Science and Technology, 2019, 59(4): 262−269 (in Chinese)
[39] Han Jingyu, Sun Guangpeng, Song Xinhai, et al. Detecting ECG abnormalities using an ensemble framework enhanced by Bayesian belief network[J]. Biomedical Signal Processing and Control, 2022, 72(A): 103320
[40] Liu F T, Ting K M, Zhou Zhihua. Isolation-based anomaly detection[J]. ACM Transactions on Knowledge Discovery from Data, 2012, 6(1): 1−39
[41] Ferguson T S. A Bayesian analysis of some nonparametric problems[J]. The Annals of Statistics, 1973, 1(2): 209−230
[42] David M B, Michael I J. Variational methods for the Dirichlet process[C]// Proc of the 21st Int Conf on Machine Learning. New York: ACM, 2004: 89−96
[43] Černý V. Thermo dynamical approach to the traveling salesman problem: An efficient simulation algorithm[J]. Journal of Optimization Theory and Applications, 1985, 45: 41−51 doi: 10.1007/BF00940812
[44] Han Jiawei, Kamber M, Pei Jian. Data Mining: Concepts and Techniques[M]. 3rd ed. San Francisco: Morgan Kaufmann, 2012: 38−47
[45] George M, Roger M. MIT-BIH Arrhythmia Database [DB/OL]. (2005-02-24)[2021-03-07]. https://physionet.org/content/mitdb/1.0.0/
-
期刊类型引用(4)
1. 侯泽超,董建刚. 去中心化场景下的隐私保护联邦学习优化方法. 计算机应用研究. 2024(08): 2419-2426 . 百度学术
2. 郭倩,赵津,过弋. 基于分层聚类的个性化联邦学习隐私保护框架. 信息网络安全. 2024(08): 1196-1209 . 百度学术
3. 兰浩良,王群,徐杰,薛益时,张勃. 基于区块链的联邦学习研究综述. 信息网络安全. 2024(11): 1643-1654 . 百度学术
4. 洪朝群,张锴,张伟霖,罗进开,张珂杰. 基于区块链的差分隐私机制在公共数据要素化中的应用. 海峡科学. 2024(10): 95-104 . 百度学术
其他类型引用(5)