云数据访问控制基础理论知识总结

双线性映射

存在一个四元组 ( p , G , G T , e ) (p, G, G_T, e) (p,G,GT,e). p是大素数, G , G T G, G_T G,GT是阶为素数p的循环群. 同时满足以下3个条件的映射e: G G G X G G G G T G_T GT, 称为双线性映射.
(1) 双线性: 对 于 ∀ u , v ∈ G , a , b ∈ Z p , 有 e ( u a , v b ) = e ( u , v ) a b 对于\forall u,v \in G, a,b\in Z_p, 有 e(u^a, v^b) = e(u, v)^{ab} u,vG,a,bZp,e(ua,vb)=e(u,v)ab
(2) 非退化性: ∃ g ∈ G , 使 e ( g , g ) 在 G T 中 的 阶 是 p \exist g \in G, 使e(g, g)在G_T中的阶是p gG,使e(g,g)GTp
(3) 可计算性: 对 于 ∀ u , v ∈ G , 都 能 够 计 算 e ( u , v ) 对于\forall u,v \in G, 都能够计算e(u, v) u,vG,e(u,v)

概念解释:
现代密码学的理论知识, 主要解释一下群相关的概念.
循环群: G中存在元素g, 生成的循环子群就是G本身, 称G为循环群. 对于G中任意元素g, 存在循环集 { g , g 2 , . . . , g k } \{g, g^2, ..., g^k \} {g,g2,...,gk}( g k = e g^k = e gk=e)是G的子群, 这个循环集称为G的k阶循环子群.
群的阶: 有限群的元素个数就是群的阶.
阿贝尔群: 满足交换律 a ∗ b = b ∗ a a*b = b*a ab=ba的群称为阿贝尔群. 典型例子就是 Z n = { 0 , 1 , . . . , n − 1 } Z_n = \{0, 1, ..., n - 1\} Zn={0,1,...,n1}模n加法下的n阶的整数集. 所以定义里涉及的 Z p Z_p Zp是模p加法下的p阶整数集.

线性秘密共享方案

假设参与者集合 P = { P 1 , P 2 , . . . , P n } P = \{P_1, P_2, ..., P_n\} P={P1,P2,...,Pn}, 若 Π \Pi Π 满足以下2个条件, 则称为P上的一个线性秘密共享方案(LSSS, Linear Secret Sharing Scheme).
(1) 对于每个参与者所持有的秘密份额都可以构成 Z p Z_p Zp上的向量
(2) 每个LSSS的 Π \Pi Π 都对应一个生成矩阵 M ( l × n ) M(l\times n) M(l×n), 且映射 ρ : { 1 , 2 , . . . , l } → P \rho: \{1,2,...,l\} → P ρ:{1,2,...,l}P 把 M 的每一行映射到参与者 ρ ( i ) \rho(i) ρ(i), ρ \rho ρ是单射函数. 对于向量 v = ( s , y 2 , y 3 , . . . , y n ) \mathbf{v} = (s, y_2, y_3, ..., y_n) v=(s,y2,y3,...,yn), s ∈ Z p s \in Z_p sZp是共享秘密值, y i y_i yi是随机数用来隐藏共享秘密值, 则共享秘密值 s s s l l l个秘密份额是 M v \mathbf{Mv} Mv, 第i个秘密份额表示为 λ i = ( M v ) i \lambda_i = (\mathbf{Mv})_i λi=(Mv)i, 对应分配给 ρ ( i ) \rho(i) ρ(i).

概念解释:
把共享方案 Π \Pi Π, 生成矩阵 M M M, 映射 ρ \rho ρ捆绑起来看作实现一个LSSS的要素, 所做的运算, 相当于把共享秘密值s代入矩阵 M M M和向量 v v v的运算中, s被拆分成了 l l l份(而且是夹带n - 1个随机数成分的值), 然后由映射 ρ \rho ρ分配给 l l l个参与者. 这样就实现了线性秘密共享.

CDH假设

给定三元组 ( g , g a , g b ) ∈ G 3 (g, g^a, g^b) \in G^3 (g,ga,gb)G3, 其中 a , b ∈ Z p ∗ a,b \in Z_p^* a,bZp且未知, 要求计算 g a b g^{ab} gab的值. 设敌手 A \mathcal{A} A成功计算出 g a b g^{ab} gab的概率是 A d v A C D H = ∣ P r [ A ( g a , g b ) = g a b ] ∣ ≤ ε Adv_A^{CDH} = | Pr[\Alpha(g^a, g^b) = g^{ab}] | \leq \varepsilon AdvACDH=Pr[A(ga,gb)=gab]ε. 如果 ε \varepsilon ε是可忽略的, 则称CDH问题是 ε − \varepsilon- ε困难的.

概念解释:
一个经验规律, 数学上还没有严格证明, 这个问题很难解, 但是事实证明确实是计算难解问题, 所以就作为假设进行实践的前提, 如果这个问题被破解, 那依据此假设的理论都会倒塌.

密钥加密密钥树

key encryption key, KEK树是一个完全二叉树.令用户集合 U = { u 1 , u 2 , . . . , u N } U = \{u_1, u_2, ..., u_N\} U={u1,u2,...,uN}, 属性集合 W = { a t t 1 , a t t 2 , . . . , a t t n } W = \{ att_1, att_2, ..., att_n \} W={att1,att2,...,attn}. 设 G i ⊂ U G_i \subset U GiU是拥有属性集合 a t t i att_i atti的一个用户集合, 称为属性群. G i G_i Gi是可以正常访问属性 a t t i att_i atti的访问列表. 令 G = { G 1 , G 2 , . . . , G n } \mathcal{G} = \{ G_1, G_2, ..., G_n \} G={G1,G2,...,Gn}是属性群集合.

概念解释:
属性群 G i G_i Gi就可看作是一个用户集合, 本质是一个集合, 它对应拥有属性 a t t i att_i atti的用户集合. 比如对于用户 u 1 , u 2 , u 3 u_1, u_2, u_3 u1,u2,u3, 分别有属性集合 { a t t 1 , a t t 2 } , { a t t 1 , a t t 2 , a t t 3 } , { a t t 2 , a t t 3 } \{att_1, att_2\}, \{att_1, att_2,att_3 \}, \{att_2, att_3\} {att1,att2},{att1,att2,att3},{att2,att3}, 则 G 1 = { u 1 , u 2 } , G 2 = { u 1 , u 2 , u 3 } , G 3 = { u 2 , u 3 } G_1 = \{u_1, u_2 \}, G_2 = \{u_1, u_2, u_3\}, G_3 = \{u_2, u_3\} G1={u1,u2},G2={u1,u2,u3},G3={u2,u3}.

在这里插入图片描述

数据服务管理者

DSM, data service manager. 负责构建KEK树.
(1) 每个叶子对应一个用户 u k u_k uk, 中间节点 v j v_j vj包含一个随机值 θ j \theta_j θj.
(2) 路径生成算法 P a t h ( u k ) Path(u_k) Path(uk), 找出叶子结点到根节点经过的中间结点.
(3) 最小覆盖集算法 M i n c s ( G i ) Mincs(G_i) Mincs(Gi), 找出可以覆盖属性群 G i G_i Gi中所有用户的最少节点的集合.
(4) 对于任意 P a t h ( u k ) 和 M i n c s ( G i ) Path(u_k)和Mincs(G_i) Path(uk)Mincs(Gi), 路径和最小覆盖集最多一个交点.

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值