密文策略基于属性加密(CP-ABE)访问树构造与解密

基于隐私保护的可追踪可撤销密文策略属性加密方案论文阅读 本篇论文提出了一种具有用户撤销、白盒追踪、策略策略隐藏功能的CP-ABE方案。 阅读详情

在密文策略基于属性加密方案中,最难理解的过程莫过于访问树的构造和从访问树中解密出访问树的秘密数,本文从访问树的构造和从访问树中解密出访问树的秘密数进行讨论。

      1. 构造访问树

      在CP-ABE方案中,访问树用于隐藏源数据的加密密钥,其形状结构如其名一样,是一棵树。其叶子节点为数据所有者设定的属性和属性值以及父节点传于此节点的秘密值,并对其加密处理,只有数据访问者拥有此属性方可解密出此节点的秘密值;非叶子节点为门限节点,数据访问者需满足此门限最低值方可解密此节点秘密值,例如门限为3/5,此节点有5个子节点,数据访问者需至少满足3个子节点才能解密出秘密值。

      如下图所构造的访问树,能解密此访问树加密的源数据,数据访问者需满足的属性是:第一种:(“计算机学院” 且 “硕士” 且 “研二”)和 “教师”(此属性结合可能不存在,因为教师和研二不存在且关系) ,第二种:“教师” 和(“网络实验室” 或 “云实验室”),第三者:(“计算机学院” 且 “硕士” 且 “研二”)和(“网络实验室” 或 “云实验室”);否则无法访问。

      如何构造这样的一棵访问树?

      从根节点开始,其门限值为2,孩子节点有3个,随机生成一个多项式,其最高次数为门限值少1,故根节点的最高次数为1,然后将常数项设置为秘密数(秘密数为需要秘密保存的数);如此根节点随机的多项式为f(x)=5+3x,秘密数为5。此外,将根节点的孩子节点从左至右依次标记为1,2,3,.....,将节点标记值代入f(x)函数中,所得值(即生成新的秘密值)传给该标记的孩子节点秘密保存;故“3/3”节点(左边第一个节点)标记为1,传给“3/3”节点的秘密值f(1)=5+3*1=8,中间“教师”节点(中间节点)标记为2,传给“教师”节点的秘密值f(2)=5+3*2=11,“1/2”节点(右边节点)标记为3,传给“1/2”节点的秘密值为f(3)=5+3*3=14。

      “3/3”节点和“1/2”节点在接收到父节点传来的值后,按照上述方式生成随机多项式,将常数项设置为父节点传来的值,此外也按照上述方式生成新的秘密值并将它传给子节点,数据如图所示(对于非叶子节点,都按照此方式进行)。对于叶子节点,在接受到父节点的秘密值后,用此叶子节点的属性对秘密值进行加密处理。

      至此,访问树已构造完成!

 2. 从访问树中解密出访问树的秘密数

      数据访问者需满足访问树方可解密出访问树的秘密值,对于上述访问树,数据访问者需满足以下属性集中的一个:(计算机学院、硕士、研二、教师(此属性结合可能不存在,因为教师和研二不存在且关系))、(计算机学院、硕士、研二、网络实验室)、(计算机学院、硕士、研二、云实验室)、(教师、网络实验室)、(教师、云实验室)。若上述属性集中某一个或多个(至少一个)为数据访问者属性集的子集,则能解密出秘密值,下面开始解密处理。

      对于叶子节点,在数据访问者属性集中寻找出和此节点属性与属性值一致的属性,用找出的属性解密出此节点的秘密值(即公式1),当然不能完全解密出,他是秘密值和加密时对此属性设置的加密值的乘积。

      解密出叶子节点后,开始解密其父节点(非叶子节点),在解密出叶子节点后,即可得到多对值;如在上述访问树的“3/3”节点,其孩子节点解密出三个值19,44,83(推理过程忽略随机数),在生成这三个数时,f(1)=19,f(2)=44,f(3)=83,其中f(x)=8+4x+7x^2(解密时并不知道此多项式,只知道后面的三个点),因此在f(x)上有三个点是(1,19),(2,44),(3,83);因为此节点存储的秘密值是多项式的常数项,即f(0)=秘密值,故我们需要根据这三个点得到0所对应的值是多少,根据拉格朗日公式就能求出0所对应的值,即解密出秘密值(即公式2);对于非叶子节点均可按照上述方式解密出秘密值,在根节点处解密出整个树所隐藏的秘密值(是秘密值和加密时对此属性设置的加密值的乘积,所有节点解密出的秘密都存在一个随机数,解密出的值都是随机数和秘密值的乘积,只是讲述过程中为了方便忽略了随机数,最后根节点解密出的随机数在最后的解密过程中会抵消掉(公式3))。

      另外需要说明的是“3/3”节点是一个3个孩子节点、门限值为3的节点,相当于且关系,数据访问者需解密出所有的孩子节点方可用拉格朗日公式解密出常数项(即秘密值);“1/2”节点是一个2个孩子节点、门限值为1的节点,故为或关系,数据访问者只满足其中一个孩子节点即可解密出秘密值(秘密值就是孩子节点解密出的秘密值,因为根据随机多项式生成规则,多项式的最高次数为门限值少1,门限值为1,故最高次数为0,即常数项);若如“2/3”这样的节点,既非且关系,也非或关系,3个孩子节点,门限值为2,若需解密出此节点的秘密值,数据访问者需解密出三个孩子节点中的两个节点即可解密出孩子节点。

