本文主要是介绍密码学之广播加密,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.什么是广播加密
广播加密是一种支持在不安全的公开信道上实现多用户数据安全共享的加密技术,适用于一对多安全传输场景。
2.广播加密的工作原理
数据拥有者首先选取一组接收者,运行广播加密算法,将加密得到的密文发布到公开信道,监听该信道的所有用户均可获取密文,但只有授权用户可利用解密密钥正确解密,未授权用户不能从密文中获取任何明文信息。
3.应用场景
广播加密在付费电视、数字版权保护及区块链等领域广泛使用,根据广播加密的应用场景需求不同或功能不同,可分为标识广播加密、匿名广播加密、叛逆者追踪广播加密,以及可撤销广播加密等
4.广播加密的分类
4.1对称私钥广播加密系统
在对称广播加密中,广播者只能是可信机构,该机构负责生成并分发已授权用户的解密密钥,因此,对称广播加密在实际应用中局限性较大,应用范围窄.
公钥广播i加密允许系统内任意用户作为数据拥有者,且数据拥有者可指定任意系统内一个用户集合作为数据接收者,只有集合内的用户可以
解密
在对称广播加密方案中,用户的秘密钥由供应商产生,用户和供应商之间的会话密钥被分成许多部分,供应商把会话密钥的每一部分分别用某一密钥集合中的所有密钥加密,用会话加密明文。
啥意思?没懂
举个例子
供应商把会话密钥S分成m个部分
K e y 1 , 1 , K e y 1 , 2 , . . . , K e y 1 , n Key_{1,1},Key_{1,2},...,Key_{1,n} Key1,1,Key1,2,...,Key1,n对应的加密为 E n c ( K e y 1 , 1 , s 1 ) , E n c ( K e y 1 , 2 , s 1 ) , . . . , E n c ( K e y 1 , n , s 1 ) Enc(Key_{1,1},s_1),Enc(Key_{1,2},s_1),...,Enc(Key_{1,n},s_1) Enc(Key1,1,s1),Enc(Key1,2,s1),...,Enc(Key1,n,s1)
K e y 2 , 1 , K e y 2 , 2 , . . . , K e y 2 , n Key_{2,1},Key_{2,2},...,Key_{2,n} Key2,1,Key2,2,...,Key2,n对应的加密为 E n c ( K e y 2 , 1 , s 2 ) , E n c ( K e y 2 , 2 , s 2 ) , . . . , E n c ( K e y 2 , n , s 2 ) Enc(Key_{2,1},s_2),Enc(Key_{2,2},s_2),...,Enc(Key_{2,n},s_2) Enc(Key2,1,s2),Enc(Key2,2,s2),...,Enc(Key2,n,s2)
. . . . . ..... .....
K e y m , 1 . K e y m , 2 , . . . , K e y m , n Key_{m,1}.Key_{m,2},...,Key_{m,n} Keym,1.Keym,2,...,Keym,n对应的加密为 E n c ( K e y m , 1 , s m ) , E n c ( K e y m , 2 , s m ) , . . . , E n c ( K e y m , n , s m ) Enc(Key_{m,1},s_m),Enc(Key_{m,2},s_m),...,Enc(Key_{m,n},s_m) Enc(Keym,1,sm),Enc(Keym,2,sm),...,Enc(Keym,n,sm)
如果几个用户合谋,只要把自己密钥的某一部分取出来,组成一个新的解密密钥,只要新密钥能够把会话密钥的每一部分解密出来,就可以把会话密钥哦计算出来,进而解密出明文。
如果有用户申请服务,供应商从每个桶中取出一个密钥组成一个秘密钥给用户,这个密钥为用户的Personal Key, 这样用户就可以恢复所有的 s i s_i si,也就可以回复 s s s,恢复‚进而解密密文
4.2非对称广播加密方案
非对称广播加密方案与对称广播加密方案广播加密方案的唯一区别是,用户的秘密钥不完全被供应商掌握‚只有部分信息被供应商掌握,但是当供应商发现发现盗版的解密盒时,通过提取盗版解密盒中的密钥和供应商已掌握的信息就可以追踪的盗版用户
5.广播加密应该满足的安全属性
(1)权限控制: 系统用户的添加或删除由可信中心执行,用户的解密权限由加密者( 数据拥有者) 决定。
(2)抗合谋攻击: 任何数量的非授权接收者即使合谋都无法解密获取加密数据的内容。
(3)接收者无状态: 在系统的整个生命周期内接收者无需改变自己的设置,解密操作只能按照系统初始设置进行
这篇关于密码学之广播加密的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!