当前位置: 首页 > wzjs >正文

专门做塑胶原料副牌网站seo实战密码第四版

专门做塑胶原料副牌网站,seo实战密码第四版,哈尔滨市建设委员会网站,老榕树智能建站系统1. 引言 函数加密(FE)可以被看作是公钥加密(PKE)的一种推广,它允许对第三方的解密能力进行更细粒度的控制。 在公钥加密中,公钥 p k \mathit{pk} pk 用于将某个值 x x x 加密为密文 c t \mathit{ct} c…

1. 引言

函数加密(FE)可以被看作是公钥加密(PKE)的一种推广,它允许对第三方的解密能力进行更细粒度的控制。

在公钥加密中,公钥 p k \mathit{pk} pk 用于将某个值 x x x 加密为密文 c t \mathit{ct} ct(通过加密算法),而私钥 s k \mathit{sk} sk 用于从密文 c t \mathit{ct} ct 中恢复出 x x x(通过解密算法)。公钥加密强制执行一种“全有或全无”的访问规则:

  • 要么能够解密并读取完整明文,
  • 要么完全无法获得任何关于明文的信息。

而在函数加密中:

  • 私钥 s k f \mathit{sk_f} skf 与某个特定的函数 f f f 相关联,使得解密函数返回的是 f ( x ) f(x) f(x)
    • 可注意到,通过将 f f f 设置为恒等函数(即 f ( x ) = x f(x)=x f(x)=x),公钥加密就可以被看作是函数加密的一个特例。

更明确地说,如下图所示是 公钥加密 和 函数加密 这两种加密协议的不同“API”接口。函数加密:

  • 初始化阶段会生成一个主私钥 m s k \mathit{msk} msk
  • 在密钥生成阶段,可以利用该主私钥针对特定函数 f f f 派生出函数私钥 s k f \mathit{sk_f} skf
  • 加密算法的逻辑相同,而解密操作则需要函数私钥 s k f \mathit{sk_f} skf 来得到 f ( x ) f(x) f(x)
    在这里插入图片描述

非正式地说,一个函数加密方案的安全性要求对手除了 f ( x ) f(x) f(x) 所泄露的信息外,无法从密文中获得关于 x x x 的任何其他信息。BSW10——2010年Dan Boneh等人 Functional Encryption: Definitions and Challenges论文 中提供了对此类方案更正式的安全性定义。稍后会尝试更详细地解释它。现在,先通过一个示例应用来巩固对该加密方案的理解。

2. FE(函数加密)应用示例

来看一个医院的例子:医院保管着大量病人的记录,并且存在 n n n 类具有不同访问权限的专业人员。在这种场景下,医院管理方首先执行初始化阶段(setup),然后为每一个函数 f 1 , … , f i , … , f n f_1, \dots, f_i, \dots, f_n f1,,fi,,fn 创建对应的函数私钥 s k f 1 , … , s k f i , … , s k f n \mathit{sk_{f_1}}, \dots, \mathit{sk_{f_i}}, \dots, \mathit{sk_{f_n}} skf1,,skfi,,skfn,其中每个函数 f i f_i fi 表示对病历数据的一种特定访问策略。随后,管理方将各个函数私钥分发给相应类别的专业人员。

病人的记录通过 p k \mathit{pk} pk 加密后,每位专业人员都只能通过解密函数获得其权限范围内的信息,而无法访问其他内容。

在这种设置中,医院只需生成一份加密的病历记录,便可支持多种访问级别。这比传统的对称加密或非对称加密方式更加高效——后者通常需要为每一类用户执行 n n n 次加密操作。

3. 函数加密与全同态加密的区别

如果熟悉全同态加密(FHE),那么分析FHE与函数加密(FE)之间的异同会非常有趣。这两种密码学原语都支持在加密数据上执行函数,但它们的设置方式和应用场景完全不同。

