基于范围属性的高效ABE方案

基于属性的加密用于范围属性

摘要

基于属性的加密(ABE)是一种先进的公钥加密形式,支持基于属性和策略的访问控制机制。在传统ABE中,属性被指定为 strings。然而,在某些应用中,将属性指定为 numerical values并考虑判断某个 numerical range是否包含特定值的谓词是有用的。这类属性的示例包括时间、位置坐标、人的年龄、等级、身份等。本文提出了基于范围成员关系的布尔公式属性加密(ABE‐RM)。我们展示了将传统ABE转换为 ABE‐RM的通用方法。与会带来线性开销的平凡方法相比,我们的通用转换是高效的,仅引入了对数开销(在密钥和密文大小方面)。通过将我们的转换应用于先前的ABE方案,我们获得了新的高效且表达能力强的 ABE‐RM方案。先前关于具有范围属性的ABE的研究是特定的,只能处理单一的范围成员资格关系(帕特森和夸利亚在SCN2010,以及 Kasamatsu et al.在SCN2012),或仅限于有限类别的策略,即仅支持范围属性的与门(Shi et al.在IEEES&P2007及后续一些工作)。我们的方案是通用的,能够处理表达能力强的布尔公式。

1 引言

基于属性的加密(ABE)是一种高级形式的公钥加密,其中可以实现基于属性和策略的访问控制机制。ABE通常分为两种类型:密钥策略(KP)或密文策略(CP)。在KP‐ABE[22],中,每个用户被分配一个与策略关联的私钥,数据则使用属性集合进行加密。在CP‐ABE[14],中,每个用户被分配一个与属性集关联的私钥,而数据则使用策略进行加密。当且仅当属性集合满足策略时,才能进行解密。ABE可应用于多种场景,例如文件共享和内容分发,这些场景中存在多个用户需要解密同一密文。

在传统ABE中,属性被指定为字符串。然而,在某些应用中,将属性指定为数值并考虑判断某个特定的数值范围是否包含某一特定值的谓词会更加有用。这类属性的示例包括时间、位置坐标、人的年龄、等级、身份等。我们以用于付费内容分发的KP‐ABE系统为例进行说明。加密内容与一组属性分配相关联,例如(“类型”=音乐)、(“日期”= 20160515)、(“小时”= 22)以及其他属性(如标题、语言等)。在此类系统中,许多属性是数值数据,因此允许用户指定属性值的范围非常有用。例如,用户可以使用如下策略订阅该系统:
((‘genre’= sport ∨ ‘genre’= music)∧ ‘day’ ∈[20160501, 20160525]) ∨小时 ∈[0, 6]. (1)

为了实施此访问控制策略,我们可以以一种平凡的方式使用传统基于属性的加密,通过将范围指定为范围内值的析取。在我们的示例中,这将是
((‘genre’= sport ∨ ‘genre’= music)∧(‘day’= 20160501 ∨··· ∨ ‘day’= 20160525)) ∨ ‘hour’= 0 ∨··· ∨ ‘hour’= 6.(2)

然而,这将导致策略的尺寸非常大;更准确地说,需要线性复杂度的规模扩展开销,从而导致系统效率低下。更重要的是,它无法处理指数级大小(相对于安全参数)的范围。

先前已提出了一些能够处理范围属性且具有亚线性复杂度的ABE方案;然而,这些方案只能处理有限类别的策略(针对这些范围属性),即仅支持单一范围成员关系[24,34],或仅支持与门的策略[20,25,36]。据我们所知,构造具有亚线性复杂度并能支持表达能力强的策略的范围属性ABE方案,仍然是一个开放问题。

1.1 我们的贡献

在本文中,我们通过提出基于范围成员关系的ABE(ABE‐RM)肯定地解决了上述问题。我们的方案具有亚线性复杂度,因为密钥和密文大小关于范围的开销为 O(log n),其中 n表示范围的最大大小。因此,它们可以处理指数级大小的 n范围。它们能够支持表达性强的策略,即跨度程序类,该类已知可蕴含任意布尔公式[12,22]。我们的结果是通用的,因为我们展示了从任意用于跨度程序的ABE到ABE‐RM的通用转换。这与之前针对范围属性的ABE方案 [20,24,25,34,36],形成对比,那些方案均为特定构造方法(此外,如上所述,仅能处理有限的策略类)。我们在表1中对这些用于范围的ABE方案进行了比较。

方案 允许的策略 类型(按我们的术语)
PQ10[34], KME+12[24] 不允许合取 CP‐ABE 类型1
SBC+07[36], GMW15[20]仅支持AND KP‐ABE 类型1
KMHI12[25] 仅支持AND CP‐ABE 类型1
本研究 任何布尔公式 KP‐ABE,CP‐ABE,类型1,2

我们的转换方法适用于KP‐ABE和CP‐ABE。此外,为了保证通用性,我们进一步考虑了两种类型的ABE‐RM,具体取决于范围的指定位置。第一种类型是在策略(文字)中指定范围,而在属性集中指定待检查是否在范围内的值,这对应于上述示例。第二种类型则相反:在策略中指定一个点,而在属性集中指定一个范围。

我们的方法

