术语令人困惑,但通常我们将该值称为初始向量(IV)。使用随机IV的要点是,如果你对同一个消息加密两次,那么你就不会得到两次相同的密文,这对于防止信息泄露是必要的(例如,看看ECB mode中发生了什么 - 看看企鹅图片。)
对于第二个问题,一般的安全要求是即使攻击者提供了一些输入(m_i
),他也不应该弄清楚他无法控制的其他输入。要了解原因,请查看填充oracle攻击,例如POODLE。如果你理解POODLE,你应该能够在这个提议的方案中提出类似的东西。
这里暗示了可能发生的一些问题。想想m_1 = m_2
的情况。那么c_2
是什么?我不打算为你解决作业,但这应该指出你正确的方向。