Honey Encrytion

参考文献:

  1. Juels A, Ristenpart T. Honey encryption: Security beyond the brute-force bound[C]//Advances in Cryptology–EUROCRYPT 2014: 33rd Annual International Conference on the Theory and Applications of Cryptographic Techniques, Copenhagen, Denmark, May 11-15, 2014. Proceedings 33. Springer Berlin Heidelberg, 2014: 293-310.

Honey Encryption

[JR14] 提出的 HE 是一种对称加密,在使用错误的秘钥解密时,将会获得似是而非的明文(plausible-looking but bogus called honey messages)。当秘钥空间的熵很低(比如 Password-based encryption,PBE),敌手可以穷举所有秘钥,并查看解密结果的语义,以判断哪个秘钥是正确的。但是 HE 保证了敌手无法根据语义来区分出正确秘钥(类似于 one-time pad 的信息论安全性)。

HE 的抽象:

  1. c ← H E n c k ( m ; r ) c \leftarrow HEnc_k(m;r) cHEnck(m;r):加密算法,私钥 k ∈ K k \in K kK,消息 m ∈ M m \in M mM,随机性 r r r,密文 c c c
  2. m ← H D e c k ( c ) m \leftarrow HDec_k(c) mHDeck(c):解密算法,正确性要求 P r [ H D e c k ( H E n c k ( m ; r ) ) = m ] = 1 Pr[HDec_k(HEnc_k(m;r))=m]=1 Pr[HDeck(HEnck(m;r))=m]=1

HE 有两个安全性要求: message recovery (MR) security、 more (multi-instance) semantic-security。假设 μ \mu μ 是秘钥分布的最小熵( − log ⁡ max ⁡ x p ( x ) -\log \max_x p(x) logmaxxp(x)),那么当消息分布的熵充分大时,MR 安全性对于无界敌手的安全性下界接近于 1 / 2 μ 1/2^\mu 1/2μ

[JR14] 使用 Distribution-Transforming Encoders 来实现 HE(就是根据累积分布采样)。工作模式为 DTE-then-Enc,首先把分布 p m p_m pm 的消息 m m m 编码为均匀分布的 s s s,然后对 s s s 使用任意的对称加密即可。实际上,HE 利用消息分布的不确定性,“对冲” poor keys 以及 poor randomness,达到抵御暴力攻击的目标。

所以 HE 安全性被限制为:仅在敌手对于目标消息没有其他的 side information 时才可达。比如公钥加密,只要敌手持有对应的公钥,就可以验证哪个私钥是正确的。另外,如果消息分布和秘钥分布存在依赖关系、或者用同一个秘钥加密了 correlated messages,那么敌手也可以区分出正确的秘钥。不过即使这样,HE 的安全性下界也是 PBE 安全的(敌手的成功概率为 q / 2 μ q/2^\mu q/2μ)。

类似的功能: format-preserving encryption、collisionful hashing、 non-committing encryption、Honeypots、 honeywords、 Kamouflage system

Distribution-Transforming Encoders

DTE 的功能:输入消息分布为 p m p_m pm 的消息 m ∈ M m \in M mM,输出近似均匀分布的种子 s ∈ S s \in S sS。同时存在对应的解码器,给定任意的 s s s 可以恢复出 m m m,并使得 m m m 服从 p m p_m pm 分布。

DTE 的抽象:

  1. s ← e n c o d e ( m ) s\leftarrow encode(m) sencode(m):编码算法,消息 m ∈ M m \in M mM,种子 s ∈ S s \in S sS
  2. m ← d e c o d e ( s ) m \leftarrow decode(s) mdecode(s):解码算法,正确性要求 P r [ d e c o d e ( e n c o d e ( m ) ) = m ] = 1 Pr[decode(encode(m))=m]=1 Pr[decode(encode(m))=m]=1

给定先验知识 p m p_m pm,定义 p d ( m ) = P r [ m ′ = m : s ← R S , m ′ ← d e c o d e ( s ) ] p_d(m)=Pr[m'=m: s \leftarrow_R S, m' \leftarrow decode(s)] pd(m)=Pr[m=m:sRS,mdecode(s)],我们说 DTE 是安全的,如果 p m ≡ p d p_m \equiv p_d pmpd

在这里插入图片描述
在这里插入图片描述

[JR14] 给出了一种通用 DTE 的构造方法, Inverse Sampling DTE(累积分布函数的求逆)

  • 给定关于有序消息 M = { m 1 , ⋯   , m ∣ M ∣ } M=\{m_1,\cdots,m_{|M|}\} M={m1,,mM} 的先验知识 p m p_m pm,令 F m F_m Fm 是它的累计分布函数 CDF,并定义 F m ( m 0 ) = 0 F_m(m_0)=0 Fm(m0)=0
  • 令种子空间为 S = [ 0 , 1 ) S = [0,1) S=[0,1),选择合适的粒度,将连续的实数空间转化为离散的有理数集合
  • s ← I S D T E . e n c o d e ( m i ) s \leftarrow ISDTE.encode(m_i) sISDTE.encode(mi):计算 l = F m ( m i − 1 ) , r = F m ( m i ) l=F_m(m_{i-1}), r=F_m(m_i) l=Fm(mi1),r=Fm(mi),然后均匀采样 s ← R [ l , r ) s \leftarrow_R [l,r) sR[l,r)
  • m ← I S D T E . d e c o d e ( s ) m \leftarrow ISDTE.decode(s) mISDTE.decode(s):计算 m = F m − 1 ( s ) : = min ⁡ i { F m ( m i ) > S } m=F_m^{-1}(s):=\min_i\{F_m(m_i)>S\} m=Fm1(s):=mini{Fm(mi)>S}

DTE-then-Encrypt

S E = ( e n c , d e c ) SE=(enc,dec) SE=(enc,dec) 是任意对称加密,令 D T E = ( e n c o d e , d e c o d e ) DTE=(encode,decode) DTE=(encode,decode) 是上述的 IS-DTE,我们构造 H E [ S E , D T E ] = ( H E n c , H D e c ) HE[SE,DTE]=(HEnc,HDec) HE[SE,DTE]=(HEnc,HDec)

  • 加密过程:输入消息 m ∈ M m \in M mM,编码 s = e n c o d e ( m ) s = encode(m) s=encode(m),加密 c = e n c ( s ) c=enc(s) c=enc(s),输出密文 c c c
  • 解密过程:输入密文 c ∈ C c \in C cC,解密 s = d e c ( c ) s=dec(c) s=dec(c),解码 m = d e c o d e ( s ) m=decode(s) m=decode(s),输出明文 m m m

[JR14] 使用了箱球模型(weighted balls-and-bins game with non-uniform bin sizes)来分析 HE 的安全性。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值