为了实现亚线性复杂度,我们采用经典的线段树方法[13]。该方法允许我们用大小为 O(log n)的集合表示任意范围,同时用大小为 O(log n)的集合表示任意值,并具有以下有用性质:一个值属于某个范围当且仅当它们对应的表示集合存在交集。因此,我们将构造ABE‐RM的目标转化为构造一种能够在策略中每个文字上处理集合交集的ABE方案。我们将这种中间方案称为用于集合交集的ABE(ABE‐SI)。直观上,以KP‐ABE类型1为例,我们考虑一个策略,其某个文字形式为:(‘day’∩S[20160501,20160525] = ∅),而属性分配的形式为:(‘day’= T20160515),其中 SR, Tx分别是通过线段树方法得到的范围 R和值 x的表示集合。然而,传统基于属性的加密仍然不能直接处理集合交集问题。为此,我们实现ABE‐SI的思路是将表示集合 SR, Tx中的每个元素视为独立的属性。但随之又出现一个问题:我们不能简单地让属性分配包含同一属性的不同说明,即无法为某个值 y = y′定义形如(‘day’= y),(‘day’ = y′)的属性分配,因为这会相互矛盾。不过,这个问题可以通过对 H(‘day’ y)进行哈希处理并将其作为属性来解决。直观上,策略中的一个文字变为:∨w∈S[20160501,20160525] H(‘day’ w),而属性集则变为:{ H(‘day’ y) | y ∈ T20160515},然后我们可以使用传统基于属性的加密来处理这些情况。这会导致像平凡方案那样的线性扩展;但现在由于线段树方法的作用, |SR|, |Tx|被限制在 O(log n)范围内,因此最终的方案是高效的。

例如,一个属性集可能如下所示:(‘genre’= music),(‘day’=[20160501, 20160525]) , sport ∨ = music ∧ 20160515 ∈ ) ∨ 22 ∈ (‘hour’ =[0, 6]),而一个策略可能如下所示:((‘genre’‘genre’)‘day’‘hour’。2尽管我们在此次通过布尔公式的ABE来解释我们的想法,但为了通用性,我们将在正文部分研究跨度程序的ABE,后者众所周知可涵盖前者。

我们的替代方法

我们上述的方法需要在策略和属性集上都进行扩展,导致密钥和密文都可能膨胀。我们提出了一种构建ABE‐SI的替代方法,该方法仅需对策略进行扩展。因此,其优势在于密文大小在KP情况中得以保持(而在CP情况中则保持密钥大小)。然而,这种转换必须从一种表达能力更强的ABE方案开始,即称为KP‐DSE(基于双重空间加密的密钥策略)的方案,该方案在[2]中被提出。粗略地说,KP‐DSE允许将仿射空间作为属性,并且当仿射空间相交时,文字判定为真。(更多细节见第2.2节。)我们首先发现集合成员关系可以嵌入到仿射空间的交集中。然后,我们使用一个仿射空间一次性嵌入整个表示集合 Tx,从而无需像之前的方法那样对 Tx进行扩展。

论文结构

在第2节介绍预备知识后,我们将在第3节给出ABE‐RM和ABE‐SI的定义。我们的转换方法在第4节中给出,如图1所示。效率比较见第5节。一些扩展(见下文)在第6节中简要描述,详细内容将留待完整版本[7]。

2 预备知识

符号说明

对于 a, b ∈ Z满足 a ≤ b,我们记作[a, b]:={ a, a+ 1,…, b}。对于一组向量 V ,我们用span(V)表示其张成的空间:即 V中所有向量的线性组合构成的集合。

2.1 通用ABE的定义

谓词族 。设 R={ Rκ: Xκ × Yκ →{0, 1} | κ ∈ K}为一个谓词族,其中 Xκ和 Yκ分别表示“密钥属性”和“密文属性”空间。索引 κ或“参数”表示某些参数的列表,例如属性全集和/或某些量的边界,因此其定义域K将取决于该谓词。在上下文明确时,我们通常会省略 κ。

通用ABE语法 。设 M为消息空间。针对谓词族 R的属性基加密方案3由以下算法定义:
- Setup(1λ, κ) →(PK,MSK):输入安全参数 1λ和谓词族 R的参数 κ,输出主公钥PK和主私钥MSK。
- 加密(Y, M,公钥PK) →密文CT:输入为密文属性 Y ∈ Yκ、消息M M ∈ M和公钥 PK,输出为密文 CT。我们假设 Y 隐含在密文 CT中。
- KeyGen(X,MSK,PK) → SK:输入密钥属性 X ∈ X κ和主密钥MSK,输出私钥S K。
- 解密(密文CT,私钥SK) → M:给定一个具有属性 Y的密文CT和一个具有属性 X的解密密钥SK,输出消息 M或 ⊥。

正确性 。对于所有参数 κ,以及所有满足Rκ(X, Y)= 1的 M ∈ M, X ∈ Xκ, Y ∈ Yκ,若Encrypt(Y, M,PK) →密文CT且KeyGen(X,MSK, PK) → SK,其中 (PK,MSK)由Setup(1λ, κ)生成,则Decrypt(密文CT, SK) → M。

安全性 。ABE的标准概念称为完全安全性。我们将其定义引用至完整版本,因为我们并不直接使用该定义,而是通过嵌入引理来推导其蕴含关系(引理1)。

ABE的对偶性 。对于谓词 R: X × Y →{0, 1},我们通过设置 R(Y, X)= R(X, Y)来定义其对偶¯ ¯为 R: Y × X →{0, 1}。特别地,如果 R被视为密钥策略类型,则其对偶 R为相应的密文策略类型。因此,不失一般性,在本文中我们将仅给出KP类型的谓词定义。

2.2 一些先前谓词的定义

单调跨度程序的ABE 。我们重新阐述针对单调跨度程序的KP‐ABE的谓词定义 [22]。除非另有说明,本文中将把单调跨度程序的ABE称为“普通ABE”。众所周知,此类属性基加密方案可推出单调布尔公式的ABE[12,22](cf. 见[29]附录C中的简要说明)。
- 参数 。它由一个正整数 N(用于指定 ZN)和一个属性全集 U来确定。如果U={0, 1}∗,或者等价地说4 |U| 在 λ上具有超多项式规模,则称为大宇宙 [22,35];否则称为小宇宙¯ ¯。一些方案还要求可选参数 m¯, k, ,用于指定下文所述的 m, k, |S| 的最大界限。
- 密钥属性 。它由一对 A=(A, π)指定,其中 A 是某个 m, k ∈ N上的Zm×k N 中的一个矩阵,且 π 是一个行标签映射 π:[1, m] → U。该对 A 也称为单调跨度程序(在 U上)。
- 密文属性 。它由一个属性集 S ⊆ U指定。
- 评估 。对于一个集合 S ⊆ U,令A|S 为 A 的子矩阵,该子矩阵取所有满足 π(j) ∈ S的行 j。我们说(A, π)接受 S,当且仅当固定向量1:=(1, 0,…, 0)属于 A|S的行空间。将 Ai记作 A的第 i行。即,我们定义
RKP-ABE ((A, π), S)= 1 ⇐⇒ 1 ∈ span{ Ai | π(i) ∈ S}. (3)

我们还将展示一种称为KP‐DSE[2]的原语所导出的范围属性ABE的蕴含关系。我们从仿射空间的概念开始,简要回顾如下。

仿射空间的定义 。设 N, d, w ∈ N ,其中 0 ≤ w ≤ d。令t为 Z d N 中的一个列向量。令 M ∈ Z d×w N 为一个矩阵,其各列为线性无关。由一对(t, M)指定的 ZdN中的仿射空间定义为 t+ cspan(M),其中 cspan()表示列空间;更准确地说,它是
t+ cspan(M)={t+ Mv ∣∣ v ∈ ZwN}.
我们还将AffSp(Zd N)定义为 Zd N中所有仿射空间的集合。

基于双重空间加密的密钥策略(KP‐DSE) 。该谓词定义如下。
- 参数 。由(N, d)∈ N2指定。可选地,我们可以为 m, k, |T| 指定某些¯ ¯边界 m¯, k, ,如下所述。
- 密钥属性 。由 A=(A, π)指定,其中 A是某个 m, k ∈ N对应的 Zm×k N中的矩阵,且 π是一个标签映射,将[1, m]中的每一行映射到 Zd N中的一个仿射空间。
- 密文属性 。它由Zd N中的一组 T 仿射空间指定。
- 评估 。令A|T为 A的子矩阵,该子矩阵包含所有满足如下条件的行 i:存在一个仿射空间 Y ∈ T,其与仿射空间π(i)相交。我们称(A, π)接受 S,当且仅当固定向量1:=(1, 0,…,0)属于 A|T的行空间。即
RKP-DSE((A, π), T)= 1 ⇐⇒ 1 ∈ span{ Ai | ∃Y ∈ T s.t. π(i)∩ Y = ∅}.

2.3 嵌入引理

以下来自[5,17]的有用引理描述了从一个谓词的ABE到另一个谓词的ABE的蕴含关系的充分条件。该引理考虑了两个任意的谓词族:RF κ: Xκ × Yκ →{0, 1}、以及RF′ κ′: X′ κ′ × Y′ κ′ →{0, 1},,它们分别由 κ ∈ K和 κ′ ∈ K′参数化。假设存在三个高效映射
fp: K′ → K fe: X ′
fp( κ′) fk: Y ′
fp( κ′)
分别映射参数、密文属性和密钥属性,使得对于所有 X′ ∈ X′ ∈ Y′ κ′,,我们有 “嵌入”关系:
RF′
RF
fp( κ′)(fe(X ′), fk(Y ′))= 1. (4) 然后,我们可以通过设置 Π′.Setup(1λ, κ′)=Π.Setup(1λ, fp( κ′)),从一个用于谓词 RF κ 的属性基加密方案Π 构造出一个用于谓词 RF ′
Π′.Encrypt(PK, M, X′) =Π.Encrypt(PK, M, fe(X ′)),
Π′.KeyGen(MSK, PK, Y ′) =Π.KeyGen(MSK, PK, fk(Y ′)),
和 Π′.解密(密文CTX ′,私钥SKY ′)=Π.解密(密文CTf e ( X ′ ),私钥SKf k ( Y ′ ))。

引理1(嵌入引理[5,17]) 。如果 Π是正确且安全的,那么 Π′也是安全的。这对于选择性安全性和完全安全性两种情况都成立。

备注1 。我们观察到,通过映射(4)在 RF和 RF′之间的嵌入关系, fc, fk)等价于它们各自对偶之间的嵌入关系,即 RF和 RF′,之间通过映射(fp, fk, fc)。也就是说,我们将密钥属性和密文属性的映射交换为其对偶谓词。这一观察确保了只需证明KP情况下的嵌入关系,其对偶情况CP情况的嵌入关系即可自动获得。不失一般性,本文将仅处理KP情况。