典型的 FHE 应用场景适用于计算外包,其流程如下:

  • Alice 执行初始化并将她的数据 x x x 加密为密文 c t \mathit{ct} ct,然后将该密文发送给 Bob
  • Bob 在密文 c t \mathit{ct} ct 上计算函数 f f f,得到新的密文 c t ′ \mathit{ct'} ct,并将其结果返回给 Alice
  • Alice 解密密文,得到 f ( x ) f(x) f(x)
    在这里插入图片描述

函数加密与全同态加密的区别有:

  • 1)可应用于加密数据上的函数 f f f 的差别:
    • 在全同态加密(FHE)中,被应用于加密数据上的函数 f f f(即评估阶段)是任意的
      • Bob 可以在密文 c t \mathit{ct} ct 上执行任意算术函数,这个函数也可以是 Alice 私有的。
    • 相比之下,在函数加密(FE)中,可在密文上执行的函数集受限于主私钥生成的函数私钥
  • 2)评估与解密阶段的差别:
    • FHE 的评估函数返回的是另一个密文,需要 Alice 进一步参与解密。
    • 而在 FE 中,评估和解密是同时进行的,不需要进一步的交互即可获得 f ( x ) f(x) f(x)

简而言之:

  • FHE:始终需要与密钥持有者交互才能获得 f ( x ) f(x) f(x),但函数 f f f任意的(甚至可以是私密的)
  • FE:不需要与密钥持有者交互就能获得 f ( x ) f(x) f(x),但可执行的函数 f f f受限的

4. FE 的安全性定义

函数加密的安全性是在可选择明文攻击下的不可区分性(IND-CPA)概念下定义的。这个安全性通过一个对手 A \mathcal{A} A 和挑战者之间的博弈进行证明。该博弈的逻辑类似于用于证明公钥加密方案语义安全性的方式,如下所示:
在这里插入图片描述

先分析 PKE 的情形。对于 b = 0 , 1 b = 0,1 b=0,1,实验 E x p ( b ) \mathsf{Exp}(b) Exp(b) 的流程如下:

  • 挑战者使用函数 G ( ) G() G() 生成密钥对 ( p k , s k ) (\mathit{pk}, \mathit{sk}) (pk,sk),并将 p k \mathit{pk} pk 提供给对手 A \mathcal{A} A
  • A \mathcal{A} A 得到公钥 p k \mathit{pk} pk
  • A \mathcal{A} A 选择两条等长的消息 m 0 m_0 m0 m 1 m_1 m1,并将它们发送给挑战者
  • 挑战者使用公钥加密消息 m b m_b mb(其中 b ∈ { 0 , 1 } b \in \{0,1\} b{0,1},但 A \mathcal{A} A 并不知道 b b b 的值): c ← E ( p k , m b ) \mathit{c} \leftarrow E(\mathit{pk}, m_b) cE(pk,mb)
  • A \mathcal{A} A 得到密文 c \mathit{c} c 并输出一个猜测值 b ′ ∈ 0 , 1 b' \in {0,1} b0,1

如果没有任何高效(多项式时间)对手 A \mathcal{A} A 能够区分 m 0 m_0 m0 m 1 m_1 m1 的加密密文,则该加密方案 E \mathcal{E} E(由其函数 ( G , E , D ) (G, E, D) (G,E,D) 定义)在语义安全意义下是安全的。数学上,这被表示为:
∣ Pr ⁡ [ E X P ( 0 ) = 1 ] − Pr ⁡ [ E X P ( 1 ) = 1 ] ∣ < negligible \left| \Pr[\mathsf{EXP}(0) = 1] - \Pr[\mathsf{EXP}(1) = 1] \right| < \text{negligible} Pr[EXP(0)=1]Pr[EXP(1)=1]<negligible

其中, Pr ⁡ [ E X P ( 0 ) = 1 ] \Pr[\mathsf{EXP}(0) = 1] Pr[EXP(0)=1] 表示对手在实验 0 中输出 1 的概率(即错误地猜测加密的是 m 1 m_1 m1),而 Pr ⁡ [ E X P ( 1 ) = 1 ] \Pr[\mathsf{EXP}(1) = 1] Pr[EXP(1)=1] 表示对手在实验 1 中正确输出 1 的概率。

换句话说,对手正确猜出被加密消息的概率应该非常接近于随机猜测的概率。实际中,这确保了对手即使能选择被加密的消息,也无法通过观察密文来获取关于明文的任何信息。

正如 Morrolan 所指出的:

  • 当且仅当加密方案是非确定性的,这种安全属性才成立。

也就是说:

  • 在同一个公钥下,对相同明文的两次加密操作应该以压倒性概率产生不同的密文

