密码学之广播加密

1.什么是广播加密

广播加密是一种支持在不安全的公开信道上实现多用户数据安全共享的加密技术,适用于一对多安全传输场景。

2.广播加密的工作原理

数据拥有者首先选取一组接收者,运行广播加密算法,将加密得到的密文发布到公开信道,监听该信道的所有用户均可获取密文,但只有授权用户可利用解密密钥正确解密,未授权用户不能从密文中获取任何明文信息。

3.应用场景

广播加密在付费电视、数字版权保护及区块链等领域广泛使用,根据广播加密的应用场景需求不同或功能不同,可分为标识广播加密、匿名广播加密、叛逆者追踪广播加密,以及可撤销广播加密等

4.广播加密的分类

4.1对称私钥广播加密系统

在对称广播加密中,广播者只能是可信机构,该机构负责生成并分发已授权用户的解密密钥,因此,对称广播加密在实际应用中局限性较大,应用范围窄.

公钥广播i加密允许系统内任意用户作为数据拥有者,且数据拥有者可指定任意系统内一个用户集合作为数据接收者,只有集合内的用户可以
解密

在对称广播加密方案中,用户的秘密钥由供应商产生,用户和供应商之间的会话密钥被分成许多部分,供应商把会话密钥的每一部分分别用某一密钥集合中的所有密钥加密,用会话加密明文。
啥意思?没懂

举个例子

供应商把会话密钥S分成m个部分

K e y 1 , 1 , K e y 1 , 2 , . . . , K e y 1 , n Key_{1,1},Key_{1,2},...,Key_{1,n} Key1,1,Key1,2,...,Key1,n对应的加密为 E n c ( K e y 1 , 1 , s 1 ) , E n c ( K e y 1 , 2 , s 1 ) , . . . , E n c ( K e y 1 , n , s 1 ) Enc(Key_{1,1},s_1),Enc(Key_{1,2},s_1),...,Enc(Key_{1,n},s_1) Enc(Key1,1,s1),Enc(Key1,2,s1),...,Enc(Key1,n,s1)
K e y 2 , 1 , K e y 2 , 2 , . . . , K e y 2 , n Key_{2,1},Key_{2,2},...,Key_{2,n} Key2,1,Key2,2,...,Key2,n对应的加密为 E n c ( K e y 2 , 1 , s 2 ) , E n c ( K e y 2 , 2 , s 2 ) , . . . , E n c ( K e y 2 , n , s 2 ) Enc(Key_{2,1},s_2),Enc(Key_{2,2},s_2),...,Enc(Key_{2,n},s_2) Enc(Key2,1,s2),Enc(Key2,2,s2),...,Enc(Key2,n,s2)
. . . . . ..... .....
K e y m , 1 . K e y m , 2 , . . . , K e y m , n Key_{m,1}.Key_{m,2},...,Key_{m,n} Keym,1.Keym,2,...,Keym,n对应的加密为 E n c ( K e y m , 1 , s m ) , E n c ( K e y m , 2 , s m ) , . . . , E n c ( K e y m , n , s m ) Enc(Key_{m,1},s_m),Enc(Key_{m,2},s_m),...,Enc(Key_{m,n},s_m) Enc(Keym,1,sm),Enc(Keym,2,sm),...,Enc(Keym,n,sm)

如果几个用户合谋,只要把自己密钥的某一部分取出来,组成一个新的解密密钥,只要新密钥能够把会话密钥的每一部分解密出来,就可以把会话密钥哦计算出来,进而解密出明文。

如果有用户申请服务,供应商从每个桶中取出一个密钥组成一个秘密钥给用户,这个密钥为用户的Personal Key, 这样用户就可以恢复所有的 s i s_i si,也就可以回复 s s s,恢复‚进而解密密文

4.2非对称广播加密方案
非对称广播加密方案与对称广播加密方案广播加密方案的唯一区别是,用户的秘密钥不完全被供应商掌握‚只有部分信息被供应商掌握,但是当供应商发现发现盗版的解密盒时,通过提取盗版解密盒中的密钥和供应商已掌握的信息就可以追踪的盗版用户