2.4 范围属性的高效编码

我们采用经典的线段树方法,该方法源于 1977[13],,可高效地表示范围5。施等人首次将该方法应用于ABE的场景中[36](其中提出了一个针对与门的ABE方案)。

我们首先描述一些符号表示。设 Tn为完全二叉树,其叶子节点对应于[1, n]中的每个索引。设 Sn为 Tn中所有节点的集合,这些节点以系统化的方式被标记。设 Dn:{[u, v] | 1 ≤ u ≤ v ≤ n}。对于节点w ∈ Sn,令parent(w)表示其在 Tn中的父节点。考虑节点 w, y, z ∈ Sn;若z位于从 w到根节点的路径上(包含 w),则称 z是 w的祖先;若y位于从 w远离根节点的路径上(包含 w),则称 y是 w的后代。对于任意范围 R ∈ Dn,若节点 w ∈ Sn的所有后代叶子节点均属于 R,则称 w ∈ Sn为 w ∈的覆盖节点,记作Rcover( w)。设 2Sn为 Sn所有子集构成的集合。

我们定义两个编码函数:
- 范围编码 rangeEnc: Dn → 2Sn。对于 R ∈ Dn,定义
rangeEnc(R):={ w ∈ Sn | w ∈ cover(R), parent(w) ∈ cover(R)}.
- 点编码 pointEnc : [1, n] → 2Sn。对于 x ∈[1, n],将pointEnc(x)定义为 x在 Tn中的所有祖先的集合。

