关于短群签名论文阅读

参考文献为2004年发表的Short Group Signatures

什么群签名?

        群签名大致就是由一组用户组成一个群,其中用户对某条消息的签名,改签名不会揭示是哪一个用户签署的,签名只能表明该消息确实是来自该群的签名。对于群还有一个群管理者,该管理者拥有系统私钥,就可以将用户的匿名性给取消即管理者可以知道该签名来自群中具体的那一个用户。在如今的现实生活中,群签名的应用场景还是很多的。例如,车联网。国产电车的崛起,许多电动车都有信号发射器,用来发送和接收信息。某一车辆,在驾驶时发现前方出现堵车需要减速慢行,车练就会发送该信息给附加车辆,避免造成事故发生。但这些信息可能包含车辆的位置和速度等个人信息,我们要避免在传递信息出现泄漏隐私的情况。此外,为了避免有些恶意车辆制造假消息,我们需要使用签名对该消息进行认证后才允许发送。这种情况,我们就可以使用群签名。

方案概括

        本方案的签名大小更小长度低于200字节,并且安全性和长度相等的RSA一样。方案的底层数学难题是SHD问题以及在双线性群中的线性假设问题。系统基于一个新的零知识证明知识,利用零知识证明来证明某人知道SDH问题的解。

预备知识

SDH问题

        我们说当我们给任何某人提供(g_1,g_2,g_2^{\gamma} ,... ,2^{\gamma^q}),这个人可以根据提供的信息求出(g_1^\frac{1}{\gamma +x},x)的概率是可忽略的。

决策线性问题

        简单的说当我们给任何某人提供(u^a,v^b,h^c),这个人可以根据提供的信息去判断h^c=u^av^b的概率是可忽略的。如果一个算法可以解决决策线性问题在群G_1中,那么就可以解决在该群中DDH问题。反之,则不成立。

        由决策线性问题我们可以构造一个线性加密方案,不同于ElGamal加密,该方案能够在DDH问题被攻破的情况下依旧是安全的。加密方案大致如下:

初始化:从G_1中随机选择三个生成元u,v,h作为用户公钥,用户选择私钥x,y满足u^x=v^y=h

加密:用户随机选择a,b并输出(u^a,v^b,h^{a+b}m)作为密文。

解密:将密文看成由(T_1,T_2,T_3)三部分构成,解密通过\frac{T_3}{T_1^xT_2^y}最终得到明文。

Fiat–Shamir启发式

Fiat-Shamir启发式是使用一个哈希函数将交互式的证明系统变成非交互式的证明系统。具体的如何转换的可以看看这一篇Fiat-Shamir启发式。

SDH零知识证明

        在该系统中公共信息为g_1,u,v,h \in G_1 ,g_2,w=g_2^{\gamma } \in G_2,协议证明拥有(A,x),满足A^{x+\gamma }=g_1

Alice首先使用线性加密方案将A加密得到密文的三个部分,之后向验证者Bob证明自己拥有 (α,β,x,δ1​,δ2​)的知识。这五个值满足五个关系式,以至于Alice使用五个致盲因子去计算五个R之后,可以通过五个R和三个T以及两者交互的参数使以下(1),(2),(3),(4),(5)五个式子成立,因此证明Alice拥有五个值的知识从而揭示自己拥有(A,x)。例如式子(1),由于T_1是公开的,R_1是Alice传给Bob的,Bob计算左边的式子,发现如果要让等式成立,那么Alice需要知道\alpha,才能算出r_{\alpha }+c\alpha,这就证明了Alice拥有该知识,其余类似。

        可以从以下三点的出,该协议是决策线性假设下SDH对知识的诚实验证者零知识证明。

        首先,协议计算上是正确的。再者,协议是可模拟的(可模拟性保证了协议不会泄露有关秘密值)。最后,该协议存在一个知识提取器(说明证明者不会欺骗验证者,他确实存在这么一个知识)。

