非对称群密钥协议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

相关文章

java中判断json key是否存在的几种方法

《java中判断jsonkey是否存在的几种方法》在使用Java处理JSON数据时,如何判断某一个key是否存在?本文就来介绍三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目http://www.chinasem.cn录第一种方法是使用 jsONObject 的 has 方法

Redis高性能Key-Value存储与缓存利器常见解决方案

《Redis高性能Key-Value存储与缓存利器常见解决方案》Redis是高性能内存Key-Value存储系统,支持丰富数据类型与持久化方案(RDB/AOF),本文给大家介绍Redis高性能Key-... 目录Redis:高性能Key-Value存储与缓存利器什么是Redis?为什么选择Redis?Red

HTTP 与 SpringBoot 参数提交与接收协议方式

《HTTP与SpringBoot参数提交与接收协议方式》HTTP参数提交方式包括URL查询、表单、JSON/XML、路径变量、头部、Cookie、GraphQL、WebSocket和SSE,依据... 目录HTTP 协议支持多种参数提交方式,主要取决于请求方法(Method)和内容类型(Content-Ty

MySQL中On duplicate key update的实现示例

《MySQL中Onduplicatekeyupdate的实现示例》ONDUPLICATEKEYUPDATE是一种MySQL的语法,它在插入新数据时,如果遇到唯一键冲突,则会执行更新操作,而不是抛... 目录1/ ON DUPLICATE KEY UPDATE的简介2/ ON DUPLICATE KEY UP

Java对接MQTT协议的完整实现示例代码

《Java对接MQTT协议的完整实现示例代码》MQTT是一个基于客户端-服务器的消息发布/订阅传输协议,MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛,:本文主要介绍Ja... 目录前言前置依赖1. MQTT配置类代码解析1.1 MQTT客户端工厂1.2 MQTT消息订阅适配器1.

Linux中的自定义协议+序列反序列化用法

《Linux中的自定义协议+序列反序列化用法》文章探讨网络程序在应用层的实现,涉及TCP协议的数据传输机制、结构化数据的序列化与反序列化方法,以及通过JSON和自定义协议构建网络计算器的思路,强调分层... 目录一,再次理解协议二,序列化和反序列化三,实现网络计算器3.1 日志文件3.2Socket.hpp

Linux中的HTTPS协议原理分析

《Linux中的HTTPS协议原理分析》文章解释了HTTPS的必要性:HTTP明文传输易被篡改和劫持,HTTPS通过非对称加密协商对称密钥、CA证书认证和混合加密机制,有效防范中间人攻击,保障通信安全... 目录一、什么是加密和解密?二、为什么需要加密?三、常见的加密方式3.1 对称加密3.2非对称加密四、

shell脚本批量导出redis key-value方式

《shell脚本批量导出rediskey-value方式》为避免keys全量扫描导致Redis卡顿,可先通过dump.rdb备份文件在本地恢复,再使用scan命令渐进导出key-value,通过CN... 目录1 背景2 详细步骤2.1 本地docker启动Redis2.2 shell批量导出脚本3 附录总

如何在Spring Boot项目中集成MQTT协议

《如何在SpringBoot项目中集成MQTT协议》本文介绍在SpringBoot中集成MQTT的步骤,包括安装Broker、添加EclipsePaho依赖、配置连接参数、实现消息发布订阅、测试接口... 目录1. 准备工作2. 引入依赖3. 配置MQTT连接4. 创建MQTT配置类5. 实现消息发布与订阅

使用Python进行GRPC和Dubbo协议的高级测试

《使用Python进行GRPC和Dubbo协议的高级测试》GRPC(GoogleRemoteProcedureCall)是一种高性能、开源的远程过程调用(RPC)框架,Dubbo是一种高性能的分布式服... 目录01 GRPC测试安装gRPC编写.proto文件实现服务02 Dubbo测试1. 安装Dubb