引理 2[13,36] 。对于 x ∈[1, n], R ∈ Dn,
|rangeEnc(R)∩ pointEnc(x)| ={1 if x ∈ R 0 if x ∈ R .
此外,存在一种高效算法,该算法以 x, R(其中 x ∈ R)作为输入,并输出交点 z ∈ rangeEnc(R)∩ pointEnc(x)。

引理 3[13,36] 。对于任意 R ∈ Dn,我们有 |rangeEnc(R)| ≤ 2log n −2。对于任意 x ∈[1, n],我们有 |pointEnc(x)| = log n+ 1。

由于 6 ∈[2, 8],我们有rangeEnc([2, 8]) ∩ pointEnc(6)非空:节点编号14位于交集中。

我们指出,本文中的分段 tree方法不应与Goyal原始ABE中用于表达布尔公式的另一种完全不同的基于 tree的方法相混淆。

3 新谓词的定义

单调跨度程序上基于集合交集的KP‐ABE(ABE‐SI) 。设 A为属性名称的全集。对于每个属性名称 a ∈ A,令 Ua为可与属性名称 a相关联的属性值的全集。令所有名称-值对的集合为 X:{(a, x) | a ∈ A, x ∈ Ua}。

我们还将把一个值集合与属性关联起来,并将其大小限制为参数 t。我们将属性名称及其值集合的配对称为名称-集合对:其形式为(a, S),其中 a ∈ A和 S ∈(Ua ≤t):={ U | U ⊆ Ua, |U| ≤ t}。所有名称‐集合对(分别地,所有属性名称为 a的名称‐集合对)的集合 P(分别地, Pa)表示为
P:={(a, S) ∣ a ∈ A, S ∈(Ua ≤ t)}, Pa:={(a, S) ∣ S ∈(Ua ≤ t)}.

  • 参数 由整数 N、所有名称‐值¯ ¯对的集合 X以及边界 t指定。可选地,我们可以为m, k, |T| 指定一些边界 m¯, k, ,如下所述。
  • 密钥属性 。它由一个单调跨度程序 A=(A, π)指定,其中A是某个 m, k ∈ N下的Z m×k N中的矩阵,且 π是一个映射 π:[1, m] → P。我们记作 π(i)=(πname(i)πset(i))。
  • 密文属性 。它由一组具有不同名称的名称‐集合对指定:其形式为 T={(ai, Si) ∈ Pa i | i ∈[1, ]},其中 ∈ N 且 a1,…, a ∈ A互不相同。
  • 评估 。我们说(A, π)接受 T,如果1:=(1, 0,…,0)属于子矩阵 A|T的行空间,其中 A通过取所有如下所示的行 i ˜构成。解析名称集对π T ˜ i= a S a S ()(,)。然后,在中找到一对(,)使得 S ∩ S = ∅成立。如果存在这样的一对,则将第i行Ai i加入到 A|T中。即,
    R KP-ABE-SI ((A, π), T)= 1 ⇐⇒
    1 ∈ span{Ai ∣ ∣ ∣ ∃(πname(i), S˜) ∈ T s.t. πset(i)∩ S˜ = ∅}.

用于范围成员资格上单调跨度程序的KP‐ABE(ABE‐RM) 。设 A为属性名称的全域。对于每个 a ∈ A,令mina,maxa ∈ Z指定可与属性名称 a关联的最小值和最大值。其范围全
域因此为 Wa:={[u, v] | mina ≤ u ≤ v ≤maxa}。所有名称-范围对的集合 R 以及所有名称-值对的集合 V
R:={(a, R) | a ∈ A, R ∈ Wa}, V:={(a, x) | a ∈ A, x ∈[mina, maxa]}
分别。设Ra:={(a, R) | R ∈ Wa}; Va:={(a, x) | x ∈[mina,maxa]}。

为简便起见且不失一般性,我们假设对所有 a ∈ A均有mina= 1(这可以通过简单地对所有值进行偏移来实现)。

我们可以定义两种类型的ABE‐RM。对于第一种类型,范围在策略中指定(针对密钥属性),而点(值)在属性集中指定(针对密文属性)。对于第二种类型,范围和值的角色互换。本文将详细描述第一种类型,而第二种类型可类似地定义,其细节留待完整版本阐述。

(KP‐ABE‐RM 类型1:策略中的范围,属性中的值)
- 参数 。由整数 N和所有¯ ¯名称‐值对的集合 V 指定。可选地,通常情况下,我们可以为 m, k, |T| 指定一些边界 m¯, k, ,如下所述。
- 密钥属性 。它由一个单调跨度程序 A=(A, π)指定,其中A是某个 m, k ∈ N下的Z m×k N中的矩阵,且 π是一个映射 π:[1, m] → R。我们记作 π(i)=(πname(i)π范围(i))。
- 密文属性 。它由一组具有不同名称的名称‐值对指定:其形式为 T={(ai, xi) ∈ Vai | i ∈[1, ]},其中 ∈ N和互不相同的 a1,…, a ∈ A。
- 评估 。我们称(A, π)接受 T,如果1:=(1, 0,…,0)属于子矩阵 A|T的行空间,其中 A通过选取所有如下形式的行 i构成。解析名称‐范围对 π(i)=(a, R)。然后,在 T中寻找一对(a, x),使得 x ∈ R成立。若存在这样的一对,则将行 i加入到 A|T中。即
RKP-ABE-RM1((A, π), T)= 1 ⇐⇒
1 ∈ span{ Ai | ∃(πname(i), x) ∈ T s.t. x ∈ πrange(i)}.

4 通用构造

4.1 从ABE到ABE‐SI

在本节中,我们证明了普通的KP‐ABE可推出KP‐ABE‐SI。转换方法如下。

  • 映射参数 。对于KP‐ABE‐SI的名称‐值域 X,令 U为KP‐ABE的一个域,使得存在一个可高效计算的单射函数 H: X → U。我们将fp: (N, X, t, m¯, k, ) →(N, U, m¯′, k′, ′)进行映射,其具体确定方式将在下文说明。
  • 密钥属性映射 。考虑一个用于KP‐ABE‐SI的单调跨度程序 A=(A, π),其中 A ∈ Zm×k N 和 π:[1, m] → P。我们进行映射
    fk: A=(A, π) → A′=(A′, π′)
    其中 A′是 Zm ′×k N中的一个矩阵, π′是一个映射 π′:[1, m′] → U,定义如下。
    1. 对于每个 i ∈[1, m],解析名称集对 π(i)=(πname(i) πset(i)),并以某种字典序解析集合 πset(i)={xi,1,…, xi,ki},其中我们记 ki:= |πset(i)|。
    2. 我们通过一对索引(i, j)对 A′的行进行索引,范围为
    (1, 1),…,(1, k1),…,(m, 1),…,(m, km).
    因此, A′的行数为 m′= k1+ ···+ km,且行索引(i, j)对应于行号num(i, j): = k1+ ···+ ki−1+ j。
    3. 对于每个 i ∈[1, m] 和每个 j ∈[1, ki],我们定义
    A′ num(i,j)= Ai, π′(num(i, j))= H(πname(i), xi,j). (5)
    特别地,我们定义 A′的行号num(i, j)为 Ai,对所有 j ∈[1, ki]. 6均相同。
  • 密文属性映射 。考虑一组用于KP‐ABE‐SI的名称‐集合对, T={(az, Sz) ∈ Paz | z ∈[1, ]}。我们进行映射
    fc: T={(az, Sz) ∈ Paz | z ∈[1, ]} → S′={ H(az, x) | z ∈[1, ], x ∈ Sz}.
    (6)
    参数合理性说明。我们现在说明如何关联ABE的参数 U, m¯′, k′, ′¯ ¯, 以便能够基于这些参数构造具有参数 X, t, m¯, k, 的ABE‐SI。
  • 如果我们允许U={0, 1}∗(大域ABE),那么我们就可以处理任何 X,因为对于任意 X,都存在一个单射函数 H: X → U。
  • 如果我们只允许多项式大小的 U(小域ABE),那么我们也要求A (属性名称域)为多项式大小,对于每个 a ∈ A (属性值域)也为多项式大小,以便 |X|(根据定义最多为 |A|·maxa∈A |Ua|)是多项式大小的。然后我们恰好选择这个大小的 U,使得单射函数 H: X → U显然存在。

通过检查,ABE 的边界 m¯′, k′, ′ 与 ABE‐SI 的边界 t, m¯, k, 关系如下。
m¯′ ≥ t m¯, ¯k′ ≥ ¯k, ¯′ ≥ t¯, (7)
事实上,如果我们允许在 m¯′, k′, ′中的ABE具有无界参数,则不等式右侧ABE‐SI的相应参数无需有界。

蕴含 。我们现在为上述转换展示以下引理。从KP‐ABE到KP‐ABE‐SI的蕴含将随后由嵌入引理得出。

引理4 。对于任意单调跨度程序 A=(A, π) 以及针对 KP-ABE-SI 的名称-集合对的集合 T,我们有
RKP-ABE-SI κ (A, T)= 1 ⇐⇒ RKP-ABE fp(κ)(fk(A), fc(T))= 1.

Proof. 考虑定义KP‐ABE‐SI和KP‐ABE中评估的子矩阵:
A|T={Ai ∣ ∣ ∣ ∃(πname(i), S˜) ∈ T s.t. πset(i)∩ S˜ = ∅}, A′|S′={ A′ ι | π′(ι) ∈ S′}
分别为,这里我们从转换中设置 (A′, π′) = fk(A, π) 和 S′= fc(T)。为了证明该定理的结论,只需证明:A|T= A′|S′.

正向方向(证明 A|T ⊆ A′|S′)。假设 Ai ∈ A|T。因此,存在 (πname(i) S) ∈ T,使得 πset(i) ∩ S = ∅。令 z 为该名称集对在 T 中的索引,并令 xi,j 为后一交集中的一个元素;即我们有 (πname(i) S˜)=(az, Sz) 且 xi,j ∈ πset(i) ∩ S˜。然后我们考虑第 ι 行:=num(i, j ) 的 A′。根据公式(5),我们有 A′ ι= Ai 且 π′(ι) = H(πname(i) xi,j )= H(az, xi,j )。但由于 xi,j ∈ S˜= Sz,,并且根据公式(6) 可得 π′(ι) ∈ S′.。因此,由 A ′|S′, 的定义可得 A′ ι= Ai ∈ A ′|S′。至此,正向部分的证明完成。

反向方向(证明 A ′|S′ ⊆ A|T)。假设 A′ ι ∈ A ′|S′。因此,π′(ι) ∈ S′。解析 i, j, 使得 num(i, j) = ι(由于 num 是双射,该值唯一确定)。根据公式(5),我们有 A′ ι= Ai 和 π′(ι) = H(πname(i) xi,j)。由 π′(ι) ∈ S′,结合 H 是单射以及公式(6),可知存在 z ∈[1, ],使得 πname(i) = az , xi,j ∈ Sz , 且 (az , Sz ) ∈ T。由于 xi,j ∈ πset(i) 根据符号说明,我们得到 xi,j ∈ πset(i) ∩ Sz 。换句话说,存在 (πname(i) Sz ) ∈ T,使得 πset(i) ∩ Sz = ∅。但这正是定义 Ai ∈ A|T 的条件。因此, Ai= A′ ι ∈ A|T。证明完毕。

4.2 从 ABE‐SI 到 ABE‐RM1

在本节中,我们证明KP‐ABE‐SI可推出KP‐ABE‐RM。我们将在此展示 ABE‐RM类型1的转换,而第2型的转换可类似地描述,其内容将在完整版本中给出。ABE‐SI到ABE‐RM1的转换如下。

  • 映射参数 。我们将ABE‐RM的参数映射到ABE‐SI的参数¯ ¯ ¯ ¯,通过f p : (N, V, m¯, k, ) →(N, X, t, m¯, k, )实现,定义如下。从名称‐值域 V中解析出名称域 A。对于每个 a ∈ A,也从 V中解析出maxa。7令 na为2的幂,使得 na/2<maxa ≤ na, 从而具有 na个叶子节点的完全二叉树,即 Tna,能够将[1, maxa]作为其叶子节点包含在内。我们将ABE‐SI的 Ua设为该树中所有节点的集合,即 Sna。注意, A和{Ua}a∈A 完全定义了ABE‐SI的名称‐值域 X。我们将在下文稍后说明 t的合理性。
  • 密钥属性映射 。考虑KP‐ABE‐RM1的一个单调跨度程序 A=(A, π),其中 A ∈ Zm×k N 和 π:[1, m] → R。回顾 π(i) 是一个名称‐范围对,我们将其写为 π(i)=(πname(i)πrange(i))。我们进行映射
    fk: A=(A, π) → A′=(A, π′)
    其中我们定义 π′:[1, m] → P,该定义映射
    π′: i →(πname(i), rangeEnc(πrange(i))), (8)
    其中,此处rangeEnc : Dna → 2Sna是树 Tna中的范围编码,其中 a= πname(i)。
  • 密文属性映射 。考虑KP‐ABE‐RM1的一组名称‐值对, T={(az, xz) ∈ Vaz | z ∈[1, ]}。我们进行映射
    fc: T={(az, xz) ∈ Vaz | z ∈[1, ]} →
    T′={(az, pointEnc(xz)) ∈ Paz ∣
    其中,pointEnc : [1, naz] → 2Snaz 是树 Tnaz 中的点编码。

参数合理性 。我们要求 t至少为出现在密钥或密文属性中任何名称‐集合对里集合的最大尺寸。也就是说,令 n:= maxa∈A na,我们要求
t ≥ max{2 log n −2, log n+ 1}, (10)
由于,根据引理3,树中任意范围 R的rangeEnc(R) 的最大尺寸为 2 log n−2,且任意叶节点 x的pointEnc(x) 的尺寸恒为 log n+1。

蕴含 。我们现在为上述转换给出以下引理。从KP‐ABE‐SI到KP‐ABE‐RM的蕴含将由此嵌入引理得出。

引理5 。对于任意单调跨度程序 A=(A, π)以及一组用于KP-ABE-RM1的名称-值对 T,我们有
R KP-ABE-RM1 κ (A, T)= 1 ⇐⇒ R KP-ABE-SI f p (κ) (fk( A), fc(T))= 1.
回想一下,另一方面,为了简便且不失一般性,我们设 mina = 1。

Proof. 考虑定义 KP‐ABE‐RM 和 KP‐ABE‐SI 中评估的子矩阵:
A|T={ Ai | ∃(πname(i), x) ∈ T s.t. x ∈ πrange(i)},
A′|T′={Ai ∣∣∣ ∃(π′name(i), S˜) ∈ T′ s.t. πs′et(i)∩ S˜ = ∅},
分别为,这里我们从转换中设置 (A, π′) = fk(A, π) 和 T′= fc(T)。为了证明该定理的陈述,只需证明:A|T= A′|T′. 但此式成立,因为
A|T={Ai | ∃(πname(i), x) ∈ T s.t. x ∈ πrange(i)}
={Ai | ∃(πname(i), x) ∈ T s.t. rangeEnc(πrange(i))∩ pointEnc(x) = ∅}(11)
={Ai | ∃(πname(i), pointEnc(x)) ∈ T′ s.t. rangeEnc(πrange(i))∩ pointEnc(x) = ∅}(12)
={Ai | ∃(πname(i), S˜) ∈ T′ s.t. rangeEnc(πrange(i))∩ S˜ = ∅} (13)
={Ai | ∃(π′ name(i), S˜) ∈ T′ s.t. π′ set(i)∩ S˜ = ∅}= A′|T′, (14)
其中,等式(11)成立是由于范围/点编码的性质(引理2),而等式(12)来自 T′的定义(等式(9)),等式(13)仅仅是将变量pointEnc(x)重命名为 S,而等式(14)是由于π′的定义(等式(8))。

4.3 从KP‐DSE到ABE‐SI

在本节中,我们说明KP‐DSE蕴含KP‐ABE‐SI。我们将使用以下值/集合编码作为构建模块,这些编码此前已在[2]中隐式使用。

  • 值编码 valueEnc : ZN → AffSp(Z t+1 N)。对于一个值 x ∈ ZN,定义
    valueEnc(x):= cspan
    ⎛ ⎜⎝
    −x −x 2 ··· −x t
    1 1

    1
    ⎞ ⎟⎠.
  • 集合编码 setEnc: (Z≤Nt) → AffSp(Z t+1 N)。对于大小至多为t的集合 S ⊆ ZN, 将setEnc(S)定义为一个0维仿射空间(仅包含一个固定点的仿射空间)
    setEnc(S):={(c0, c1,…, ct) },
    其中cι是多项式 pS(z):= ∏y∈ S(z − y)=c0+ c1z+ ···+ ctz t.中 zι的系数

引理6 。我们有 x ∈ S ⇐⇒ setEnc(S) ∩valueEnc(x) = ∅。

该引理的证明推迟到完整版本中。我们准备描述该转换。

  • 映射参数 。对于KP‐ABE‐SI的名称‐值域 X,设H: X → ZN是一个可高效计算的单射函数。我们将fp:¯ ¯ ¯ ¯(N, X, t, m¯, k, ) →(N, t+ 1, m¯′, k′, ′)进行映射。也就是说,我们为KP‐DSE设置 d= t+ 1。其余参数将在下文稍后指定。
  • 密钥属性映射 。考虑一个用于KP‐ABE‐SI的单调跨度程序 A=(A, π),其中 A ∈ Zm×k N 和 π:[1, m] → P。我们映射
    fk: A=(A, π) → A′=(A′, π′)
    其中 A′ ∈ Zm ′×k N和 π′将[1, m′]中的每一行映射到Zt+1 N中的一个仿射空间, 定义如下。我们以与第4.1节中密钥属性映射的过程1,2完全相同的方式定义行号 num(i, j)。然后,对于 i ∈[1, m], j ∈[1, ki],我们定义
    A′ num(i,j)= Ai, π′(num(i, j))= valueEnc(H(πname(i), xi,j)). (15)
  • 密文属性映射 。考虑用于KP‐ABE‐SI的一组名称‐集合对, T={(az, Sz) ∈ Paz | z ∈[1, ]}。令 S′ z:={ H(az, x) | x ∈ Sz},对于z ∈[1, ]。我们进行映射
    fc: T={(a1, S1),…,(a, S)} → T′={ setEnc(S′ 1),…, setEnc(S′ )}.
    (16)

参数合理性说明 。通过观察,KP‐¯ ¯DSE的其余边界 m¯′, k′, ′可与 ABE‐SI的边界 t, m¯, k, 建立如下关系。
m¯′ ≥ t m¯, ¯k′ ≥ ¯k, ¯′ ≥ ¯. (17)
特别是,如果我们允许在m ¯′, k′, ′中使用具有无界参数的ABE,则上述不等式右侧ABE‐SI的相应参数不必是有界的。

引理7 。对于任意单调跨度程序 A=(A, π) 以及针对 KP-ABE-SI 的名称-集合对的集合 T,我们有
RKP-ABE-SI κ (A, T)= 1 ⇐⇒ RKP-DSE fp( κ)(fk(A), fc(T))= 1.
证明过程见完整版本,其思路与引理4的证明类似(将ABE转换为ABE‐SI)。直观上, 这是因为我们通过值/集合编码替换了值和集合,但它们之间的关系仍由引理6保持。

5 实例化与性能

在本节中,我们描述通过将通用构造方法应用于文献中的现有方案而得到的新型基于范围成员关系的属性加密方案的性能。

通过ABE到ABE‐RM转换的方案(第4.1+ 4.2节)。我们首先对转换后的 ABE‐RM方案相对于原始ABE方案的性能给出一个一般性观察,如下所述。假设一个ABE方案的尺寸(|PK|, |C|, |SK|)可表示为函数 F(|A|,¯ ¯m, m¯, k, k, , ), 其中我们回顾 m, k是单调跨度程序的尺寸, 是属性集的尺寸,带横线的元素 是其允许的最大值(如果有的话)。那么,具有最大范围大小 n的转换后 ABE‐RM具有以下尺寸
(|PK|, |C|, |SK|)= F(|A|n, O(m log n), O(m¯ log n), k, ¯k, O( log n), O(¯ log n)).
通过检查我们的通用转换和范围/点编码可以发现这一点;特别是,它们源于公式 (7)和(10)。与平凡方案的因子 O(n)相比,我们的转换仅引入了 O(log n)因子。

通过将上述观察应用于文献中的ABE方案,我们在表2和3中分别展示了通过我们的转换方法得到的密钥策略型和密文策略型ABE‐RM方案的性能。我们将它们与第1节所述的通过平凡转换从ABE得到的平凡ABE‐RM方案进行比较。如预期所示,几乎所有通过我们的转换方法得到的ABE‐RM方案仅需 O(log n) 开销(对于密钥和密文大小而言)。只有两个生成的具有 O(1)‐大小密文的 KP‐ABE‐RM方案需要 O(log2 n) 开销(仅针对密钥大小),且仅有一个生成的具有 O(1)‐大小密钥的CP‐ABE‐RM方案需要 O(log2 n) 开销(仅针对密文大小)。相比之下,通过平凡转换得到的ABE‐RM方案在其类型分别为类型1或类型2时,在密钥或密文大小上需要 O(n) 的开销(在某些情况下,还包括公钥大小)。

通过KP‐DSE到ABE‐RM转换的方案(第4.3+ 4.2节)。¯ ¯设 F′(d, m, m¯, k, k, , ) 为大小函数,类似于上述讨论中的定义,但此处我们考虑KP‐DSE方案,并将第一个输入视为d(仿射空间的完整维度)。由公式(17)和(10)可知,通过此转换得到的ABE‐RM方案具有如下大小
(|PK|, |C|, |SK|)= F′(O(log n), O(m log n), O(m¯ log n), k, ¯k, , ¯),
¯,我们注意到对于 , 没有开销膨胀。然后我们将该转换应用于[2,3]的 KP‐DSE和[3,4]的CP‐DSE,并分别得到表2和表3最后一行所示的效率。所得到的KP‐ABE‐RM的密钥大小为 O(mlog2 n),这是因为[2,3]的KP‐DSE在每个仿射空间中需要 d= O(log n)个群元素(而一个密钥中有 m′=O(mlog n)个空间)。相比之下,密文CT的大小仅为 O(),与 n无关。这是因为[2,3]的 KP‐DSE在每个仿射空间中仅需 O(1)个群元素(而一个密文中有 个空间)。由[3,4],的CP‐DSE构造的CP‐ABE‐RM情况类似。

方案 类型 |PK| |C| |SK| 安全性 假设
GPSW[22]+平凡的 1 O(¯) O(¯) O(¯) O(¯) O(¯)
GPSW[22]+平凡的 2 O(¯n) O(¯n) O(¯n) O(¯n) O(¯n)
GPSW[22]+our Sects. 4.1和4.2 1, 2 O(¯ logn) O(¯ logn) O(¯ logn) O(¯ logn) O(¯ logn)
LOSTW[27]+trivial 1 O(| O(| O(| A| n)
LOSTW[27]+平凡 2 O(| O(| O(| A| n)
LOSTW[27]+our Sects. 4.1 and 4.2 1, 2 O(| O(| O(| A| n)
ALP[11]+trivial 1 O(¯) O(¯) O(¯) O(¯) O(¯)
ALP[11]+平凡 2 O(¯n) O(¯n) O(¯n) O(¯n) O(¯n)
ALP[11]+our Sects. 4.1 and 4.2 1,2 O(¯ logn) O(¯ logn) O(¯ logn) O(¯ logn) O(¯ logn)
Att1[2,3]+ trivial 1 O(¯) O(¯) O(¯) O(¯) O(¯)
Att1[2,3]+ trivial 2 O(¯n) O(¯n) O(¯n) O(¯n) O(¯n)
Att1[2]+our Sects. 4.1和4.2 1, 2 O(¯ logn) O(¯ logn) O(¯ logn) O(¯ logn) O(¯ logn)
RW[35]+平凡 1 O(1) O(1) O(1) O(1) O(1)
RW[35]+平凡 2 O(1) O(1) O(1) O(1) O(1)
RW[35]+our Sects. 4.1 and 4.2 1, 2 O(1) O(1) O(1) O(1) O(1)
Att2[2,3]+平凡 1 O(1) O(1) O(1) O(1) O(1)
Att2[2,3]+平凡 2 O(1) O(1) O(1) O(1) O(1)
Att2[2,3]+our Sects. 4.1和4.2 1, 2 O(1) O(1) O(1) O(1) O(1)
Att3[2,3]+our Sects. 4.3和4.2 1, 2 O(logn) O(logn) O(logn) O(logn) O(logn)
方案 类型 |公钥| |C| |SK| 安全性 假设
BSW[14]+trivial 1 O(1) O(1) O(1) O(1) O(1)
BSW[14]+平凡 2 O(1) O(1) O(1) O(1) O(1)
BSW[14]+our Sects. 4.1 and 4.2 1,2 O(1) O(1) O(1) O(1) O(1)
Wat[38]+trivial 1 O(| O(| A| A| n)
Wat[38]+trivial 2 O(| O(| A| A| n)
Wat[38]+our Sects. 4.1和4.2 1,2 O(| O(| A| A| n)
RW[35]+trivial 1 O(1) O(1) O(1) O(1) O(1)
RW[35]+平凡 2 O(1) O(1) O(1) O(1) O(1)
RW[35]+our Sects. 4.1 and 4.2 1, 2 O(1) O(1) O(1) O(1) O(1)
LOSTW[27]+平凡 1 O(| O(| A| A| n)
LOSTW[27]+平凡 2 O(| O(| A| A| n)
LOSTW[27]+our Sects. 4.1 and 4.2 1, 2 O(| O(| A| A| n)
AY1[3,4]+trivial 1 O( ¯ ) O( ¯ ) O( ¯ ) O( ¯ ) O( ¯ )
属性Y1[3,4]+平凡 2 O( ¯ n) O( ¯ n) O( ¯ n) O( ¯ n) O( ¯ n)
AY1[3,4]+our Sects. 4.1 and 4.2 1, 2 O( ¯ logn) O( ¯ logn) O( ¯ logn) O( ¯ logn) O( ¯ logn)
属性Y2[ 3,4 ] +trivial 1 O(1) O(1) O(1) O(1) O(1)
属性Y2[3,4]+平凡 2 O(1) O(1) O(1) O(1) O(1)
AY2[3,4]+our Sects. 4.1和4.2 1, 2 O(1) O(1) O(1) O(1) O
六自由度机械臂ANN人工神经网络设计:正向逆向运动学求解、正向动力学控制、拉格朗日-欧拉法推导逆向动力学方程(Matlab代码实现)内容概要:本文档围绕六自由度机械臂的ANN人工神经网络设计展开,详细介绍了正向与逆向运动学求解、正向动力学控制以及基于拉格朗日-欧拉法推导逆向动力学方程的理论与Matlab代码实现过程。文档还涵盖了PINN物理信息神经网络在微分方程求解、主动噪声控制、天线分析、电动汽车调度、储能优化等多个工程与科研领域的应用案例,并提供了丰富的Matlab/Simulink仿真资源和技术支持方向,体现了其在多学科交叉仿真与优化中的综合性价值。; 适合人群:具备一定Matlab编程基础,从事机器人控制、自动化、智能制造、电力系统或相关工程领域研究的科研人员、研究生及工程师。; 使用场景及目标:①掌握六自由度机械臂的运动学与动力学建模方法;②学习人工神经网络在复杂非线性系统控制中的应用;③借助Matlab实现动力学方程推导与仿真验证;④拓展至路径规划、优化调度、信号处理等相关课题的研究与复现。; 阅读建议:建议按目录顺序系统学习,重点关注机械臂建模与神经网络控制部分的代码实现,结合提供的网盘资源进行实践操作,并参考文中列举的优化算法与仿真方法拓展自身研究思路。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值