其实属性加密的基础是秘密共享。
什么是秘密共享?
秘密共享指的是dealer有一个秘密,他想要在w个人中分享这个秘密,但是他希望任何单个人都无法计算出(获得)这个秘密,也就是说他想任意t个人在一起才能够把这个秘密给计算出来,而任意t-1个人都无法把这个秘密给计算出来。
在属性加密中,拿最原始的属性加密方案来说,也就是密文和用户的密钥都拥有一组属性,当用户的密钥的属性与密文的属性的交集中的元素达到一定的阈值后,该用户才可以对密文进行解密。其实原理是这样的(简单理解),数据拥有者利用某个key对明文消息进行加密,并且对这个密文附上一些属性(例如w个),那么只有当用户拥有w个属性之中的t个时,用户才能把这个Key计算出来,从而对密文进行解密,恢复出明文。说到这里,其实大家都知道跟秘密共享差不多一回事了。只不过在属性加密中,秘密共享里面的t个用户变成了t个属性。