层级有序访问结构的多密钥共享方案
摘要
Dileep 等人 [19] 提出的密钥共享方案采用了现有访问结构中所缺失的层级有序访问结构。在其方案中,通过在除第一层级外的所有层级添加虚拟参与者,实现了秘密的顺序重构。本文提出了一种针对层级有序访问结构(LOAS)的顺序秘密共享方案的改进方案 [19],该方案利用二次剩余和离散对数问题的概念,将多个密钥分发至多个层级,每个层级对应一个层级。该方法包含在 m 层级中分发秘密,每个秘密对应一个层级。秘密的分发基于二次剩余概念以及离散对数问题。秘密的重构过程要求:各层级的参与者只有在获得其紧邻的较高层级的权限后,才能独立地恢复各自层级的秘密。此外,在所有层级均加入了验证阶段,以确保在存在作弊者的情况下份额的正确性。本文还讨论了所提密钥共享方案与现有密钥共享方案的比较、方案的时间复杂度以及在被动敌手模型下的安全分析。
关键词 :分层 · Compartmented · Sequential 二次剩余 · Discrete 对数问题
1 引言
秘密共享是一种在一组参与者之间共享秘密的方法,即每个参与者获得该秘密的一个份额或部分。只有当授权参与者将其份额合并时,才能重构秘密;仅凭单个份额无法恢复秘密。理想性和完美性分别是衡量秘密共享方案在效率和安全性方面所必需的特性。
如果任何未在定义的访问结构中的参与者子集(即未经授权的子集)无法确定秘密,则称该密钥共享方案是完美的。
关于该秘密的任何信息。如果每个参与者恰好收到一个份额,并且秘密和份额的定义域相同,则称该密钥共享方案是理想的。
沙米尔 [1] 和布莱克利 [2] 是最早提出秘密共享的学者,其中沙米尔使用了标准的拉格朗日多项式插值,而布莱克利则使用线性射影几何进行构造。
定义1 (访问结构)
设 $U={U_1,\ldots,U_n}$ 为一组 $n$ 参与者。$U$ 的非空子集的集合 $\Gamma \subseteq 2^U$ 若满足:对任意 $A, B \subseteq U$,$A \in \Gamma$ 且 $A \subseteq B$ 蕴含 $B \in \Gamma$,则称其为单调的。$U$ 上的访问结构 $\Gamma$ 是指一个具有单调性的集合 $\Gamma \subseteq 2^U$。$\Gamma$ 中的集合称为授权集合,不在 $\Gamma$ 中的集合称为非授权集合。
文献中提出了许多访问结构。其中一些包括广义访问结构、$(t, n)$ 访问结构以及多部分访问结构。阈值 $(t, n)$ 访问结构是一类重要的访问结构,包含 $n$ 个股东,其中任何 $t$ 个或更多参与者构成的集合为授权集合。少于 $t$ 个参与者属于非授权集合,无法重构秘密。多部分访问结构可进一步分为分层型和分隔型访问结构。分层型访问结构又可分为析取型和合取型访问结构。
西蒙斯 [3] 首次提出了析取型多级秘密共享方案。
定义2. 析取型分层访问结构[7]
是一种多部分访问结构,其中每个层级 $U_i$ 都关联一个阈值 $t_i$, $1 \leq i \leq m$,并且当存在某个 $i$,使得至少有 $t_i$ 个股东均属于小于或等于 $L_i$ 的层级时,秘密可以被重构。数学上,
$$
\Gamma={V \subseteq U: |V \cap(\cup_{j=1}^{i}U_j)| \geq t_i, \text{ for some } i \in{1, 2,\cdots, m}}
$$
其中 $U$ 表示参与者集合。
塔萨[4]提出了一种合取分层密钥共享方案,该方案是析取分层密钥共享方案的一种变体。
定义3. 合取型分层访问结构[7]
是一种多部分访问结构,其中每个层级 $U_i$ 都对应一个阈值 $t_i$ (对于 $1 \leq i \leq m$),并且当对于每一个 $i$,都有至少 $t_i$ 个与小于或等于 $U_i$ 的层级相关联的股东时,秘密才能被重构。数学上,
$$
\Gamma={V \subseteq U: |V \cap(\cup_{j=1}^{i}U_j)| \geq t_i, \text{ for every } i \in{1, 2,\cdots, m}}
$$
其中 $U$ 表示参与者集合。
分隔型访问结构 $\Gamma$ 定义如下。
定义4 分隔型访问结构[7]
是一种多部分访问结构,其中每个分隔对应一个阈值 $t_i$,$1 \leq i \leq m$,且只有当对于每个 $i$,来自 $U_i$ 的股东数量至少为 $t_i$,并且所有分隔中的参与者总数至少为 $t_0$ 时,才能实现秘密重构。从数学上讲,
$$
\Gamma={V \subseteq U: |V \cap U_i| \geq t_i, \text{ for every } i \in{1, 2,\cdots, m} \text{ and } |V| \geq t_0}
$$
其中 $U$ 表示参与者集合。
所提出的方案可应用于由不同部门组成的组织等场景,其中每个部门都有一个秘密,要重建某个特定部门的秘密时,必须获得其直接上级部门的许可。
一个简单的应用场景是银行场景,其中经理、副经理、出纳和职员处于不同的权限级别。职员在执行任何操作时,不需要征得经理或副经理的许可,但必须获得其直接上级官员出纳的许可。为了满足此类需求,Dileep 等人提出了层级有序访问结构 [19]。他们还给出了一个实现该访问结构的密钥共享方案。
本文中,我们为此访问结构提出了另一种方案。我们的方案利用了剩余类的概念以及著名的离散对数问题。
1.1 相关工作
塔萨提出了一种基于伯克霍夫插值的理想密钥共享方案。该方案的构造在[4]中给出。随后,塔萨和丁提出了针对多部分访问结构(如分层和分隔结构)的理想密钥共享方案。这些构造在[5]中描述,基于二元插值。这些方案存在一些缺点,例如需要大有限域,或对参与者分配的身份有所限制,或方案仅为概率意义上的完美。若存在未授权参与者集合能够恢复秘密,或授权参与者集合以一定概率无法恢复秘密,则称该方案为概率意义上的完美。
Tentu等人基于纠错码提出了计算上完美的合取与析取密钥共享方案[7,8]。
西蒙斯[3]引入了分隔型密钥共享的概念,他考虑了在分隔型和多级访问结构中的密钥共享。戈多西提出了一种方案[6],该方案通过两次应用Shamir密钥共享方案来实现分隔型访问结构:第一次得到部分密钥,第二次将它们组合成所需的秘密。该论文详细描述了两种情况:全局阈值等于所有局部阈值之和,以及全局阈值大于所有局部阈值之和。
1994年,何和道森提出了一种使用单向函数的多阶段密钥共享方案来共享多个秘密。公移技术
用于获取真实的影子,并以预定义的方式逐阶段恢复密钥,通过连续应用单向函数来实现。在此方案中,分发者公布 $pn$ 个公开值。Harn 提出了一种替代方案[13],将公开值的数量减少至 $p(n - t)$。何和道森以及Harns提出的这两个方案均声称具有多用途性。但后来张等人在[14]中证明它们并非多用途,因为分发者无法按预定顺序恢复密钥。为了消除这些缺点,张改进了何和道森的方案,该方案使用单向函数[14]。Bidyapati 提出了[15],其中多个密钥在参与者之间共享。一种基于YCH方案并利用离散对数难题的可实际验证的多阶段密钥共享方案已在[16]中提出。我们在所提出的方案中使用了其中一些概念。
Mehrdad Nojoumian 提出了一种新的分层顺序秘密共享方案[18],该方案不同于现有的分层密钥共享方案。
1.2 动机与贡献
所有现有的实现分层访问结构的方案都涉及在不同权限级别的参与者之间共享单一秘密。此外,这些方案中并未引入层级间的顺序概念。然而,某些应用场景可能需要层级间的顺序。
Dileep 等人已在[19]中提出了一种层级有序访问结构,该结构针对某些应用中所需的顺序性,不同于现有文献中的访问结构。他们还给出了一个实现该层级有序访问结构的密钥共享方案[18,19]。本文中,我们提出了另一个实现该层级有序访问结构的方案。本方案基于二次剩余和离散对数问题的概念。该方案适用于将多密钥分发给多个层级的情况,每个层级对应一个密钥。重构某一特定层级秘密需要其紧邻的较高层级的权限(在密钥恢复过程中强制实施排序概念)。在我们的方案中,还在每一层级添加了验证阶段,以检查股东在重构过程中提交的份额是否真实有效。
论文结构 :本文其余部分组织如下:第2节介绍构造中使用的一些预备知识。第3节提出我们所提出的层级有序秘密共享方案。该方案的比较与安全分析分别在第4和5节中给出。第6节讨论所提出方案的结论。
2 预备知识
离散对数问题:离散对数问题被广泛应用于密码学领域的各种应用中。由于其计算上的困难性,该问题具有重要意义。许多密码系统的安全性都基于离散对数问题的计算困难性。
定义5.
给定 $a$ 和 $g$,存在 $G$,其中 $G$ 是一个乘法群 $G$,寻找一个整数 $x$,如果存在的话,使得 $g^x= a$。数 $x$ 是以 $g$ 为底的 $a$ 的离散对数,也可写作 $x= \log_g(a)$。
二次剩余:若存在 $b \in \mathbb{Z}$ 使得同余式 $b^2 \equiv a \mod n$ 成立,则称整数 $a \in \mathbb{Z}$ 是模 $n$ 的二次剩余,即 $a$ 是模 $n$ 的完美平方。若不存在满足上述同余式的 $b$,则称之为非二次剩余。
计算一个整数的平方根通常是一个困难的问题。但如果该整数来自一个有限域,则可以按如下方式计算。
定义6。
有限域 $\mathbb{F}_P$ 中二次剩余的平方根可以在多项式时间内计算。
给定 $a$ 和 $P$,其中 $a$ 是模 $P$ 的二次剩余,且 $P$ 是一个素数,满足 $P \equiv 3 \mod 4$,则 $\sqrt{a}= a^{\frac{P+1}{4}}$。
$\sqrt{a}$ 可通过公式找到 $a^{\frac{P+1}{4}}$。
密钥共享方案[1]最初由沙米尔提出。该方案基于拉格朗日插值。在此方案中,分发者将秘密 $S$ 分割为 $n$ 份额,使得至少任意 $t$ 个参与者(授权参与者集合)能够恢复秘密 $S$,而少于 $t$ 个参与者(未授权的参与者集合)则永远无法恢复秘密 $S$。
2.1 层级有序访问结构
Dileep 等人在[19]中提出了一种新的访问结构,该结构不同于现有的多部分和多阶段访问结构。LOAS 引入了现有密钥共享方案所缺失的排序概念。
定义7.
设 $U$ 为 $n$ 个参与者的集合,并设 $U_1, U_2,\cdots U_m$ 是集合 $U$ 的一个划分。再设 $b_i$ 是一个布尔变量,我们称其为与 $i$th 层级 $U_i$, $1 \leq i \leq m$ 相关的激活索引。
递归地定义 $S_i$ 为对应于 $i$th 层级的授权集合。
- $S_i \subseteq U_i$ 和 $|S_i| \geq t_i$,
- 存在一个激活索引为真(T)的授权集合 $(S_{i-1})$,其激活索引 $(b_{i-1})$ 为真(T),其中 $b_0= T$ 和 $S_0= \emptyset$
Dileep 等人 [19] 提出了一种密钥共享方案,该方案实现了这种访问结构,其中参与者被划分为不同权限级别,每个层级被分配一个部分秘密 $s_i$ ($1 \leq i \leq m$)。主秘密即为最后一级的部分秘密,也就是 $s_m$。除第一级外,每一级都包含两个部分:第一部分包含第 $i$ 级的参与者集合,第二部分包含第 $i$ 级的虚拟参与者。在除第一级以外的所有层级中,采用沙米尔的 $(t, n)$ 密钥共享方案将部分密钥分发给第一部分中的参与者集合,并将紧邻下一级的部分秘密分配给虚拟参与者。
位于第二部分的虚拟参与者。对于第一层级的参与者,采用沙米尔的 $(t, n)$ 密钥共享方案来分发部分秘密 $s_1$。在每一层级,只有当下一层级的参与者首先重构出他们的部分秘密后,该层级的授权参与者才能恢复其部分密钥。为了重构主秘密,必须按照指定的顺序恢复部分密钥,该顺序通过在除最后一层外的每一层级添加一个虚拟参与者来强制执行,该虚拟参与者的份额即为其紧邻下一层级的部分秘密。
我们正在提出另一种基于二次剩余概念和离散对数问题实现访问结构的方案。
3 所提出的方案
3.1 概述
分发者在模 4 意义下从 $\mathbb{F} P$ 中选择 $m$ 个密钥 $s_1,\cdots, s_m$,每个层级各一个。然后,分发者利用二次剩余概念和离散对数问题,由上述原始密钥计算出部分密钥,并通过沙米尔的 $(t, n)$ 密钥共享方案将每个部分密钥分别共享给对应的层级。为了重构某一特定层级 $i$ 的密钥,需要其紧邻的较高层级即 $i-1$ 级的授权参与者集合求出 $s’ {i-1}$,并将该结果作为权限传递给第 $i$ 级,以便用于恢复第 $i$ 级的密钥。若没有其紧邻较高层级的协作,任何层级都无法重构自身的密钥。
下文给出了该方案的详细信息,该方案将 $n$ 名参与者划分为 $m$ 个层级,其中 $U_i$ 表示第 $i$ 层级的参与者($i \in (1, m)$),$n_i$ 表示该特定层级中的参与者数量。为各个层级分配了阈值 $t_i$ 和 $1 \leq i \leq m$,并从 $\mathbb{F}_P$ 中选取 $m$ 个密钥,其中 $P$ 是一个满足 $P \equiv 3 \mod 4$ 的素数。
3.2 初始化
设 $U={P_{ij}|1 \leq i \leq m, 1 \leq j \leq n_i}$(其中 $i$ 为层级编号,$j$ 为该层级中的参与者编号)
$n_i$ 是第 $i$ 层级的参与者数量,$R$ 是层级的数量。设 $L_1, L_2, …, L_R$ 为 $R$ 个层级。设 $t_1, t_2, …, t_R$ 为对应于这 $R$ 个层级的阈值集合。令 $U_i$ 表示第 $i$ 层级的参与者集合,$i=1,2,…,R$。初始化阶段分为 3 个步骤。
分发者:
- 从素数 $\mathbb{F}_p$ 中选取密钥 $s_1,\cdots, s_m$,其中 $P$ 为素数且满足 $P \equiv 3 \mod 4$。
- 选择两个素数 $p$ 和 $q$,$N= p * q$。$p$ 和 $q$ 都应足够大,以确保无人能高效分解 $N$。
- 从区间 $[N^{1/2}, N]$ 中随机选择一个整数 $g$,使得 $g$ 与 $p$ 和 $q$ 互素。公布 ${g, N}$。
参与者:
- 参与者集合 $U$ 中的每个参与者 $P_{ij}$ 在区间 $U_i$ 中随机选择一个整数 $s_{ij}$ 作为自己的秘密影子(份额),其中 $i= 1,\cdots, m$,且 $j=1,\cdots, n_i$,并计算 $R_{ij}= g^{s_{ij}} \mod N$。
- 然后,$P_{ij}$ 将 $R_{ij}$ 和其身份编号 $ID_{ij}$ 提供给分发者 $D$。
分发者:
- 分发者必须确保每个层级中的 $R_{ij}$ 是唯一的,否则要求参与者选择不同的秘密影子(份额),直到相应层级中的 $R_{ij}$ 不同为止,适用于 $i= 1,\cdots, m$ 和 $j= 1, 2,\cdots, n_i$。公布 ${ID_{ij}, R_{ij}}$。
3.3 分发
分发者对所有层级执行以下步骤。
- 分发者 $D$ 从区间 $[2, N]$ 中随机选择一个整数 $s_0$,使得 $s_0$ 与 $(p - 1)$ 和 $(q - 1)$ 互素。然后分发者 $D$ 计算 $f$,使得 $s_0 * f= 1 \mod \Phi(N)$,其中 $\Phi(N)$ 是欧拉 $\varphi$ 函数。
- 计算 $R_0= g^{s_0} \mod N$ 和 $I_{ij}= R_{ij}^{s_0} \mod N$,其中 $j= 1,\cdots, n_i$ 和 $i= 1,\cdots, m$。
- 公布 ${R_0, f}$。
- 构造一个 $(t_i -1)$ 次多项式 $h_i(x) = S_i + a_{i1}x^1 + a_{i2}x^2 + \cdots + a_{it_{i-1}} x^{t_i-1} \mod P$,其中 $0 < S_i, a_{i1}, a_{i2},\cdots, a_{it_{i-1}} < P$。
(1) 对于 $i= 1$, $S_i= s_1$
- 计算 $y_{1j}= h_1(I_{1j}) \mod P$,其中 $j= 1,\cdots, n_1$,并通过安全信道将份额 $(y_{1j})$ 分发给第 $j= 1,\cdots, n_1$ 层级的参与者。
- 求 $s’_1= g^{S_i} \mod P$。
(2) 对于 $i= 2, m$。
- 找到 $s_i * s’_{i-1}$,
-
如果 $s_i * s’
{i-1}$ 是 $\mathbb{F}_P$ 中的二次剩余,则求部分秘密 $S_i=\sqrt{s_i * s’
{i-1}}$ (a)
计算 $y_{ij}= h_i(I_{ij}) \mod P$,其中 $j= 1,\cdots, n_i$,并将 $(y_{ij})$ 安全地分发给 $j= 1,\cdots, n_i$ 层级的参与者。 -
如果 $s_i * s’
{i-1}$ 不是二次剩余,则从 $\mathbb{F}_P$ 中选择一个随机数 $R$,使得 $s_i * s’
{i-1} * R$ 是模 $P$ 的二次剩余。
(a) 对于 $S_i= R$,计算 $r_{ij} = h_i(I_{ij}) \mod P$,其中 $j= 1,\cdots, n_i$,并将 $(r_{ij})$ 安全地分发给层级编号为 $j= 1,\cdots, n_i$ 的参与者。
(b) 对于 $S_i= \sqrt{s_i * s’ {i-1} * R}$,计算 $y {ij} = h_i(I_{ij}) \mod P$,其中 $j=1,\cdots, n_i$,并将 $(y_{ij})$ 安全地分发给层级编号为 $j= 1,\cdots, n_i$ 的参与者。
- 对于 $i= 2, m-1$,求 $s’_i = g^{S_i} \mod P$。
3.4 验证
- $P_{ij}$ 计算 $I’ {ij}= R {ij}^{s_0} \mod N$ 以获得份额,其中 $s_{ij}$ 是 $P_{ij}$ 的影子,且 $j= 1, 2,\cdots, n_i$。
- 任何人都可以验证由 $P_{ij}$ 提供的 $I’_{ij}$。
如果 $I’ {ij}^f = R {ij} \mod N$,其中 $j= 1,2,\cdots, n_i$,则 $I’ {ij}$ 成立;否则 $I’ {ij}$ 为假,且 $P_{ij}$ 可能是作弊者。
3.5 重构
参与者执行以下步骤。
-
对于 $i= 1$ 使用拉格朗日多项式插值,$S_i= s_1$ 可以按如下方式恢复。多项式 $h_1(x) \mod P$ 可唯一确定如下:
$$
h_1(x)= \sum_{j=1}^{t_1} y_{ij} \prod_{k=1,k \neq j}^{t_1} \left( \frac{x - I’ {ik}}{I {ij} - I’ {ik}} \right), \quad h_1(x) = S_i + a {i1}x^1 + a_{i2}x^2 + \cdots + a_{it_{i-1}}x^{t_i-1} \mod P。
$$ -
除第1层级外的任何其他层级,必须执行以下操作以恢复 $s_i$。
-
使用拉格朗日多项式插值,可以恢复 $S_i$。
多项式 $h_i(x)$ 模 $P$ 可以按如下方式唯一确定:
$$
h_i(x)= \sum_{j=1}^{t_i} y_{ij} \prod_{k=1,k \neq j}^{t_i} \left( \frac{x - I’ {ik}}{I {ij} - I’ {ik}} \right), \quad h_i(x)= S_i + a {i1}x^1 + a_{i2}x^2 + \cdots + a_{it_{i-1}} x^{t_i-1} \mod P
$$ -
使用拉格朗日多项式插值,可以恢复 $R$。模 $P$ 的多项式 $h_i(x)$ 可唯一地按如下方式求得:
$$
h_i(x)= \sum_{j=1}^{t_i} r_{ij} \prod_{k=1,k \neq j}^{t_i} \left( \frac{x - I’ {ik}}{I {ij} - I’ {ik}} \right), \quad h_i(x)= R + a {i1}x^1 + a_{i2}x^2 + \cdots + a_{it_{i-1}} x^{t_i-1} \mod P.
$$ -
$i -1$ 层级计算 $s’ {i-1}= g^{S {i-1}} \mod P$,并将结果安全传递给层级 $i$,其中 $S_{i-1}$ 通过使用 $(t_{i-1}, n_{i-1})$ 的拉格朗日多项式插值求得。
-
求 $s_i= \frac{S_i^2}{s’_{i-1} \cdot R} \mod P$。
4 与现有分层方案的比较
在现有的分层访问结构中,仅将单一秘密共享给划分为不同权限级别的参与者集合。此外,在秘密重构过程中,层级之间没有引入顺序概念。在我们的模型中,多个不同的秘密被分别共享给处于不同权限级别的参与者,每个秘密对应于相应的层级。每一层级的访问结构设计为:若参与者想要恢复其所在层级的秘密,则需要获得直接更高权限级别的许可。在秘密重构过程中,强制实施了层级间的顺序概念。
5 安全分析
以下我们讨论的安全分析基于以下假设:分发者是诚实的(分发者 $D$ 不参与任何恶意行为),且任意两个相连节点之间的通信信道是安全的,因此信息不会泄露给非认证节点。因此,我们仅在方案中的参与者可能作弊的情况下讨论安全分析。
本方案中使用的符号如下所示:
- $i$:层级的数量。
- $S_i$:层级 $i$ 的部分秘密,该信息为私密信息。
$$
\begin{cases}
S_i = s_1 & i= 1 \
S_i = \sqrt{s_i \cdot s’_{i-1} \cdot R}, & i=2, \ldots, m
\end{cases}
$$
- $P$:公开的素数。
- $g$:也是公开的生成元。
- $s_i$:分组原始秘密。
- $s’_i = g^{S_i} \mod P$
- $R$:随机数。
可能的攻击包括以下几种:
- 未授权的参与者集合试图恢复层级 $i$ 的秘密 $s_i$。
- 紧邻的较低层级的参与者试图获取层级 $i$ 的秘密 $s_i$。
- 紧邻的较高层级的参与者试图获取层级 $i$ 的秘密 $s_i$。
- 较高和较低层级的参与者共同试图恢复层级 $i$ 的秘密 $s_i$。
引理1:
层级 $i$ 的未授权的参与者集合无法恢复秘密 $s_i$。
证明
:
$$
s_i = \frac{S_i^2}{s’_{i-1} \cdot R} \mod P
$$
使用沙米尔的 $(t_i, n_i)$ 门限方案分发部分秘密 $S_i$ 和随机数 $R$。少于 $t_i$ 个参与者无法恢复 $R$ 以及用于恢复 $s_i$ 所必需的部分秘密 $S_i$。因此,未授权的参与者集合无法恢复 $s_i$。
引理2:
某个层级 $i$ 的部分秘密 $S_i$ 无法被低级别参与者获得。
证明 :在层级 $i$,公开值为 $g, P$。
私有值是部分秘密 $S_i$。
$$
s’_i = g^{S_i} \mod P
$$
被计算并传递给层级 $i+1$。因此,$s’_i$ 为层级 $i$ 和 $i+1$ 所知。故位于层级 $i+1$ 的参与者掌握 $s’_i$、$g$、$P$ 的信息。但由 $S_i$ 从 $s’_i$、$g$ 以及 $P$ 恢复,依赖于离散对数问题的困难性,该问题在第2节中已说明。
引理3:
更高级别的参与者无法获得层级 $i$ 的秘密 $s_i$。
证明 :$i -1$ 层级参与者知道 $s’_{i-1}$
$$
s_i = \frac{S_i^2}{s’_{i-1} \cdot R} \mod P
$$
$S_i$ 和 $R$ 对于恢复 $s_i$ 至关重要,而 $s_i$ 只能由 $i$th 层级的参与者通过拉格朗日多项式插值获得。
引理4:
第 $i$ 层级的高级别和低级别参与者无法恢复秘密 $s_i$。
证明
:在层级 $i$,
$$
S_i^2 = s_i \cdot s’
{i-1} \cdot R \mod P
$$
$$
s_i = \frac{S_i^2}{s’
{i-1} \cdot R} \mod P
$$
$i -1$ 层级的参与者知道 $s’_{i-1}$。
$i+1$ 层级的参与者知道 $s’_i = g^{S_i} \mod P$,但由于第2节定义5中所述的离散对数问题,他们无法从 $s’_i, g$ 和 $P$ 得到 $S_i$
由于 $S_i$ 和 $R$ 对恢复 $S_i$ 至关重要,因此较高和较低层级的参与者共同无法恢复 $s_i$。
5.1 理想性与完美性
引理5 : 所提出的方案不是理想的,但它是完美的。
证明 :部分参与者收到的份额为 $r_{ij}$ 以及 $y_{ij}$,因此所提出的方案不是理想的。
在所提出的方案中,在每一层级上,我们都应用沙米尔的 $(t, n)$ 密钥共享方案进行份额分配。在沙米尔的 $(t, n)$ 密钥共享方案中,少于 $t$ 人无法重构秘密。因此,我们的方案也基于沙米尔的完美方案而具有完美性。
6 结论
提出了一种新的密钥共享方案,用于实现层级有序访问结构,其中多个秘密在与各层级相对应的多层级之间进行共享。该方案利用二次剩余和离散对数问题的概念来实现秘密的共享。在秘密重构过程中,各层级之间引入了排序概念。每一级的秘密重构都必须在其紧邻的较高层级的协作下才能完成。在每一级中均增加了验证阶段,以检查参与者在重构阶段提交的份额是否正确。
3108

被折叠的 条评论
为什么被折叠?