5.广播加密应该满足的安全属性

(1)权限控制: 系统用户的添加或删除由可信中心执行,用户的解密权限由加密者( 数据拥有者) 决定。
(2)抗合谋攻击: 任何数量的非授权接收者即使合谋都无法解密获取加密数据的内容。
(3)接收者无状态: 在系统的整个生命周期内接收者无需改变自己的设置,解密操作只能按照系统初始设置进行

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

百度ERNIE-SDK使用示例

百度ERNIE-SDK使用示例 文档 https://github.com/PaddlePaddle/ERNIE-SDK/blob/develop/erniebot/README.md https://ernie-bot-agent.readthedocs.io 调用大模型示例 import erniebot from typing import List, Optionalimport requests import jsonimport asyncio import…

目标 CDC实例数据库更改密码,预定启动报错SQL 错误代码为“-30082”。SQL 状态为:08001。

更改完CDC目标端实例密码后,登录MC更新存储器密码,存储器可正常连接,启动预定报错如下: 源 IBM Data Replication 未获授权,无法复制到该目标。 登录认证失败。 发生 SQL 异常。SQL 错误代码为“-30082”。SQL 状态…

嵌入式学习——ARM学习(1)

1、存储器 高速缓存(Cache)通常分为三级:L1、L2 和 L3。它们的主要功能和特点如下: 这三级缓存的设计旨在通过层次化存储来优化数据访问速度和处理器性能。 1、L1 缓存: 位置:直接集成在处理器核心内。 大小…

c++自定义迭代器,如跳表,怎么实现

在C中&#xff0c;跳表是一种高效的数据结构&#xff0c;用于存储有序数据并支持快速查找、插入和删除操作。为了在C类中实现跳表迭代器&#xff0c;你需要定义一个迭代器类&#xff0c;并在跳表类中提供相应的接口。以下是一个简单的实现示例&#xff1a; #include <iostr…

打手机检测算法源码样本展示打手机检测算法实际应用场景介绍

打手机检测算法是一种利用计算机视觉技术来监测和识别人们在特定区域如驾驶舱、考场或其他敏感区域非法使用手机的行为。这种算法对于提高安全性和确保规则的遵守具有重要意义。以下是关于打手机检测算法源码及其实际应用的详细阐述&#xff1a; 1. 算法实现 - 深度学习框架&a…

【selenium点选下拉框】解决无法选中对应选项的问题

需求 使用selenium点击下拉框&#xff0c;选中【是】选项。 代码 方法1 # 点击下拉框 driver.find_element(xpath,//*[id"basicProcessDetail"]/div[2]/div[2]/div[1]/div/div[2]/div/div/div/div[1]/div[2]/form/div[11]/div[1]/div/div/div[1]/div[1]/div/i).…

雷达图概述以及实例

目录 一.雷达图概述1.何为雷达图2.雷达图的构成要素 二.实例&#xff08;以Excel、Python为例 &#xff09;1.Excel&#xff08;2021版&#xff09;2.Python 一.雷达图概述 1.何为雷达图 雷达图&#xff0c;是一种展现多维度数据间相对重要性或程度的可视化图形。以中心点为起…

分意图 Prompt 调试、后置判别改写、RLHF 缓解大模型生成可控性

分意图 Prompt 调试、后置判别改写、RLHF 这三种方法是为了提高大模型生成内容的可控性&#xff0c;具体原因如下&#xff1a; 分意图 Prompt 调试&#xff1a; 通过针对不同的任务或意图设计特定的 Prompt&#xff0c;可以更精确地引导模型生成符合期望的内容。分意图 Prompt …

java:stream流

1、 stream是什么&#xff1f;有什么作用?结合了什么技术&#xff1f; 答&#xff1a;简化集合、数组操作的API,结合了lambda表达式。 2、说说stream流处理数据的步骤是什么&#xff1f; 先得到集合或者数组的stream流。 然后调用stream流的方法对数据进行处理。 获取处理…