Java实现CP-ABE属性加密:从原理到工程实践详解 属性基加密(Attribute-Based Encryption, ABE)是一种支持细粒度访问控制的公钥密码学方案,它通过将解密能力与用户属性绑定,实现了比传统公钥加密更灵活的数据共享。其核心原理基于双线性配对和秘密共享机制,允许数据所有者直接使用访问策略(如“部门=技术部 AND 职级=高级工程师”)对数据进行单次加密,任何满足该策略属性的用户均可解密。这项技术在数据安全领域具有重要价值,尤其适用于云存储安全、医疗数据共享和付费内容分级等需要复杂访问控制的场景。本文通过一个清晰的Java实现,深入剖析了 阅读详情

相关推荐

属性加密(ABE)基础知识

属性加密 最近在看ABE相关论文,因为本人(数学功底一般)不太能理解其中原理。所以特意记录ABE的基础知识,以便日后能快速重温。 ABE常见分类 属性基加密的思想是让密文和密钥与属性集合和访问结构产生关联,当且仅当属性集合满足访问结构的时候,方能解密成功。那么根据这其中两两的对应关系,又可以将属性基加密分为两类,即密钥策略属性基加密(KP-ABE)和密文策略属性基加密(CP-ABE)。 KP-ABE:用户的密钥中蕴含访问结构(访问策略),密文中对应着一系列属性集合,当且仅当密文的属性集合满足用户密钥的访问

m0_47659650的博客 1万+

密码学小知识(7):简单理解密文策略基于属性加密(CP-ABE)访问树的构造与解密

在实际应用中,我们会考虑设计一种密文策略基于属性加密(CP-ABE)的方案来实现对某个系统的访问权限,而比较难理解的是访问树的构造,因此本文将简洁明了、通俗易懂的介绍如何构造访问树,以及解密出访问树的秘密值。 通常而言,访问树可用于隐藏源数据的秘密密钥,只有达到一定条件时,才能解出秘密值,即密钥。访问树,顾名思义也是一种树结构,由叶子节点、非叶子节点和根节点构成。 (1)根节点:即最终的源数据的秘密密钥,访问者需满足最低阈值才能获取密钥。 (2)非叶子节点:也称为 门限节点,访问者只有满足门限的阈值时,才

cryptocxf的博客 7741

迪文DGUSII串口屏中文显示实战:手把手教你制作16x16点阵字库

本文提供了一份迪文DGUSII串口屏16x16点阵中文字库制作的完整实战指南。从显示原理、字体选择与参数设置,到使用FontLib Make工具生成字库文件,再到部署、调用及存储空间优化,手把手教你解决中文显示难题,确保界面文字既美观又稳定。

weixin_29190573的博客 154

数据结构——树

树

Jyao_In的博客 621

SIwave:在 SIwave 中释放计算频率扫描的强大功能

AEDT 的电路工具允许注入正确的电压和电流。要使用电路工具,SIwave 必须首先使用 PI 求解器求解结构的 S 参数。

jkh920184196的博客 1475

纳米尺度仿真软件:Quantum Espresso_(13).非线性光学性质计算

通过 Quantum Espresso,可以高效地计算材料的非线性光学性质,包括二阶和三阶非线性极化率。这些性质在许多现代技术中具有重要的应用价值。在准备输入文件时,需要详细描述系统的晶格结构和原子位置,选择合适的基组和赝势,并设置计算参数和微扰设置。通过优化计算参数和使用并行计算,可以提高计算效率和精度。最后,使用适当的工具进行结果分析和可视化,可以更好地理解材料的非线性光学行为。

kkchenjj的博客 1277

