给定密钥$k$和明文$p$,确定性加密算法将返回密文$c_1$。在第二次尝试中,我通过加密算法运行相同的密钥和明文$p$,并从第一次试用中获得密文$c_2$。$c_1$和$c_2$是等价的,所以在$c_1$和$c_2$上运行解密算法都会返回$p$。
但是,如果使用概率加密来加密$p$,则该算法将运行两次,并返回两个不同的密文$c_1$和$c_2$。
$Dec(c_1) = p$和$Dec(c_2)如何= p$?如果$c_1$和$c_2$不同,那么解密应该返回不同的结果吗?
发布于 2018-05-09 13:57:18
In是一种概率加密方案,每个明文都有多个可能的密文。
这里有一个例子-很多细节与你的问题无关,所以不要拿着这些剪刀,在家里试着用它跑!
收件人知道秘密~256位数$r$的次数,必须将一个基点$B$添加到自己中,以便在某些标准椭圆曲线上产生一个公共点$R =B+B+ \cdots +B= B$,比如Curve25519。(计算$B$有一个捷径,所以你只需要做几千次算术运算,而不是一个令人难以置信的数字。)
若要使用公用点$m$隐藏消息$R$,发送方:
收件人在收到$(S,c)$后:
大约有$2^{256}$可能的发送者秘密$s$可以用于加密消息,并且它们都适用于任何消息$m$,因此,对于任何消息$m$,in这个密码系统都有大约$2^{256}$不同的密文,其中$m$是相应的明文。
这不仅仅是一个人为的例子。To符合公钥加密的安全标准,在自适应选择的密文攻击下,必须对任意给定明文的多个密文进行be,由发送者随机选择。否则,不知道私密密钥的对手可以很容易地通过加密候选文本并将所产生的密文与挑战进行比较来判断挑战密文是否隐藏了两个(或三个,或$n$)可能的明文中的一个。这意味着每个明文的不同密文的最小 number必须在$2^{192}$左右,才能对多目标攻击的安全性产生信心。
也有概率对称密码,如AES-CBC,随机选择的IVs附加在密文上,或crypto_secretbox_xsalsa20poly1305,随机选择的非AES附加在密文上。在这种情况下,随机化可以防止在不同时间相同的消息内容导致相同的密文,并使对手能够识别重复的消息。
在对称设置中,随机性本身并不总是必要的:例如,确定地保留crypto_secretbox_xsalsa20poly1305的状态并发送每个连续消息,并计算迄今发送的消息数量就足够了。但是在某些情况下,比如AES-CBC,这是强制性的--当然,您可以使用消息序列号的一个秘密伪随机函数,例如$\operatorname{AES}_k(\mathit{seqno})$来选择AES-CBC IV。
发布于 2018-06-08 20:41:00
因为概率加密会产生比明文更长的密文,而且这个附加长度包含允许确定性恢复明文的信息。你的论点有简化的形式,但你没有发现你实际上反驳的假设是密文和明文的长度是一样的。
请注意,这里很容易混淆的一个细节是术语密文和初始值("IV")的精确范围。它们通常被视为单独的字符串,但是概率加密的定义“隐藏”了IV的生成和传输,作为加密算法和密文的内部细节。例如,当您将其表述为概率加密项时,CBC模式:
因此,在这些定义下,CBC可以建模为概率加密,因为:
发布于 2022-10-29 08:26:24
https://crypto.stackexchange.com/questions/59080
复制相似问题