梧桐数据库(WuTongDB):什么是“顺序扫描”

“顺序扫描”是数据库管理系统&#xff08;DBMS&#xff09;中最基本的访问方法之一&#xff0c;尤其在查询数据时经常被使用。下面是关于顺序扫描技术的详细说明&#xff1a; 1. 定义 顺序扫描&#xff08;Sequential Scan&#xff09;是一种数据访问方法&#xff0c;其中数…

LabVIEW高速数据采集关键问题

在LabVIEW进行高速数据采集时&#xff0c;需要关注以下几个关键问题&#xff1a; 数据采集硬件的选择: 高速数据采集需要高性能的数据采集硬件&#xff0c;例如NI PXIe、USB DAQ等模块。硬件的选择应根据采集速率、通道数、精度、以及应用场景的具体需求来确定。 采集速率与带…

ByteBuffer详解

文章目录 1. ByteBuffer是抽象类&#xff0c;他的主要实现类为2. 获取方式3. 核心结构4. 核心API5. 字符串操作 1. ByteBuffer是抽象类&#xff0c;他的主要实现类为 HeapByteBuffer 堆ByteBuffer JVM内的堆内存 —> 读写操作 效率低 会受到GC影响MappedByteBuffer(DirectB…

桥接模式-多类型登录方式的思考

桥接模式-SSO单点登录 背景:(业务细节已脱敏)需求:问题:解决方式: OAuth2.0 实现单点登录四种授权模式桥接模式优化问题代码实现 背景:(业务细节已脱敏) 基于实习期间的一个代码重构的思考——业务细节已脱敏 基于内部旧框架实现业务toB管理系统&#xff0c;需要迁移数据并新的…

uni-app 手记集。

1、uni-app 是一个使用 Vue.js 开发的前端应用的框架&#xff0c;所以不会Vue.js的小伙伴可以先去看看Vue.js的基础教学。 2、.vue文件结构 <template><div class"container"></div> </template><script type"text/ecmascript-6&q…

【DiskGenius硬盘分区】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

TS 中的接口的作用是什么

在 TypeScript (TS) 中&#xff0c;接口&#xff08;Interfaces&#xff09;扮演着至关重要的角色&#xff0c;它们的主要作用包括&#xff1a; 定义代码契约&#xff1a;接口为代码提供了一种方式来定义对象的形状&#xff0c;即对象可以包含哪些属性以及这些属性的类型是什么…

TCP系列相关内容

一、TCP上传文件 loop——本地回环测试地址。 void *memset&#xff08;void *s,int c,size_t n&#xff09;——给一个变量设定一个值。 1、“粘包”问题 两次分别发送的数据&#xff0c;被一起接收形成该现象。 原因&#xff1a;TCP流式套接字&#xff0c;数据与数据间没…

北京博科测试

公司简介 博科测试是一家通过采用现代测试与试验技术来提供智能测试综合解决方案的供应商&#xff0c;主营业务为伺服液压测试设备和汽车测试试验设备的研发、设计、制造、销售、系统集成等综合服务 公司荣誉 博科测试先后获得北京市“专精特新”中小企业、北京市专精特新“小…

前端速通面经八股系列(二)—— HTML篇

HTML高频面经八股目录 1. src和href的区别2. 对HTML语义化的理解3. DOCTYPE(⽂档类型) 的作⽤4. script标签中defer和async的区别5. 常⽤的meta标签有哪些6. HTML5有哪些更新1. 语义化标签2. 媒体标签3. 表单4. 进度条、度量器5.DOM查询操作6. Web存储7. 其他 7. img的srcset属…

Apache Dubbo关键点分析

Apache Dubbo 的源码的几个关键点分析&#xff1a; 1. SPI 机制 SPI&#xff08;Service Provider Interface&#xff09; 是一种设计模式&#xff0c;用于实现服务的插件化。Dubbo 使用 SPI 机制来实现其扩展点&#xff0c;使得用户可以在不修改框架代码的情况下&#xff0c…