【数据结构与算法】二叉树的链式访问

介绍了二叉树的链式访问,包括遍历方法,实现细节,以及一些其他常用的操作。

weixin_63726869的博客 1089

【PostgreSQL】PostgreSQL数据库函数比对模板(PG通用)

LOOKUP 函数从单行或单列区域 (区域:工作表上的两个或多个单元格。区域中的单元格可以相邻或不相邻。)或数组 (数组:用于建立可生成多个结果或可对在行和列中排列的一组参数进行运算的单个公式。数组区域共用一个公式;数组常量是用作参数的一组常量。LOOKUP 函数具有两种语法形式:向量形式和数组形式。vlookup查找匹配值超过255个字符显示#Value的解决办法。如果值为错误值 #N/A,则返回 TRUE。

tttzzzqqq2018的博客 1493

用Python实现CP-ABE访问树:从门限加密到拉格朗日插值

本文通过Python代码实战,详细解析了CP-ABE(密文策略属性基加密)中访问树的核心实现。从门限加密的逻辑定义出发,到利用拉格朗日插值进行秘密分发与恢复,文章清晰地展示了如何将复杂的密码学概念转化为可运行的代码,为理解现代细粒度访问控制提供了实践路径。

blockchain9miner的博客 251

各大厂薪资对比爬虫:Python采集OfferShow爆料数据

print(f"⚠️ API返回错误码: {data.get('code')}, msg: {data.get('msg')}")ax.set_title('各大厂薪资对比 (基于OfferShow爆料数据)', fontsize=16, fontweight='bold')stats.columns = ['人数', '平均年薪', '年薪中位数', '年薪标准差', '平均月薪', '平均月数']print(analyzer.get_position_stats('字节跳动').head(10))

2201_76125261的博客 602

微信小程序 - 最新详细实现跳转打开第三方网站方法流程及示例代码,在小程序内直接打开H5页面或微信公众号文章后台业务域名配置及下载校验文件上传服务器,嵌入外部网站跳转第三方h5网页(详细配置及代码)

微信小程序,打开第三方网站,放校验文件,怎么配置业务域名,后台配置,怎么打开外部没有关联的网站,小程序直接打开公众号文章,指定页面,跳转第三方url,跳转到外部网站,小程序跳转到任意外部网页,网站链接,跳转到其他网页(外部链接),小程序嵌入外部h5链接,校验文件怎么放到对方服务器上,要跳转到网站没权限放过去,校验文件验证域名,把校验文件放到对面网站,别人的服务器也打不开没权限怎么放呢,勾选不校验合法域名,txt,打不开别人的网页怎么办,真机调试打不开,无法跳转,有什么其他办法不放校验文件吗,别人不可能同意,

🏆 前端领域优质创作者 1万+

别再死记硬背了!用一张图+一个例子彻底搞懂KP-ABE和CP-ABE的区别

本文通过一张图和生动的例子,深入浅出地解释了KP-ABE(密钥策略属性基加密)和CP-ABE(密文策略属性基加密)的核心区别。文章以公司文档权限管理和咖啡机使用权限为例,形象展示了两种加密策略的不同应用场景和技术实现差异,帮助读者快速掌握这两种重要的加密技术。

weixin_30265103的博客 305

【应用】什么是Azure?一文读懂微软云的核心逻辑与全球版图

作为微软的核心云计算服务平台,Azure不仅是数字化转型的引擎,更是全球企业在构建、扩展与优化IT基础设施时的首选平台。在这篇文章中,我们将深入探讨Azure云服务平台的各个方面,涵盖其核心优势、架构、功能、应用场景以及未来发展趋势。

高校图书馆高级系统架构师/研究馆员,推动高校AI从概念演示到可评审、可交付、可运维:路线图与立项评审、PoC交付、评测回归与上线运维(Baseline/Eval/Ops)。 1951

基于可搜索属性的电子个人健康记录签名加密方案

基于可搜索属性的电子个人健康记录签名加密方案

fancywxq的博客 973

动态规划之【树形DP】第3课:树形DP应用案例实践2

动态规划之【树形DP】第3课:树形DP应用案例实践2

王老师青少年编程 762

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

数据结构 - 树的遍历方法举例

树的遍历 我们已经见到了树数据结构的基本功能,现在是看树的一些额外使用模式的时候了。这些使用模式可以分为我们访问树节点的三种方式。有三种常用的模式来访问树中的所有节点。这些模式之间的差异是每个节点被访问的顺序。我们称这种访问节点方式为“遍历”。我们将看到三种遍历方式称为前序,中序和后序 。让我们更仔细地定义这三种遍历方式,然后看看这些模式有用的一些例子。 前序 在前序遍历中,我们首先访问根节点...

jhlovetll的博客 849

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

PYTHON CPABE

m = groupObj.random(GT)#############比较难搞的是怎么将真正想要加密的东西和GT上的东西联系在一起。:param gate:用两个数字表示(t,n),建议直接使用元组,其中t表示门限值,n表示子节点个数。:param att: 属性值默认为int类型,其中内部节点null,外部节点为int。"如果不是叶子节点,则首先生成一个随机多项式,多项式的常数项为当前节点的秘密值"#如果是叶子```````````````````````节点不需要在进行分享。

qq_52642385的博客 1699

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

密文策略属性基加密(CP-ABE)

目录 密文策略属性基加密(CP-ABE) CP-ABE过程 参考文献 密文策略属性基加密(CP-ABE) 在之前的(KP-ABE)中,密文和属性相关联,私钥与访问策略相关联,可以决定能解密的密文,加密者无法控制谁能够访问他加密的数据。在密文策略属性基加密(CP-ABE)中正好与之相反,私钥与属性相关联,密文与访问结构相关联,能够决定拥有哪些属性的用户可以解密密文,这样设置,加密者就能够控制谁有权访问他加密的数据。这与传统的访问控制方法,基于角色的访问控制(RBAC...

m0_52322997的博客 9566

5.5 遍历二叉树和线索二叉树

线索二叉树的构造极大地优化了二叉树的遍历效率,特别是在频繁进行遍历操作的应用场景中展现了其独特的优势。通过线索化,不仅可以快速访问节点的前驱和后继,还可以方便地实现二叉树的正向和反向遍历,提高了二叉树数据结构的灵活性和实用性。

tang7mj的博客 1022

树形数据结构

树形数据结构是一种非线性的数据结构,用于表示具有层次关系的数据。树由节点组成,每个节点可以有零个或多个子节点。树的顶部节点称为根节点,没有父节点;最底层的节点称为叶节点,没有子节点。介于根节点和叶节点之间的节点称为内部节点。

weixin_55987175的博客 559

基于属性的加密算法CP-ABE的详解和应用场景

随着科技不断的发展,数字化的普及,数据的安全性和隐私保护越来越受到重视。传统的加密算法在一些特定的应用场景下已经不能满足需求,因此需要一种更为灵活的加密方式。基于此,属性加密(Attribute-based Encryption,简称ABE)应运而生。ABE是一种新兴的加密技术,它不仅能够保证数据的安全性,而且能够对数据的访问进行灵活的控制。本文将介绍一种基于ABE的加密方式:CP-ABE。CP-ABE是一种基于属性的加密技术,它能够对数据进行细粒度的访问控制。

Java技术攻略的博客 4841

Ubuntu18.04.4 环境下对属性加密算法CP-ABE环境搭建

注意事项 cpabe依赖pbc,pbc依赖gmp,gmp依赖M4、bison、flex 如果权限不够 ,命令的前面加上sudo ,不要直接使用root用户进行操作,其带来的隐患有很多 第一步 配置简单的环境 简单环境 包括gcc、g++、make、cmake、openssl 安装之前需要更新apt-get ,命令如下 sudo apt-get update gcc安装:sudo apt-get install gcc g++安装:gcc sudo apt-get install g++ m..

CHYabc123456hh的博客 1293

密码学学习笔记(四)——(t, n)门限的属性加密CP-ABE

传统的公钥密码只能实现一对一的通信的方式,即加密者用目标用户的公钥来进行加密,也只有目标用户能够实现正确解密。而这种加密方式却不能满足将云存储平台上数据方便而又安全的共享给多个用户的需求。2005年,Sahai等人在欧洲密码学会议上提出了FIBE,并由此提出了基于属性加密(Attribute- Based Encryption, ABE)的概念。这里的模糊身份不再是如原来身份信息的一一对应,而是一个一对多的对应过程。同时ABE密码体制中还引入了访问结构来完成对多个属性的细粒度控制。......

梓城的博客 2637

一文搞懂CP-ABE,基于访问控制树的BSW方案原理分析与源码实现【基于C++、PBC库】

基于访问控制树的BSW AP-ABE方案原理分析与源码实现,基于C++与PBC库。

tutu_hu的博客 3967
上一篇: 2019春季学期-吴作栋-第12次周报
下一篇: CP-ABE和KP-ABE
JINKELA_
博客等级 码龄11年 75粉丝 178原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值