课程笔记:全同态加密的理论与构造-上篇:学习

本文学习“课程笔记:全同态加密的理论与构造-上篇”,并做笔记和补充。

基础#

image

  • 同态加密特点就是能够对密文执行任意操作(函数F),解密后相当于对明文执行对应的操作,这也是方案的同态性体现。
  • 函数F也可以用电路表示,都是多项式时间可以计算的。
  • 加法和乘法运算实现可以用对应的加法和乘法门。
  • SomeWhat HE(Leveled HE)能支持有限次加法和乘法计算。

image

  • 同态计算可以放在云上,满足计算量大,又保证数据隐私的特性。

加密方案的安全性#

参考:https://www.cnblogs.com/pam-sh/p/15244862.html
https://blog.csdn.net/m0_47659650/article/details/125223197

image

  • 语义安全(Semantic Security,SS)就是给定一个密文,不会泄露出任何明文信息,理论上已证明,语义安全等价于密文不可区分性。
  • 公钥加密的语义安全有以下三类。

IND-CPA#

即IN Distinguishability under Chosen Plaintext Attack,选择明文攻击下的不可区分性,就是敌手知道部分密文,猜测明文。
image
这就是密文不可区分!

IND-CCA1#

即IN Distinguishability under Chosen Ciphertext Attack,选择密文攻击下的不可区分性,就是相对前者,增加敌手可以在收到之前,可以调用一次加密或解密能力。
image

IND-CCA2#

即IN Distinguishability under adaptive Chosen Ciphertext Attack,自适应选择密文攻击下的不可区分性,就是不限制敌手调用解密的时间。
image

image

SH-HE到PK-HE#

image

  • 对称加密方案:G是密钥生成,E是加密,D是解密,Eval是同态计算。
  • 其中SK是对称加密的密钥,这里以此生成公钥加密中的公私钥。
  • 加密:明文b,密文c=Eval(c0,...,cm1,fs(.))c0,...,cm1是随机数r0,...,rm1的对称加密,这里加密还用到了同态计算?3
  • 解密和同态计算不变,解密是不是得变?

自举技术#

增强解密电路#

image

  • 这里的解密电路就是解密函数,这里的增强解密电路可以用NAND门构成。
  • ADCC1,c2(SK)=DCC1(SK) NAND DCC2(SK)=m1 NAND m2
  • 这样就是实现了在不解密的情况下计算密文。

自举原理#

image

  • 密文支持增强解密电路,即满足加法和乘法同态性。
  • 自举的原理最容易理解的还是“戴着手套制作宝石”的例子。

自举构造#

image

  • 这里的BK是加密的私钥SK,即用在同态计算Eval中,是计算密钥。

image

  • 这里是ADC,作者应该是笔误AGC电路。

image

  • 所以私钥SK是按位加密的。
  • 使用公钥加密私钥,该操作是否安全,目前是无法证明是不安全的,所以就假设它是安全的,这就是“循环安全假设”。

image

Leveled-FHE#

即最多支持执行d次同态乘法计算。
image

  • 密钥生成:这里生成d+1对公私钥对,并根据这些公私钥对生成计算密钥,最终方案的公钥为(PK0,...,PKd),私钥为(SK0),计算密钥为(BK0,...,BKd1),文中是把计算密钥也作为公钥的一部分(计算密钥确实也是公开的!)。

image

  • 加密:对于新鲜明文使用PKd加密的。
  • 解密:使用SK0解密。

image

  • 每一个密文都对应各自层数,对于新鲜密文的层数为d层。
  • 在对d层的密文做Eval计算时,使用的是BKd1的计算密钥,得到的结果实际上是由PKd1加密所对应明文的密文。
  • 直到计算出的密文层数是0层时,不能继续计算,这就是有限次计算的FHE。
  • 这种情况使用多对公私钥,并以此形成计算密钥,避免了使用自己的公钥加密私钥的问题,即避免了“循环安全假设”问题。

作者:Hang Shao

出处:https://www.cnblogs.com/pam-sh/p/16614365.html

版权:本作品采用「知识共享」许可协议进行许可。

声明:欢迎交流! 原文链接 ,如有问题,可邮件(mir_soh@163.com)咨询.

posted @   PamShao  阅读(940)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
menu