一次性秘钥的语义安全性

通过两个实验来定义语义安全性

在这里插入图片描述

  1. 有一个试图攻击系统的敌人Adv. A。(类似于伪随机数生成器中的统计测试)
  2. 有两个Challenger,非常相似,用0或1来区分。
  3. 会做些什么呢?:
    (1)从秘钥空间K中随机选择秘钥k;
    (2)敌人会输出两条消息m0m_{0}m0m1m_{1}m1,长度相等;
    (3)观测敌人得到m0m_{0}m0m1m_{1}m1加密行为是否不同;在实验1中得到了m1m_{1}m1加密,实验0中得到了m0m_{0}m0加密。如果在这两个实验中,他以相同的概率输出1,表明敌人无法区分实验0和1;如果敌人能够以明显不同的概率输出1,表明能够区分这两个实验。

定义事件:
For b=0,1   Wb:=[event that EXP(B)=1]For\ b = 0, 1\ \ \ W_b := [event\ that\ EXP(B) = 1]For b=0,1   Wb:=[event that EXP(B)=1]
定义优势:敌人A相对方案E的语义安全优势,是这两个事件的概率之差。
Advss[A,E]:=∣Pr[W0]−Pr[W1]∣∈[0,1]Adv_{ss}[A,E] := |Pr[W_0] - Pr[W_1]| ∈ [0,1]Advss[A,E]:=Pr[W0]Pr[W1][0,1]
越接近0,越安全,越接近1,越容易区分,越不安全。

语义安全性定义

对于所有有效的攻击者A,如果Advss[A,E]Adv_{ss}[A,E]Advss[A,E]是可忽略的,则对称加密方案E是语义安全的。
=>for all explicit m0,m1∈M:E(k,m0)≈PE(k,m1)=> for\ all\ explicit\ m_{0}, m_{1} ∈ M: {E(k,m_{0})} ≈_{P} {E(k,m_{1})} =>for all explicit m0,m1M:E(k,m0)PE(k,m1)
敌人展示的这两条消息,无法区分。

举例

有一个损坏了的加密方案。有一个敌人A,给了ciphertext密文,总是能够推断出明文的最低有效位。如果语义是安全的,不会存在这样的敌人。
在这里插入图片描述

  1. Challenger随机挑选秘钥k,攻击者发送两条消息m0m_{0}m0m1m_{1}m1,最低有效位分别是1和0。
  2. Challenger返回m0m_{0}m0m1m_{1}m1的密文ciphertext。
  3. 敌人输出m0m_{0}m0m1m_{1}m1的最低有效位。

这个敌人的语义安全优势是?
Advss[B,E]=∣Pr[EXP(0)=1]−Pr[EXP(1)=1]∣=∣0−1∣=1Adv_{ss}[B,E] = |Pr[EXP(0)=1] - Pr[EXP(1)=1]| = |0 - 1| = 1Advss[B,E]=Pr[EXP(0)=1]Pr[EXP(1)=1]=∣01∣=1
敌人仅仅推断出最低有效位,足以在语义安全的定义下,完全攻破了系统。知道任何1个位,语义都是不安全的。敌人A只需发2条消息,m0、m1m_{0}、m_{1}m0m1,使在A了解的一件事下值为0,另一件事值为1,比如A了解消息中所有位的异或XOR,那么A就能区分出m0m_{0}m0m1m_{1}m1,足以攻破系统。如果一个密码在语义上是安全的,有效的攻击者是不会得到任何关于明文的任何信息。这是完美的安全性。注意是应用于有效的攻击者,而不是所有可能的攻击者。

OTP是语义安全的

在这里插入图片描述
假设有一个攻击者要打破一次性密码本的语义安全性,发送2条消息m0m_{0}m0m1m_{1}m1,长度相等。得到m0、m1m_{0}、m_{1}m0m1的密文,试图区分。
for all A:
Advss[A,E]=∣Pr[A(k⊕m0)=1]−Pr[A(k⊕m1)=1]∣=0Adv_{ss}[A,E] = |Pr[A(k⊕m_{0})=1] - Pr[A(k⊕m_{1})=1]| = 0Advss[A,E]=Pr[A(km0)=1]Pr[A(km1)=1]=0
k⊕m0k⊕m_{0}km0k⊕m1k⊕m_{1}km1是均匀分布的,完全相同。所以A得到的输入是密文上的均匀分布。
=>=>=>一次性密码本是语义安全的,对所有攻击者甚至不用限制是有效的,没有攻击者能够区分k⊕m0k⊕m_{0}km0k⊕m1k⊕m_{1}km1

接下来要证明一个安全的伪随机数生成器意味着流密码在语义上是安全的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值