一个分级身份基加密方案(HIBE)方案包含五个算法: 系统建立,密钥提取,密钥代理,加密,解密.
系统建立(λ).令λ 为安全参数作为输入,则该算法输出族公钥MPK及族密钥MSK.
密钥提取(MSK;id|1).PKG(private key generator)利用MSK为身份向量ID|1生成私钥SKid|1.
密钥代理(MPK;SKid|l;id).
给定MPK,SKid|l ,id|l 以及一个身份信息id,该算法为深度为l+1 的身份id|l+1 生成私钥,其中id|l+1 是由id 和id|l级联得到.
加密(MPK;M;id|l).输入MPK,id|l以及消息M,加密算法输出一个密文C.
解密(MPK;C;SKid|l).输入MPK,C 以及SKid|l,假如密文是为身份id|l生成的,则输出消息M.
图6.1 给出了HIBE的工作模型.
(www.daowen.com)
图6.1 分级身份基加密方案
HIBE方案的安全定义是通过挑战者和敌手之间的一个安全游戏定义的.在标准的IBE安全模型中,敌手能够适应性选择要攻击的身份向量.一个稍弱的安全概念叫做选择身份模型,在该模型中,敌手被强制要求在族密钥生成前就宣布他要攻击的目标身份.
给定一个λ,一个消息空间Mλ,一个密文空间Cλ 以及一个最大分级深度d,选择身份安全游戏如下执行:
Setup:敌手首先收到一个分级深度d,进而,敌手被要求宣布目标身份k <d.挑战者执行系统建立算法生成MPK.
Phase 1: 敌手适应性选择一些身份向量,询问他们对应的私钥,前提条件是没有询问以I*为前缀的身份.对一个询问身份,挑战者通过密钥提取或密钥代理算法得到该身份的私钥,并将其发送给敌手.
Challenge: 当敌手感到满意并停止Phase 1后,敌手应输出两个挑战明文M ∈Mλ.挑战者随机的选择一个b ∈{0,1}以及一个密文C ∈Cλ,满足如下条件:如果b=0,最后的挑战密文为Cb = Encrypt(PP;I*;M).如果b = 1,挑战者令Cb = C.挑战者发送挑战Cb 给敌手.
Phase 2: 敌手可以继续如Phase 1阶段一样,执行密钥询问,挑战者的回复如Phase 1.
Guess: 最后,敌手应完成一个猜测b′ ∈{0,1}.若b=b′,敌手赢得游戏.敌手攻击成功的优势定义为AdvA =p(b=b′)-1/2.
一个HIBE方案是选择身份安全的,假如对任何PPT敌手,上述游戏成功的优势是可忽略的.
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。