非对称群密钥协议asymmetric group key agreement

2023-10-22 06:59

本文主要是介绍非对称群密钥协议asymmetric group key agreement,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原文:

Q. Wu, Y. Mu, W. Susilo, B. Qin, and J. Domingo-Ferrer, "Asymmetric group key agreement," in Proc. of EUROCRYPT 2009, Cologne, Germany, Apr. 2009, pp. 153–170.

密码学之安全模型总结 - Max1z - 博客园 (cnblogs.com)

一些复杂的密码系统都依赖于用户之间的秘密信道,密钥协商的主要目标就是构建用户之间的秘密信道。每个人各自产生自己的公私钥,公开自己的公钥。这种方式使得发送者需要掌握所有人的公钥信息,密文是所有公钥分别加密产生密文的链接,开销巨大。很多方案可以抵抗被动攻击,但是不抵抗内部攻击。

应用场景:常规广播方案和GKA协议很难应用的场景。(临时组、共享离线文件、组聊天、避免卖方知道买方信息的群体购买)

研究目的:场景更加广泛、开销小速度快(一轮协商、加密速度也快)、可以发现内部恶意用户(验证方案是否正确执行)

不足:未能有效解决临时组的问题(系统建立开销大)、没有考虑主动攻击、无法支持新增用户、没有考虑组内用户合谋通过他们的密钥产生新的解密密钥的情况

群密钥协议可以支持一组用户在公共网络上建立隐私通信。与一般的方案(对称)不同,非对称协议中协商的不是最终的密钥,而是协商出加密密钥,再由群里的每个用户自己计算出自己的解密密钥,并且每个人都无法计算其他群成员的。

文章在ASBB的基础上构建了一个一轮(每人只发送一条消息,并且这个发送可以是同时的)的没有其他预设条件的非对称群密钥协议asymmetric group key agreement,本方案没有考虑组内用户合谋通过他们的密钥产生新的解密密钥的情况。这个方案群用户中不需要中心节点、每个用户可以自己确认自己密钥的正确性、计算量和存储量都比较小、可以发现并删除没有诚实地进行操作的用户。

目录

ASBB(aggregatable signature-based broadcast,基于聚合签名的广播)

非对称群密钥协议asymmetric group key agreement

具体方案


ASBB(aggregatable signature-based broadcast,基于聚合签名的广播)

方案性质:密钥同态、可聚合性。

该方案的安全性包括:签名算法是EUF-CMA(选择消息攻击下的存在不可伪造性)安全的、加密算法是Ind-CPA(选择明文攻击下的不可区分性)安全的。

此为论文截图。

也就是建立模型,生成密钥、公开参数后,构造一个可以通过验证的签名,用公钥加密要加密的明文输出密文。由公钥、一条消息和它对应的签名、密文,就可以解密密文得到明文。

非对称群密钥协议asymmetric group key agreement

n个用户矩阵横向的操作是公开操作,数据是公开的。用户自己生成自己的公钥,并利用公钥和用户的身份信息计算出对应的签名值(即每个用户计算对应矩阵的一行的值),最后每个用户根据公式

计算对应的解密密钥,加密密钥为:

原文中称在文章中只考虑了CPA(选择明文攻击)安全性,但是因为方案的输出也可以视作基于公钥加密的广播系统,因此是可以做到CCA(选择密文攻击)安全的。可以参考下面文献的思路提升该安全性。

具体方案

原文在4.1和4.2部分分别描述了具体的ASBB和ASGKA方案,并在第四章进行了完善的安全性分析。

[1]FUJISAKI E, OKAMOTO T. Secure Integration of Asymmetric and Symmetric Encryption Schemes[M/OL]//Advances in Cryptology — CRYPTO’ 99,Lecture Notes in Computer Science. 1999: 537-554. http://dx.doi.org/10.1007/3-540-48405-1_34. DOI:10.1007/3-540-48405-1_34.

这篇关于非对称群密钥协议asymmetric group key agreement的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/259843

相关文章

python 字典d[k]中key不存在的解决方案

