首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CBC第一块可塑性

CBC第一块可塑性
EN

Cryptography用户
提问于 2018-05-01 18:29:32
回答 1查看 277关注 0票数 0

设$m_1 =\底括号{ {0,1}^n \x {0,1}^n }__{L\text{times}$是空间$\mathcal{M}^L$的消息,其中$\mathcal{M} = {0,1}^n$。

让$c_1$是使用CBC模式对$m_1$进行加密。

设$x \in \mathcal{K}$是二进制字符串。

最后,让$m_2$成为另一个消息,这样:

  • $m_2 = m_1 \oplus x$
  • $m_2 = m_1$ for $i = 2,.,n$

如何将$c_1$修改为$c_2$,即$m_2$的加密?

我不知道如何直接修改$c_1$,我只能考虑一些类似于$\oplus$ing (带有$x$的初始化向量)这样的东西,这样$c_2$就可以在其计算的第一个块中同时使用$m$和$x$。

EN

回答 1

Cryptography用户

回答已采纳

发布于 2018-05-01 19:06:17

是的,您可以修改初始化向量以实现您的目标(如注释初始化向量是密码文本的第一个块。中提到的那样)。因此,通过计算新的初始化向量$IV_2 = IV_1 \oplus x$,cipertext/IV对$(c_1,IV_2)$是具有CBC模式的$m_2$的有效加密。这是因为$m_2 = m_1 \oplus x$,所以$$m_2 \oplus IV_2 = (m_1 \oplus x) \oplus (IV_1 \oplus x) = m_1 \oplus IV_1$$ --这样,分块密码的第一个输入块对于两个消息都是相同的($\oplus$d及其各自的IVs),加密的输出对这两个消息都有效。

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

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

复制
相关文章

相似问题

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