SDH知识签名

        通过 Fiat-Shamir 启发式从知识证明获得的签名通常称为知识签名。签名方案如下:

        公钥包含哈希函数H,群G_1G_2的生成元g_1,g_2,以及G_1中的随机生成元u,v,hw=g_2^{\gamma } \in G_2

        私钥就是SDH对(A,x)满足A^{\gamma +x}=g_1

        签名:首先根据SDH零知识证明即协议一计算出(T_1,T_2,T_3,R_1,R_2,R_3,R_4,R_5)然后计算哈希值c=(M,T_1,T_2,T_3,R_1,R_2,R_3,R_4,R_5)。之后使用c去执行协议中第三部分的计算获得s_\alpha ,s_\beta ,s_x,s_{\delta_1},s_{\delta_2}。构造签名为\sigma =(T_1,T_2,T_3,c,s_\alpha ,s_\beta ,s_x,s_{\delta_1},s_{\delta_2})

        验证:验证者使用方程(1-5)重新推导R1、R2、R3、R4和R5(由公钥以及签名中T_i

最后建议使用重新推到的算出的哈希值能否等于之前的c。

 理解来看因为\widetilde{R_i}的计算是满足(1-5)的公式,而R_i也是满足(1-5)的公式,因此两者具有相同的数学属性和关系,因此,输入相同值的哈希函数才会相同。

群签名方案

         主要的思路就是零知识证明。假设Alice就是签名者,然后发布了一个知识签名,利用了Fiat-Shamir启发式,将交互式变成了非交互式,这样签名过程完全是由签名者来操作的。验证者Bob收到签名后,可以通过签名中的内容验证验证Alice确实有相关知识,并且通过计算出的参数和原本签名中的一些参数以及公钥中的参数的一个哈希会得到相同的一个哈希,这是验证的一个思路。

安全性

        我们说如果有一个敌手能攻破我们的方案,那么我们就可以利用敌手去解决DL问题。

        给与模拟器线性加密公钥u,v,h,模拟器生成群签名密钥生成算法的公钥其余部分,然后,他向敌手提供公钥以及用户的私钥。模拟器拥有一个哈希表用来存储每次敌手询问的内容和对应的哈希值以便如果相同的询问,模拟器给敌手的回答是一致的。

        通过提供两个序列i_0,i_1和消息M,敌手来请求其完全匿名挑战。模拟器通过两个用户私钥A_{i_0},A_{i_1},来请求其不可区分挑战。(敌手如果能解决完全匿名那么我们就可以根据敌手的输出来区分私钥,其中私钥是被嵌入在线性密文中的是作为信息加密中的消息)模拟器根据挑战者选择的某一个序号的A_{i_i}生成(T_1,T_2,T_3,R_1,R_2,R_3,R_4,R_5,c,s_\alpha ,s_\beta ,s_x,s_{\delta_1},s_{\delta_2})的副本,并将c=(M,T_1,T_2,T_3,R_1,R_2,R_3,R_4,R_5)如果出现冲突的情况则终止,之后模拟器返回有有效签名给敌手。因为敌手可以攻破方案即他知道签名是哪个用户签的,那么模拟器就可以根据敌手的输出而输出来区分线性加密密文。对于SDH问题和匿名性的关系是,我们任意给一个x_i去计算g_1^{1/\gamma +x_i}是困难的,而后者就是用户密钥,我们说如果知道用户的密钥其实就知道了是哪一个用户。

撤销性

        对于撤销机制,我们需要一个撤销权威去发布一个撤销列表,列表中包含被撤销用户的类私钥信息(g_2^{1/\gamma +x_i},x_i),其中可以通过同构映射到G_1中就变成了该用户的私钥因此我这里说他是类私钥。撤销表会给所有的签名者和验证者,用于更新公钥信息以便以后去验证签名。我们让y=\prod _{i=1}^{\gamma }(\gamma +x_i)那么\bar{g_1}=g_1^{\frac{1}{y}},\bar{g_2}=g_2^{\frac{1}{y}},\bar{w}=(\bar{g_2})^{\gamma }。文中给出了撤销一个用户的例子如下图。

        对于未撤销的用户可以自身私钥和撤销列表信息更新私钥,而撤销用户计算不会信公钥对应的私钥,因此保证了撤销机制。如果撤销用户可以算出私钥那么就可以解决SDH问题,所以是不存在的。

排他性 

        群组中的任何成员,甚至群组管理员(被赋予追踪密钥的实体)也不能代表其他用户生成签名。因此,没有用户会因为他未曾生成的签名而被诬陷。排除性的一个更强的概念,在这个概念中,即使是发放用户密钥的实体也不能代表用户伪造签名。使用了一个协议(称为JOIN)来为新用户发放密钥。在协议结束时,密钥发放者并不知道赋予用户的完整私钥,因此无法伪造用户的签名。我们的群签名方案可以通过类似的机制扩展以提供强排除性。用户和密钥发放者参与一个JOIN协议,在协议结束时用户ii拥有一个三元组(A_i,x_i,y_i),使得A_i^{\gamma +x_i}h_1^{yi}=g_1​,这里h_1​是某个公共参数。y_1由用户选择,并对密钥发放者保密。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/486756.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

蓝桥杯算法 - DP

上一篇:[[蓝桥杯算法-排序、递归、全排列]] 动态规划(dp) dp即动态规划,常用于:数学,计算机科学,管理学,经济和生物信息学。 dp在生活中也很常见,如:你今天…

【随笔】oh-my-posh(Windows power shell为例)

Oh My Posh 是一个适用于任何 shell 的自定义提示引擎,能够使用函数或变量调整提示字符串。 文章目录 一、安装oh-my-posh二、安装Nerd 字体三、oh-my-posh 初始化四、更换主题 一、安装oh-my-posh GitHub repo:https://github.com/JanDeDobbeleer/oh-m…

情感视频素材怎么来的?(情感语录的视频素材在哪里找)

很多小伙伴觉得情感类型的短视频账号用户多,都想要进入分一杯羹,那么这些创作素材去哪里找呢,下面分享几个非常使用的找情感短视频素材的办法。 1,蛙学网 说到情感视频素材的短视频,作为一个专业的短视频素材网站&am…

2024年云服务器ECS价格表出炉——腾讯云

腾讯云服务器多少钱一年?61元一年起。2024年最新腾讯云服务器优惠价格表,腾讯云轻量2核2G3M服务器61元一年、2核2G4M服务器99元一年可买三年、2核4G5M服务器165元一年、3年756元、轻量4核8M12M服务器646元15个月、4核16G10M配置32元1个月、312元一年、8核…

nodeJs中实现连表查询

nodeJs中实现连表查询 router.post(/getOrder, async function(req, res, next) {let userId req.body.phone;let sql select * from orders where userId?;let orders await new Promise((resolve, reject) > {connection.query(sql, [userId], function(error, resul…

一分钟在Solana链创建代币教程

只需要 1 分钟就可以创建自己的SOLANA代币 1、连接Solana钱包2、填写代币信息创建3、创建成功 Solana 是一个基于区块链技术的高性能、去中心化的智能合约平台,旨在为开发者提供高度可扩展和低成本的区块链基础设施。通过其创新的共识机制和高吞吐量的网络架构&…

注册中国商标的大致流程

在当今竞争激烈的商业环境中,商标作为企业形象和品牌标识的重要载体,其保护和推广至关重要。注册中国商标是拓展中国市场的关键步骤 注册中国商标需要以下基本资料: 商标图样:须清晰、完整地展示商标图案和文字内容;商…

MQ消息队列从入门到精通速成

文章目录 1.初识MQ1.1.同步和异步通讯1.1.1.同步通讯1.1.2.异步通讯 1.2.技术对比: 2.快速入门2.1.安装RabbitMQ2.2.RabbitMQ消息模型2.3.导入Demo工程2.4.入门案例2.4.1.publisher实现2.4.2.consumer实现 2.5.总结 3.SpringAMQP3.1.Basic Queue 简单队列模型3.1.1.…

大模型日报|今日必读的6篇大模型论文

大家好,今日必读的大模型论文来啦! 1.英伟达提出LATTE3D:更快、更好的“文生3D”方法 近来,由文本到 3D 生成的方法可以生成令人印象深刻的 3D 效果,但这个过程需要耗时的优化过程,每个提示(p…

AI之Suno:Suno V3的简介、安装和使用方法、案例应用之详细攻略

AI之Suno:Suno V3的简介、安装和使用方法、案例应用之详细攻略 目录 Suno AI的简介 1、特点与改进: Suno AI的安装和使用方法 1、第一步,让国产大模型—ChatGLM4帮我写一个提示词 2、第二步,将提示词交给Suno v3,…

TikTok vs Instagram!哪个广告形式更适合你

近几年,TikTok以短视频和创新性吸引不少年轻受众,在广告方面也提供挑战赛、创意滤镜和名人合作等多种方式,自2019年起迅速增长,成为Instagram的强劲对手,连续三年下载量居首。而Instagram则拥有十多年历史和庞大用户基…

人工智能(Educoder)-- 搜索技术 -- 盲目式搜索

第1关:盲目搜索之宽度优先搜索算法 任务描述 本关任务:给定迷宫地图以及在迷宫中的起始位置,利用宽度优先搜索算法求解走出迷宫的最短路径长度,走出迷宫意味着达到迷宫地图的边界(所有位置下标0开始)。 …

安卓工控一体机主板定制_联发科MTK平台解决方案

新移科技安卓工控一体机方案基于MT8766主芯片,采用四核 Cortex-A53 CPU,搭载Android 12.0系统,主频高达2.0GHz,具有低功耗和高性价比的优势。搭载ARM IMG GE8300 高性能GPU和4G全网通版本的RF,网络连接稳定快速。 可直…

Linux调试器-gdb

一、背景 程序的发布方式有两种,debug模式和release模式 debug模式:编译器形成可执行程序的时候会给可执行程序添加调试信息 程序员调试时使用debug模式,而release模式用于测试 而gcc/g默认编译,采用release模式 用gcc/g使用…

智能建筑:基于IT的集成和融合解决方案

智能建筑( Intelligent Building) 定义: 以建筑为平台,兼备建筑设备、办公自动化及通信网络系统,集结构、系统、服务、管理及它们之间的最优化组合,向人们提供一个安全、高效、舒适、便利的建筑环境。 智能建筑的发展历史: -产生:1984年世界上第一座智能大厦诞生于美国…

基于yolov8安全帽检测的系统

基于yolov8安全帽检测的系统 项目描述: 安全头盔检测(计算机视觉) 1.自训练数据集1538张数据图片,进行标注,并进行100轮的训练,准确率达0.966 2.使用 Flask 和 Ultralytics YOLOv8 模型开发了一个 Web 应…

【开发环境搭建篇】NodeJS的安装和配置

作者介绍:本人笔名姑苏老陈,从事JAVA开发工作十多年了,带过大学刚毕业的实习生,也带过技术团队。最近有个朋友的表弟,马上要大学毕业了,想从事JAVA开发工作,但不知道从何处入手。于是&#xff0…

C++ STL-string 类使用超详解

目录 0. 引言 1. string 类 1.1 string类的基本概念 1.2 string类与char*的区别 1.3 string类的作用 2. string 的接口使用 2.1 string 类对象的默认成员函数 2.1.1 构造函数 - 初始化 2.1.2 npos 含义 2.2 赋值重载 - 初始化 2.3 析构函数 2.2 string 类对象的访问和…

目前服务器2核4G支持多少人同时访问?性能如何?

腾讯云轻量应用服务器2核4G5M配置性能测评,腾讯云轻量2核4G5M带宽服务器支持多少人在线访问?并发数10,支持每天5000IP人数访问,腾讯云百科txybk.com整理2核4G服务器支持多少人同时在线?并发数测试、CPU性能、内存性能、…

Qt 窗口MainWindow(下)

对话框 对话框是 GUI 程序中不可或缺的组成部分。一些不适合在主窗口实现的功能组件可以设置在对话框中。对话框通常是一个顶层窗口,出现在程序最上层,用于实现短期任务或者简洁的用户交互。Qt 常用的内置对话框有: QFiledialog (文件对话框)、QColorDi…
最新文章