Appearance
基于属性加密
基于身份IBE
- 特点: 和CA相比,没有配置证书链的繁琐
- 缺点: 私钥生成中心KGC掌握所有私钥
Boneh-Franklin IBE
- 选择双线性映射的两个群和映射、随机数、哈希函数:
- 主私钥:
为了简化表达,视作 ,这里假设
- 选择随机数
- 计算
- 选择随机数
- 计算
- 计算
方案流程
IBE-多对私钥 (BF-IBE2)
- 选择双线性映射的两个群和映射、随机数、哈希函数:
- 主私钥:
- 选择随机数
- 选择随机数
- 选择随机数
- 计算
- 选择随机数
这个方案不满足不可区分性
- 假设有
,以及对应密文 - 由于密文
中存在 , 已知 - 同时可根据
导出 - 故而可以构造:
来判断密文是发送给哪个 的
- 假设有
FIBE(Fuzzy IBE)
Fuzzy IBE 是基于属性的加密的一种特殊形式,用户的私钥和密文都与一组属性相关联。只有当用户的属性集合与密文的属性集合满足一定的重叠条件时,用户才能成功解密密文。
以下是基于 Sahai-Waters 方案的构造(阈值
- 选择双线性映射群
阶为素数 ,生成元 - 随机选择主密钥
- 对于属性全集
中的每个属性 ,选择随机数 ,计算 - 公开参数:
- 主私钥:
- 选择双线性映射群
- 输入用户属性集合
( ),可以简单理解为一个 vector<string> - 构造一个
次多项式 ,使得常数项 ,其余系数随机 - 对于每个属性
,计算私钥组件: 其中 将属性映射为 中的元素 - 私钥:
- 输入用户属性集合
- 输入目标属性集合
- 选择随机数
- 计算密文组件(对于每个
): - 计算加密密钥
- 使用
加密消息 (例如 ) - 密文:
- 输入目标属性集合
- 计算属性交集
- 如果
,解密失败 - 选择
的一个子集 ,使得 - 对于
,计算配对: - 利用拉格朗日插值系数
在 处恢复 : - 使用恢复的密钥
解密消息
- 计算属性交集