从访问树到共享矩阵:LSSS矩阵构造的两种经典算法解析
📅 2026/7/16 17:31:36
👁️ 次浏览
1. 线性秘密共享方案LSSS基础概念在密码学领域线性秘密共享方案Linear Secret Sharing Scheme简称LSSS是实现细粒度访问控制的核心工具。简单来说它就像是一把被拆分成多个碎片的钥匙——只有当收集到足够数量的正确碎片时才能还原出完整的钥匙。这种机制在基于属性的加密ABE系统中尤为重要特别是在医疗数据共享、企业文档权限管理等需要精确控制访问权限的场景。LSSS的核心由两个部分组成一个共享矩阵M和一个将矩阵行映射到属性的函数ρ。当我们要加密一个秘密s时系统会随机生成一个向量v然后计算λ M·v得到共享值。解密时只有满足访问策略的属性集合才能通过线性组合还原出原始秘密。这种线性特性使得LSSS比传统的秘密共享方案更高效特别是在处理复杂访问策略时。举个生活中的例子想象公司保险柜需要3个部门中至少2个部门的负责人同时到场才能打开。LSSS就像是为每位负责人分配特定的密码片段这些片段经过特定组合才能打开保险柜。不同于简单门限方案LSSS可以表达财务部AND人事部OR技术部这类更复杂的逻辑关系。2. Lewko-Waters算法详解Lewko-Waters算法是构造LSSS矩阵的经典方法特别适合处理由AND和OR门限组成的访问控制树。算法的核心思想是通过广度优先遍历策略为树中的每个节点分配特定的向量标签。具体实现步骤可以分为以下几步初始化阶段为根节点赋予向量(1)设置全局计数器counter1遍历规则遇到OR门限节点时子节点继承父节点的向量遇到AND门限节点时左子节点获得(父向量||1)右子节点获得(0...0||-1)counter值加1矩阵构造收集所有叶子节点的向量通过零填充使所有向量等长最终构成LSSS矩阵# Lewko-Waters算法的简化实现示例 def construct_lsss_matrix(access_tree): root access_tree.get_root() root.vector [1] counter 1 queue [root] while queue: node queue.pop(0) if node.is_OR(): for child in node.children: child.vector node.vector.copy() queue.append(child) elif node.is_AND(): left, right node.children left.vector node.vector [0]*(counter - len(node.vector)) [1] right.vector [0]*counter [-1] counter 1 queue.extend([left, right]) # 收集所有叶子节点向量 matrix [leaf.vector for leaf in access_tree.get_leaves()] max_len max(len(vec) for vec in matrix) return [vec [0]*(max_len-len(vec)) for vec in matrix]该算法生成的矩阵行数等于访问树中叶子节点的数量。在实际应用中比如一个策略要求(A AND B) OR (C AND D)Lewko-Waters算法会产生4行矩阵每行对应一个属性。算法的关键优势在于处理AND/OR门限时的简洁性但对于更通用的(t,n)门限需要转换为多个AND/OR节点的组合这会导致矩阵规模膨胀。3. Liu-Cao-Wong算法深度解析Liu-Cao-Wong算法是对Lewko-Waters算法的重要改进它直接支持任意(t,n)门限结构而不仅限于AND/OR门限。这种通用性使得它在处理复杂访问策略时更加高效。算法的核心创新点在于统一的门限处理将访问控制树表示为递归字符串格式例如(2,4)门限表示为(A,B,C,D,2)矩阵构造方法对于(t,n)门限直接构造n×t的Vandermonde矩阵[1, 1, 1, ..., 1] [1, 2, 4, ..., 2^(t-1)] [1, 3, 9, ..., 3^(t-1)] ... [1, n, n^2, ..., n^(t-1)]递归插入机制通过扫描和替换的方式将子结构的矩阵插入到父矩阵中与Lewko-Waters算法相比Liu-Cao-Wong算法在矩阵规模上有显著优势。对于单一的(t,n)门限Liu-Cao-Wong算法生成n行矩阵Lewko-Waters算法需要约O(n log n)行矩阵特别是在处理深度嵌套的门限结构时这种优势更加明显。例如医疗系统中3位主任医师中至少2位AND5位专科医生中至少3位OR医疗主管这样的复杂策略Liu-Cao-Wong算法可以保持矩阵规模的线性增长而传统方法可能导致矩阵行数呈指数级膨胀。4. 两种算法的对比与应用选择从实际应用角度Lewko-Waters和Liu-Cao-Wong算法各有其适用场景开发者需要根据具体需求进行选择对比维度Lewko-Waters算法Liu-Cao-Wong算法支持的门限类型仅限AND/OR门限通用(t,n)门限矩阵规模最优情况O(n)最差O(n log n)稳定O(n)计算复杂度较低适合简单策略较高但通用性更强实现难度较简单需要处理递归结构典型应用场景CP-ABE中的简单访问控制树需要复杂门限的分布式系统在实际项目中如果系统主要处理由AND/OR组成的访问策略如大多数文档权限管理系统Lewko-Waters算法可能是更简单高效的选择。而在需要支持任意门限的场景如医疗系统中的多方决策或金融交易的多重签名Liu-Cao-Wong算法的通用性优势就显现出来了。我曾在一个医疗数据共享项目中遇到性能瓶颈原本使用Lewko-Waters算法处理(2,5)门限AND (3,7)门限策略时生成的矩阵超过100行导致加密/解密效率低下。切换到Liu-Cao-Wong算法后矩阵规模缩减到12行系统吞吐量提升了8倍。这个案例充分说明算法选择对系统性能的重大影响。
官网不是奢侈品,而是生意的“门面担当”
在当前这个数字化经营已成标配的阶段,一个专业、稳定、能被搜索引擎收录的官网,早已不是“锦上添花”,而是获客、转化甚至参与招投标的“入场券”。如果你正为建站发愁——不懂代码、怕贵、…
📅 2026/7/16 17:31:36
这次我们来分享一套白上吹雪主题的鼠标指针资源,适合hololive粉丝和喜欢个性化桌面定制的用户。这套指针包含多种状态图标,完全免费开源,支持Windows系统一键安装,不需要额外软件就能直接使用。 对于喜欢虚拟主播白上吹雪的用户来…
📅 2026/7/16 17:31:36
2026新手友好建站平台排行:怎么选才能提升线上获客效率?最近帮朋友看网站,发现他用某免费工具折腾一周,结果页面打不开、手机显示错乱,更别说被百度收录了。这并非个例——超六成中小企业首次建站时低估了‘有效官网’…
📅 2026/7/16 17:31:36
blendergeo 下载本文关键词:blendergeo 下载搞 3D 场景的兄弟,是不是每次想搞个大场景,比如做个城市、搞个地形,或者弄点逼真的植被,都被那堆复杂的 GIS 数据搞得头大?别急,今天咱不整那些虚头巴脑的理论,直接聊点实在的。很多新手找 blendergeo 下载,结果下载了一堆所…
📅 2026/7/16 18:34:28
中文文献管理终极指南:用Jasminum Zotero插件3步完成高效学术整理 【免费下载链接】jasminum A Zotero add-on to retrive CNKI meta data. 一个简单的Zotero 插件,用于识别中文元数据 项目地址: https://gitcode.com/gh_mirrors/ja/jasminum
作为…
📅 2026/7/16 18:34:07
Tibble vs 传统数据框:为什么这款R包能让数据操作效率提升300%? 【免费下载链接】tibble A modern re-imagining of the data frame 项目地址: https://gitcode.com/gh_mirrors/ti/tibble
在R语言数据分析的世界中,数据框(…
📅 2026/7/16 18:34:07
GetShape 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。 项目地址: https://gitcode.com/c…
📅 2026/7/16 18:34:07
如何快速掌握中文大语言模型:5个简单步骤指南 【免费下载链接】Awesome-Chinese-LLM 整理开源的中文大语言模型,以规模较小、可私有化部署、训练成本较低的模型为主,包括底座模型,垂直领域微调及应用,数据集与教程等。…
📅 2026/7/16 18:34:07
如何快速上手Voyeur.js:10个简单技巧让DOM操作变得优雅 【免费下载链接】voyeur.js Voyeur is a tiny (1.2kb) Javascript library that lets you traverse and manipulate the DOM the way it should have been. 项目地址: https://gitcode.com/gh_mirrors/vo/vo…
📅 2026/7/16 18:34:07
1. 项目概述:为什么用遗传算法解5皇后问题,而不是直接回溯?我带过十几届算法课,也给不少初创团队做过AI架构咨询。每次讲到组合优化问题,学生和工程师的第一反应永远是“写个回溯试试”。这没错——55棋盘上找所有合法…
📅 2026/7/16 0:00:02
前几天调试一个简单的电源模块,用到了5.1V稳压管。电路接好,上电测试,万用表一量——输出居然只有4.7V。第一反应是稳压管坏了,换了一个新的,结果还是4.7V。这让我想起很多初学者都会遇到的困惑:明明标称5.…
📅 2026/7/16 0:00:02
1. 项目概述与核心价值 在高速数字系统、通信设备乃至精密测量仪器中,一个稳定、纯净且可精确调控的时钟信号,往往是整个系统稳定运行的“心跳”。无论是确保数据在光纤中无误传输,还是让ADC/DAC芯片精准采样,亦或是让多块FPGA板卡…
📅 2026/7/16 0:00:02
豆包openclaw最近圈子里都在聊豆包openclaw,我也没忍住,掏腰包入手了一套。说实话,刚拿到手的时候,心里是打鼓的。毕竟市面上类似的智能硬件太多了,有的吹得天花乱坠,用起来却是一堆bug。为了不让大家的钱打水漂,我连续用了半个月。从开箱到日常高频使用,甚至故意测试它…
📅 2026/7/15 22:51:06
SQLyog 13.3.1 社区版在Windows 10/11上的完整安装与连接指南 对于刚接触MySQL数据库管理的开发者和学生来说,选择一个直观易用的图形化管理工具至关重要。SQLyog作为一款轻量级但功能强大的MySQL GUI工具,能够显著提升数据库操作的效率和体验。本文将详…
📅 2026/7/15 19:03:10
SPEC CPU 2006 跨平台基准测试深度实战:ARM/X86/MIPS 架构配置优化与结果分析方法论在当今多元化的计算架构时代,如何客观评估不同处理器平台的真实性能成为系统工程师和性能优化专家的核心挑战。SPEC CPU 2006 作为业界公认的计算密集型基准测试套件&am…
📅 2026/7/16 14:13:12
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/15 22:46:06
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/16 4:59:31
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/15 22:51:03