背景
对称、公钥加密算法解密密文,得到的是明文的全部信息。但是我们希望能够对密文的访问附加特殊的要求,使访问者只得到明文的一个函数值,而不会泄露明文。
- FE的核心要求:对明文的灵活访问
- FE密钥:基于 对密文访问需求抽象出的函数
- 解密:对明文的预定义函数运算(?)(也可在加密函数中实现),直接输出函数值而非原明文
Functional Encryption
FE定义:键空间K,明文空间X,(K, X)上的泛函F: K 乘 X --> {0, 1}*。F中的f是确定性图灵机。同时,要求密钥空间 K 包含一个特殊的密钥,称为空密钥,表示为 ϵ(及空键,是从密文便可得到的明文信息,是攻击者知道的信息,但仅仅凭借这个信息无法解密)。
函数加密过程:(先执行Setup)由系统安全参数(一般是个随机数?)生成主密钥msk和公钥pk。然后,由主密钥msk和函数f生成用户私钥(KeyGen)。
函数加密的子类
函数加密是一个非常广泛的概念。涵盖多种基于公钥的加密概念(当f(x) = x 时,其实就变成了IBE)。
谓词加密:使用于&#x