《python字典d[k]中key不存在的解决方案》本文主要介绍了在Python中处理字典键不存在时获取默认值的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录defaultdict:处理找不到的键的一个选择特殊方法__missing__有时候为了方便起见,

Java如何接收并解析HL7协议数据

《Java如何接收并解析HL7协议数据》文章主要介绍了HL7协议及其在医疗行业中的应用,详细描述了如何配置环境、接收和解析数据,以及与前端进行交互的实现方法,文章还分享了使用7Edit工具进行调试的经... 目录一、前言二、正文1、环境配置2、数据接收:HL7Monitor3、数据解析:HL7Busines

【Linux】应用层http协议

一、HTTP协议 1.1 简要介绍一下HTTP        我们在网络的应用层中可以自己定义协议,但是,已经有大佬定义了一些现成的,非常好用的应用层协议,供我们直接使用,HTTP(超文本传输协议)就是其中之一。        在互联网世界中,HTTP(超文本传输协议)是一个至关重要的协议,他定义了客户端(如浏览器)与服务器之间如何进行通信,以交换或者传输超文本(比如HTML文档)。

git ssh key相关

step1、进入.ssh文件夹   (windows下 下载git客户端)   cd ~/.ssh(windows mkdir ~/.ssh) step2、配置name和email git config --global user.name "你的名称"git config --global user.email "你的邮箱" step3、生成key ssh-keygen

matlab读取NC文件(含group)

matlab读取NC文件(含group): NC文件数据结构: 代码: % 打开 NetCDF 文件filename = 'your_file.nc'; % 替换为你的文件名% 使用 netcdf.open 函数打开文件ncid = netcdf.open(filename, 'NC_NOWRITE');% 查看文件中的组% 假设我们想读取名为 "group1" 的组groupName

【Go】go连接clickhouse使用TCP协议

离开你是傻是对是错 是看破是软弱 这结果是爱是恨或者是什么 如果是种解脱 怎么会还有眷恋在我心窝 那么爱你为什么                      🎵 黄品源/莫文蔚《那么爱你为什么》 package mainimport ("context""fmt""log""time""github.com/ClickHouse/clickhouse-go/v2")func main(

2024.9.8 TCP/IP协议学习笔记

1.所谓的层就是数据交换的深度,电脑点对点就是单层,物理层,加上集线器还是物理层,加上交换机就变成链路层了,有地址表,路由器就到了第三层网络层,每个端口都有一个mac地址 2.A 给 C 发数据包,怎么知道是否要通过路由器转发呢?答案:子网 3.将源 IP 与目的 IP 分别同这个子网掩码进行与运算****,相等则是在一个子网,不相等就是在不同子网 4.A 如何知道,哪个设备是路由器?答案:在 A

Modbus-RTU协议

一、协议概述 Modbus-RTU(Remote Terminal Unit)是一种基于主从架构的通信协议,采用二进制数据表示,消息中的每个8位字节含有两个4位十六进制字符。它主要通过RS-485、RS-232、RS-422等物理接口实现数据的传输,传输距离远、抗干扰能力强、通信效率高。 二、报文结构 一个标准的Modbus-RTU报文通常包含以下部分: 地址域:单个字节,表示从站设备

DBeaver 连接 MySQL 报错 Public Key Retrieval is not allowed

DBeaver 连接 MySQL 报错 Public Key Retrieval is not allowed 文章目录 DBeaver 连接 MySQL 报错 Public Key Retrieval is not allowed问题解决办法 问题 使用 DBeaver 连接 MySQL 数据库的时候, 一直报错下面的错误 Public Key Retrieval is

3.比 HTTP 更安全的 HTTPS(工作原理理解、非对称加密理解、证书理解)

所谓的协议 协议只是一种规则,你不按规则来就无法和目标方进行你的工作 协议说白了只是人定的规则,任何人都可以定协议 我们不需要太了解细节,这些制定和完善协议的人去做的,我们只需要知道协议的一个大概 HTTPS 协议 1、概述 HTTPS(Hypertext Transfer Protocol Secure)是一种安全的超文本传输协议,主要用于在客户端和服务器之间安全地传输数据