首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果使用概率加密算法,解密如何返回正确的消息?

如果使用概率加密算法,解密如何返回正确的消息?
EN

Cryptography用户
提问于 2018-05-09 12:43:28
回答 3查看 1.2K关注 0票数 2

给定密钥$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$不同,那么解密应该返回不同的结果吗?

EN

回答 3

Cryptography用户

回答已采纳

发布于 2018-05-09 13:57:18

In是一种概率加密方案,每个明文都有多个可能的密文。

这里有一个例子-很多细节与你的问题无关,所以不要拿着这些剪刀,在家里试着用它跑!

收件人知道秘密~256位数$r$的次数,必须将一个基点$B$添加到自己中,以便在某些标准椭圆曲线上产生一个公共点$R =B+B+ \cdots +B= B$,比如Curve25519。(计算$B$有一个捷径,所以你只需要做几千次算术运算,而不是一个令人难以置信的数字。)

若要使用公用点$m$隐藏消息$R$,发送方:

  1. 随机一致地选取一个秘密~256位数$s$;
  2. 将$B$添加到自己的$s$次数中,以获得$S = B$;
  3. 将$R$添加到自己的$s$次数中以获得$R$;
  4. 计算$k = H(R)$,一个秘密密钥;
  5. 计算\operatorname{crypto\_secretbox\_xsalsa20poly1305}(k,= $c 0,m)$,即对称密钥$k$和nonce 0下的认证密文;以及
  6. 将$(S,c)$传送给收件人。

收件人在收到$(S,c)$后:

  1. 计算$S =B=B= R$;
  2. 计算$k = H(S) = H(R)$,与发送方导出的密钥相同;
  3. 计算\operatorname{crypto\_secretbox\_xsalsa20poly1305\_open}(k,= $m 0,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。

票数 1
EN

Cryptography用户

发布于 2018-06-08 20:41:00

因为概率加密会产生比明文更长的密文,而且这个附加长度包含允许确定性恢复明文的信息。你的论点有简化的形式,但你没有发现你实际上反驳的假设是密文和明文的长度是一样的。

请注意,这里很容易混淆的一个细节是术语密文和初始值("IV")的精确范围。它们通常被视为单独的字符串,但是概率加密的定义“隐藏”了IV的生成和传输,作为加密算法和密文的内部细节。例如,当您将其表述为概率加密项时,CBC模式:

  1. 不以IV作为论点,而是在内部产生随机IV;
  2. 不会将长度相等的密文返回给填充的明文,而是返回一个额外的块,例如第一个块是IV。

因此,在这些定义下,CBC可以建模为概率加密,因为:

  1. 所述加密操作选择随机IV,该随机IV被作为前缀合并到所述密文中,其馀所述密文依赖于该前缀;
  2. 解密可以恢复原始明文,因为密文包含在调用加密操作时重建随机选择所需的随机IV。
票数 0
EN

Cryptography用户

发布于 2022-10-29 08:26:24

票数 0
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/59080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档