在函数加密(FE)中,博弈仅有些许不同。对于 b = 0 , 1 b = 0,1 b=0,1,实验 E X P ( b ) \mathsf{EXP}(b) EXP(b) 的过程如下:

  • 挑战者生成密钥对 ( p k , m s k ) (\mathit{pk}, \mathit{msk}) (pk,msk) 并将其交给对手 A \mathcal{A} A
  • A \mathcal{A} A 可自适应地向挑战者提交不同的函数 f 1 , f 2 , … , f i f_1, f_2, \dots, f_i f1,f2,,fi,并接收相应的函数私钥 s k f 1 , s k f 2 , … , s k f i \mathit{sk_{f_1}}, \mathit{sk_{f_2}}, \dots, \mathit{sk_{f_i}} skf1,skf2,,skfi
  • 然后, A \mathcal{A} A 选择两个消息 m 1 m_1 m1 m 2 m_2 m2,满足对于所有已查询的函数 f i f_i fi,都有 f i ( m 1 ) = f i ( m 2 ) f_i(m_1) = f_i(m_2) fi(m1)=fi(m2),并将它们提供给挑战者
  • 挑战者用公钥加密消息 m b m_b mb(其中 b ∈ 0 , 1 b \in {0,1} b0,1,但 A \mathcal{A} A 并不知道 b b b 的值): c ← E ( p k , m b ) \mathit{c} \leftarrow E(\mathit{pk}, m_b) cE(pk,mb)
  • A \mathcal{A} A 得到密文 c \mathit{c} c,并输出一个猜测 b ′ ∈ 0 , 1 b' \in {0,1} b0,1

对手可以使用其函数私钥对密文 c \mathit{c} c 解密并得到 f ( m b ) f(m_b) f(mb),但与之前类似,无法判断密文 c \mathit{c} c 是对 m 1 m_1 m1 还是 m 2 m_2 m2 的加密 。这正是所描述的安全性定义的体现。

更进一步地,BSW10——2010年Dan Boneh等人 Functional Encryption: Definitions and Challenges论文 中指出:

  • 上述安全定义对于某些特定函数 f f f 是不充分的,并在论文中提出了更为严格的安全性定义。

5. 总结

除了在实际应用中对加密数据进行计算的显著作用,正如本文所描述的那样,函数加密在密码学理论中也已成为一种强有力的工具。它可用于构建更高级的密码原语,如 不可区分混淆(iO),iO被认为是“密码学完备”的:

  • 几乎可以实现所有已知的密码原语。

特别地,根据 Sora 的 Introduction to Indistinguishability/Ideal Obfuscation(iO)可知:

  • iO 可以通过递归函数加密(recursive FE)来构建

参考资料

[1] Leku 2024年11月25日博客 A gentle introduction to functional encryption

http://www.dtcms.com/wzjs/178080.html

相关文章:

  • 北京b2b网站开发网站建设方案设计书
  • wordpress d7优化网站排名软件
  • 淘宝上做微请帖的在哪个网站排名网站
  • 公司门户网站建设东莞网络推广招聘
  • 做网站一天赚多少钱宁波seo网络推广咨询价格
  • 微信网页手机登录入口惠州seo
  • 甘肃省城乡城乡建设厅网站首页7个经典软文营销案例
  • 哈尔滨做网站哪里好网址导航大全
  • 做网站投资多少钱百度收录入口在哪里
  • 临沂网站建设技术支持网络服务提供者不是网络运营者
  • 中文网站外链查询工具常见的网络营销手段
  • 公司建设网站的必要性百度广告投放代理商
  • 建设一个网站需要什么技术人员如何做网站关键词优化
  • 保真的二手手表网站新媒体销售好做吗
  • 北京网站seo公司杭州上城区抖音seo如何
  • 网站开发选择题百度推广代理商有哪些
  • 淘宝采集wordpress关键词优化软件有哪些
  • 东莞外贸企业网站建设网站排名优化怎么做
  • 那曲做网站百度搜索大数据
  • 有没有接做网站私活的平台会计培训班多少钱
  • 请别人做网站注意事项广州网络营销产品代理
  • 西部数码网站管理助手ftp东莞网站建设方案外包
  • 闵行虹桥网站建设seo整站优化报价
  • 怎么查看一个网站是不是伪静态web设计一个简单网页
  • angularjs做的网站有哪些全网软文推广
  • 国产软件开发平台标题优化方法
  • hao123网站难做吗百度seo软件是做什么的
  • 网站banner尺寸大小阜新网络推广
  • 给国外做网站网上怎么推销自己的产品
  • 江门云建站模板免费网站收录网站推广