完善保密加密机制(Perfectly-secret Encryption)——无条件安全加密算法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


一、安全目标

无条件安全(Unconditional Security):即使攻击者具有无限的计算资源,也无法攻破的密码体制,我们称这种密码体制是无条安全的。

攻击者能拿到所有可能的明文和密文对,在这种情况下,给定攻击者一个密文,依旧无法破解对应的明文是什么,称为无条件安全。

无条件安全又乘为完善保密:Perfect Secrecy

二、加密算法的定义

加密算法包括三个子算法

  1. 密钥生成子算法(Gen)
    算法输入:安全参数 n n n;算法输出:满足特定分布的密钥 k k k

  2. 加密子算法(Enc)
    算法输入:密钥 k k k和明文 m m m;算法输出:密文 c c c c = E n c ( k , m ) c=Enc(k,m) c=Enc(k,m)

  3. 解密子算法(Dec)
    算法输入:密钥 k k k和密文 c c c;算法输出:明文 m m m m = D e c ( k , c ) m=Dec(k,c) m=Dec(k,c)


三、无条件安全的定义

⼀个加密算法 (Gen, Enc, Dec) 在明⽂空间 M M M上是⽆条件安全的,如果对于 M M M的每种概率分布,其中的每个消息 m m m和每个可能出现的密⽂ c c c,均满⾜如下条件:
P r [ 𝑀 = 𝑚 ∣ 𝐶 = 𝑐 ] = P r [ 𝑀 = 𝑚 ] Pr[𝑀 = 𝑚|𝐶 = 𝑐] = Pr[𝑀 = 𝑚] Pr[M=mC=c]=Pr[M=m]
解释:如果要满足无条件安全,则加密算法中,已知密文为 c c c的条件下且对应的明文为 m m m的概率必须等于明文 m m m在明文空间 M M M中出现的概率。下图为不符合无条件安全的举例:
在这里插入图片描述这个例子中,就很明显不符合无条件安全的定义。

**定理:**⼀个加密算法 (Gen, Enc, Dec) 在明⽂空间 M M M上是⽆条件安全的,当且仅当对于 M M M的每种概率分布,其中的任意两个消息 m 0 m_0 m0 m 1 m_1 m1,和每个可能出现的密⽂ c c c ,如下条件均满⾜:
P r [ 𝐶 = 𝑐 ∣ 𝑀 = 𝑚 0 ] = P r [ 𝐶 = 𝑐 ∣ 𝑀 = 𝑚 1 ] Pr[𝐶 = 𝑐 |𝑀 = 𝑚_0] = Pr[𝐶 = 𝑐 |𝑀 = 𝑚_1] Pr[C=cM=m0]=Pr[C=cM=m1]
证明如下:
在这里插入图片描述

四、敌手能力

唯密⽂攻击,已知明⽂攻击,选择明⽂攻击,选择密⽂攻击

唯密⽂攻击实验:

  1. 运⾏密钥⽣成算法Gen,确定密钥k
  2. 将加密任意的明⽂后发送给攻击者(可反复运⾏任意多次)
  3. 攻击者发送明⽂空间中的两条明⽂ m 0 m_0 m0 m 1 m_1 m1(攻击者自己选的)
  4. 随机加密其中⼀条明⽂,并将对应密⽂发送给攻击者
  5. 将加密任意的明⽂后发送给攻击者(可反复运⾏任意多次)
  6. 攻击者根据密⽂猜测对应的明⽂是 m 0 m_0 m0还是 m 1 m_1 m1

定理: 如果加密⽅案在唯密⽂攻击下是完善保密的,那么攻击者猜对的概率是 1 / 2 1/2 1/2

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大连米兰哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值