课程笔记:全同态加密理论与基础

本节学习“课程笔记:“全同态加密理论与基础”,记录一些学习心得。

加密方案和安全分析

一次一密

image

image

公钥加密

image

  • 一次一密适用于对称加密,两方密钥相同(在安全通道传输密钥)。
  • 公钥加密的安全性一般基于的是个数学困难问题,陷门即是私钥!

安全分析

image

  • 敌手的攻击方式:选择明文攻击(CPA)、选择密文攻击(CCA),CCA比CPA描述敌手能力更强。
  • 若能抵抗CPA,则说明该方案是CPA安全的,通过描述一个游戏的方式来证明,该游戏的目的是证明在选择明文攻击的前提下攻破系统的不可区分性,所以这个游戏叫做IND-CPA。
  • 不可区分性(IND):敌手即使获得密文,也无法获取任何明文的信息,即敌手攻击成功的概率为50%,超出50%的即为成功概率。
  • IND-CPA:定义两个角色(挑战者C和敌手A),挑战者C的任务是仲裁,主持游戏并对敌手的行为进行反馈;敌手就是攻击当前系统的人,且对应的攻击方式为:选择明文攻击,即敌手选择一些明文可以得到对应的密文。

image

  • 确定性加密:加密方案是确定的,每个明文对应一个密文(加密时没有随机数),当敌手进行不可区分性攻击时,只需重新加密消息后与目标密文对比(这就是重放攻击!),比如RSA。
  • 概率性加密:加密时加入随机数,同一个明文每次加密得到密文都是不同的,比如ElGamal。
  • 存在窃听时,任何一个确定性加密方案都不是CPA安全的,因为敌手可以根据密文分析出对应的明文,不具有“不可区分性!”

基础知识

不可区分性

image

  • 这里的\(S\)是笔误,应该为\(\varepsilon\in(0,1)\),即在\(t\)时间内区分\(D(X)=1\)\(D(Y=1)\)相等的概率为\(\varepsilon\)
  • 可分为:完美不可区分性(在无穷时间内判断\(D(X)=1\)\(D(Y=1)\)相等的概率为0,即不能区分\(D(X)=1\)\(D(Y=1)\)相等)、统计意义上的不可区分性(在无穷时间内判断\(D(X)=1\)\(D(Y=1)\)相等的概率几乎为0,即很难区分\(D(X)=1\)\(D(Y=1)\)相等)、计算安全性(在几乎无穷时间内判断\(D(X)=1\)\(D(Y=1)\)相等的概率几乎为0,即很难区分\(D(X)=1\)\(D(Y=1)\)相等)。

统计距离

image

  • 应该为\(s\in S\),这是统计距离的定义(两种),表示两个分部之间的统计距离。

此处存疑?

哈希函数

image

  • 此处\(h(x)=h(y)\),表示碰撞的概率\(1/m\)
  • \(U\)是键的域,\(H\)是可选的哈希函数的域。
  • SD表示统计距离,表示\((A,h_A(X))\)\((A,U_t)\)是不可区分的。

同态加密

image
image

  • 比较完整的同态加密的分类和发展流程。
  • 部分同态(PHE):支持一种同态性
  • 有限次同态(SWHE或者Leveled-FHE):支持有限次的人任意同态计算。
  • 完全同态(FHE),支持任意次任意同态计算。
  • 同态加密核心是\(Eval()\)

image

  • HE的应用场景:医疗、金融、政务机密数据处理。

image

  • 对于同态加密,对称加密和公钥加密是可以转换的。
  • 共钥生成中,\(sk\)是对称加密的密钥,将\(l\)个比特\(b_i\)\(sk\)加密得到密文,将密文和\(b_i\)作为公钥\(pk\),死要还是\(sk\).
  • 加密时,明文\(\sigma \in [0,1]\),随机比特串\(r\),使得\({\textstyle \sum_{1}^{l}r_ib_i}=\sigma\),加密得密文\(c=Enc({\textstyle \sum_{1}^{l}r_ib_i})\),用到了公钥。

DGHV10方案

image

  • DGHV10方案是基于AGCD数学困难问题。
  • 密钥生成:\(sk=n,pk=x_i\)
  • 加密:明文\(m\),密文\(c= {\sum x_i}+m=(\sum q_i).n+2\sum r_i +m\)
  • 解密:\(m=c(mod n)(mod 2)\)
  • 同态计算:(1)加法,噪音累加;(2)乘法,噪音指数级增长,过大会影响解密结果。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章