我需要帮助理解语义安全,特别是“游戏”中的部分。
但首先,根据我的理解,语义安全是否是一种“较弱”和更灵活的方法来确定密码功能是否足够安全以供使用?我理解完美保密的定义往往过于僵化,因此语义安全在定义足够安全的东西方面有一定的回旋余地。官方定义是:一个加密方案在语义上是安全的,如果一个对手无法以比1/2更好的概率猜测给定的密文是消息m0还是m1的加密。
有一个流行的解释使用“游戏”的挑战者和对手的游戏,然而,我有点困惑,它是如何运作。
有人能帮助我理解“游戏”,以及它是如何用来确定某物是否在语义上是安全的吗?你是如何
游戏:
B= 0,1 Wb:=
Advss:=x- Pr -Pr_x元素
我看到的简单定义是:“对手向挑战者发送两条长度相等的明文消息,并接收一条加密消息;语义安全意味着对手无法区分哪一条明文消息被加密。”
Question 1:在步骤3中,它说在实验1中,挑战者将输出m1的密文,在实验0中输出m0的密文。如果我错了,请纠正我,但是挑战者只会发送一个信息,要么是m1的密文,要么是m0的密码,而不是两者都发送?
Question 2:我不明白游戏试图看对手是否能够区分哪些明文消息是加密的。如果挑战者只透露一条密文,对手怎么能做到这一点呢?因为总是有1/2的歧义。在什么情况下,它会成功和不成功地区分这两种情况?
发布于 2021-08-21 02:03:50
E_k(m_0)
或E_k(m_1)
,而不是两者兼而有之。例如,以ROT_K
密码为例,其中字母是大写英文字母,K是旋转量,这是一个键。每个字母都对相同的输出进行加密,例如对于K=13
,E_K(“A")=“N"
攻击者可以提交两个选定的明文,比如m_0=“AAAAAAAA"
和m_1=“ABCDEFGH"
。如果返回的消息中连续有8个字母返回,则必须是m_0
加密,如果是8个顺序字母,则必须是m_1
加密,这样攻击者就可以以1的概率击败游戏。其他密码可能不是那么简单,但它们的成功概率仍然大于1/2。
https://crypto.stackexchange.com/questions/93664
复制相似问题