密文窃取

✍ dations ◷ 2025-10-14 14:52:50 #密码算法

在密码学中,密文窃取(CTS)是一种使用分组密码操作模式的通用方法,该操作模式允许处理不能均匀分割成块的消息,而不会导致密文的扩展,代价是稍微增加了复杂性。

窃取密文是一种使用块密码加密明文的技术,不需要将消息填充到块大小的倍数,因此密文与明文的大小相同。

它通过更改消息的最后两个块的处理来实现这一点。 除了最后两个块之外,所有块的处理都保持不变,但是倒数第二个块的密文的一部分被"窃取 "了,用来填充最后一个明文块。 填充的最后一块,然后像往常一样加密。

最终密文的最后两个块,包括部分倒数第二块(删掉"窃取"部分)和完整的最后一块,它们的大小与原明文相同。

解密时要求首先解密最后一个块,然后将被“窃取”的密文恢复到倒数第二个块,然后可以像往常一样解密。

原则上,任何使用块密码的分组加密模式都可以使用,但流密码模式已经可以加密任意长度的消息无需填充,因此它们不能进行该操作。 与窃取密文相结合的常用加密方式有电子密码本(ECB)和密码块链接(CBC)。

为 ECB 模式而进行的密文窃取要求明文长度超过一个块。 当明文长度为一个或更少时, 一种可能的解决办法是,使用一种类似流密码的分组密码操作模式,如 CTR、 CFB 或 OFB 模式。

用于 CBC 模式的密文窃取不一定要求明文长于一个块。 在明文为一个或更少块长度的情况下,初始向量(IV)可以作为先前的密文块。 在这种情况下,必须将修改后的 IV 发送到接受者。 但这在发送密文时 IV 不能被发送者自由选择的情况下(例如,当 IV 是一个派生值或预先确定的值) 不太可能,并且在这种情况下,针对 CBC 模式的密文窃取只能在明长于一个块文中发生。

为了对未知长度的数据实现 CTS 加密或解密,必须延迟处理(和缓存)最新的两个数据块,以便在数据流末端进行适当的处理。

有几种不同的方式来排列密文以便传输。不同排列方式的密文位元数都是相同的,只是传输顺序不同,因此选择不影响安全性,纯粹是为了实现上的方便。

这里的编号取自Dworkin所描述的。 第三种是最流行的,由 Daemen 和 Schneier 进行了描述; Meyer 描述了一个相关但不兼容的方案(关于位排序和密钥使用)。

安排密文传输最显而易见的方式,不外乎是缩短倒数第二个块,后面接着完整的最后一个块。 但这对于接收者来说并不方便,原因有两个:

这样做的好处是,如果最后的明文块恰好是块大小的倍数,那么密文就与原始操作模式相同,避免了密文窃取。

通常,更方便的方式是交换最后两个密文块,因此密文结尾先是完整的最后一个块,然后是截断的倒数第二个块。密文块就会自然对齐。

为了保持与非窃取模式的兼容性,选项 CS2只在被窃取的密文数量非零时执行这个交换,即原始消息不是块大小的倍数。

这保持了自然的对齐,以及与非窃取模式的兼容性,但是需要以不同的方式处理对齐和不对齐消息大小的情况。

最流行的替代方案是无条件地交换最后两个密文块。 下面的描述是使用该方案的顺序。

为了加密或解密数据,对除最后两个数据块外的所有数据块使用标准分组密码操作模式。

下面的步骤描述了如何处理明文的最后两个块,即 Pn-1和 Pn,其中 Pn-1的长度等于以位表示的密码的块大小 B; 最后一个块的长度 Pn 是 M bits(位); k 是正在使用的密钥。 M 可以范围从1到 B,所以 Pn 可能是一个完整的块。 CBC 模式描述还使用了就在有关块 Cn-2之前的密文块,如果明文适合在两个块内,则该密文块实际上可能是 IV。

对于这个描述,使用以下函数和操作符:

ECB 模式下的密文窃取在前两个块内引入了一种块间依赖关系,导致后两个块的错误传播行为发生改变。

相关

  • 酸杆菌门酸杆菌门(Acidobacteria)是新近被分出的一门细菌。它们是嗜酸菌。现在对它们研究还很少,但它们在生态系统中具有重要作用,比如土壤中。
  • 专职型 APCs抗原呈递细胞(antigen-presenting cell、APC)也称为抗原提呈细胞、辅佐细胞或抗原呈现细胞,是指在免疫应答过程中,能将抗原物质提呈给T细胞的一类辅佐细胞。APC是一群异质性细胞
  • 桑葚胚桑葚胚(拉丁文中的morus指的是桑葚的意思)是属于胚胎的早期发育,包含囊胚腔外围的细胞,包覆细胞外层的环带称为透明带。桑葚胚是合子胚胎分裂一直到32细胞时期,整个形状像一颗桑
  • 佩特罗尼乌斯盖厄斯·佩特罗尼乌斯·阿尔比特(Gaius Petronius Arbiter,27年-66年)是一位罗马帝国朝臣(英语:Courtier)、抒情诗人与小说家,生活于罗马皇帝尼禄统治时期。讽刺小说《爱情神话(英语:T
  • 卡尔斯巴德洞窟国家公园卡尔斯巴德洞窟国家公园(Carlsbad Caverns National Park)是美国的一座国家公园,位于新墨西哥州东南部。公园的特色为卡尔斯巴德洞窟。游客可以通过天然入口徒步进入,也可以通过
  • ΨPsi(大写Ψ,小写ψ,发音:/ˈpsaɪ/或/ˈsaɪ/,中文音译:普西),是第二十三个希腊字母。西里尔字母的Ѱ (Psi)是由Psi演变而成。符号Ψ或ψ用于:
  • 游戏牌游戏牌(英语:playing cards),是指以厚纸片、塑胶片等类似材质作的卡片,通常标有符号、数字,以多张组成呈现序数排列的牌组,作为卡片游戏使用,也有用于占卜。关于游戏牌起源还不是完
  • 乳罩胸罩(法语:Brassière)是一种衣物,又称胸围、乳罩、胸衣、布拉甲、乳房罩、奶罩、文胸,有时也以泛称“内衣”来代替,或美称“内在美”,其功能是用以遮蔽及支撑乳房。通常供女性使用
  • 燕山君燕山君(朝鲜语:연산군/燕山君 Yeonsan gun ?;1476年-1506年),姓李,名㦕(朝鲜语:이융/李㦕 Yi Yung),儿名无作金,是朝鲜王朝第10代君主,1494年至1506年在位。第7代君主世祖曾孙、第11代君
  • 攻势加拿大军事行动法莱兹包围战发生在1944年8月,在接近下诺曼底卡尔瓦多斯省法莱兹城附近德勒、亚尔根坦、维穆捷与尚布瓦四个法国乡镇,盟军试图包围并消灭德国第7军团与第5装甲