zoukankan      html  css  js  c++  java
  • 群签名

    群签名的概念是由Chaum和Heyst于1991年提出的, 其基本思想是一群人中的任何一个人可生成一群签名,外界可验证其合法性,即此签名的确为此群中的某人生成,但不能确定到底是他们当中哪一位签的(隐私保护),在发生争议的情况下,可由一具有特权的群管理员“打开”争议的签名找出真正的签名者(可追踪)。

    基于群组公钥的匿名签名机制(以下简称群签名机制)的发展经 历了四个阶段。

    第一阶段为1999年之前,chaum和Heyst在1991年的欧密会议首次提出了群签名的概念,给出了4个方案,它们的缺点是效率不高。1995年Chen等公布了可以动态地加入新成员的群签名方案,这个方案有把不同群成员签名混淆的可能性。这些群签名方案基本上是基于离散对数难题提出的,效率较低,不适合大群体的群签名方案。1997年Camenish和Stadler提出了适合大群体签名的方案。1998年Lee和Chang发表了一个基于离散对数问题的方案, 但是在打开的时候,虽然能辨别真实的签名者,也会使其之前的群签名暴露。

    第二阶段时间大致为1999-2002年,Joye等提出了著名的 ACJT群签名方案。2001年,Kim等提出了首个能撤销群成员的群签名方案,但效果不好。2002年,Camenish新提出了一个方案,它能有效撤销群成员。

    第三阶段为从2002年到2005年,主要成果为Bellare 等提出了群签名的形式化安全定义以及实现群签名方案的正确需求;Boneh等人提出了高效的短群签名。

    第四阶段为2006年至今, 主要包括:提出了许多可证安全的群签名方案;Cheng等提出了一 种有条件的群签名方案;Luo等提出一种ECC群签名方案的在线绑定方法;这些研究成果为群签名在互联网隐私保护领域的应用奠定了基础。

    算法

    a)Setup。给定一安全参数K,群管理员(GM)生成一个群 公钥(GPK)可用于群签名的验证,以及一群私钥(GsK)可用于生成成员证书及签名打开。

    b)Join。对于动态的群签名,这是用户和GM之间执行的 一个交互协议,完成后用户加入群并获得成员证书及一个私 钥,可用于群签名的生成,而GM获得相关的追踪信息,以后可 用来打开此用户的群签名

    c)Sign。群成员可利用自己的成员证书和私钥生成任一 消息的群签名。

    d)Verify。任何人获得GPK和一个消息/签名对,可验证 此群签名是否合法,但对合法的群签名不能找出实际的签名者。

    e)Open(Prove)。对于合法的群签名,GM能打开并找出 实际的签名者;最好GM也能给出证据,说明一群签名的确是某成员签的,同时不会破坏此成员未来的签名能力。

    f)Revoke。GM可撤销某成员的签名权利,之后此用户就再也不能生成合法的群签名了。

    参考文献:

    群签名综述 程小刚等人

    群签名技术综述 王璨等人

  • 相关阅读:
    ASP.Net Core一个项目中如何支持多种身份认证方式
    c#正则表达式
    Newtonsoft.Json笔记 -JsonPath
    DotLiquid-介绍
    ASP.NET Core-请求频率限制(AspNetCoreRateLimit)
    使用dotnet-gcdump 查找耗内存的大对象【转】
    使用dotnet-dump 查找 .net core占CPU100%的原因【转】
    ADO.NET
    .NET Core-IServiceCollection扩展一个Replace方法
    SafeList-线程安全的List(c#)
  • 原文地址:https://www.cnblogs.com/qing123tian/p/15748818.html
Copyright © 2011-2022 走看看