目录
1.4 现代密码学原理
1.4.1 原则一:正式定义
1.4.2 原则二:精确假设
1.4.3 原则三:安全性证明
Principles of Modern Cryptography
从上一节中可以清楚地看到,密码学在历史上更多地是一门艺术,而不是一门科学。
在过去的几十年里,密码学已经发展成为一门科学。现在,方案以更系统的方式开发和分析,最终目标是提供给定结构安全的严格证明。为了阐明这种证明,我们首先需要正式的定义来明确“安全”的含义;这样的定义本身是有用和有趣的。事实证明,大多数密码证明依赖于当前未经证实的关于某些数学问题的算法难度的假设;任何此类假设都必须明确且准确地陈述。强调定义、假设和证明将现代密码学与经典密码学区分开来;我们现在更详细地讨论这三个原则。
安全定义有两个组成部分:安全保证和威胁模型。
安全保证定义了该方案旨在阻止攻击者做什么,而威胁模型描述了对手的力量,即假设攻击者能够执行什么行动。让我们从第一个开始。安全加密方案应该保证什么?
It should be impossible for an attacker to recover the key.
攻击者理论上不可能恢复密钥
It should be impossible for an attacker to recover the plaintext from the ciphertext.
攻击者理论上不能通过密文来恢复明文
It should be impossible for an attacker to recover any character of the plaintext from the ciphertext.
攻击者理论上不能通过密文恢复明文中的任何一个字符
The “right” answer: regardless of any information an attacker already has, a ciphertext should leak no additional information about the underlying plaintext.
无论攻击者已经掌握了什么信息,密文都不应该泄露有关底层明文的额外信息。
威胁模型有几种可行的选择,按照攻击者力量的递增顺序
- 唯密文攻击(Ciphertext-only attack):这是一种最基本的攻击类型,指敌手通过观察一个或多个密文,然后试图通过密文中潜在的规律来获取明文。
- 已知明文攻击(Known-plaintext attack):指敌手获取了一对或多对使用某种密钥加密的明文/密文对。然后通过密文推断使用相同密钥加密的明文。
- 选择明文攻击(Chosen-plaintext attack):敌手能够选择明文进行加密。可以进行已知明文攻击。
- 选择密文攻击(Chosen-ciphertext attack):敌手能够选择密文进行解密,然后同样的,可以分析出密文中潜在的明文信息。
大多数现代密码构造无法无条件地被证明是安全的;这类证明需要解决假定复杂性理论中的问题,而这些问题今天似乎远未得到解答。这种不幸状况的结果是,安全性证明通常依赖于假设。现代密码学要求任何此类假设都必须明确且数学上精确。在最基本的层面上,这是因为安全证明需要这样做。但也有其他原因:
精确假设的第一个原因:假设的检验
假设是未被证明但却被推测为正确的陈述。为了加强我们对某些假设的信任,有必要对假设进行研究:假设被检查和测试得越多而没有被反驳,我们就越相信这个假设是正确的。相应的,如果所依赖的假设没有得到准确的陈述和呈现,就无法对其进行研究和(可能存在的)反驳。因此,增加我们对假设的信心的一个先决条件是对所假设的确切内容有一个准确的陈述
精确假设的第二个原因:假设的比较
在密码学中,我们经常会遇到两种方案,这两种方案都可以证明满足某些定义,每个方案都基于不同的假设。假设所有其他条件都相同,应首选哪个方案?如果第一种方案所基于的假设比第二种方案所依据的假设弱(即,如果第二种假设暗示第一种假设),那么第一种方案是优选的,即基于较弱假设的方案是首选。因为它可能证明第二种假定是错误的,而第一种假设是真的。如果两种方案使用的假设不可比,那么一般规则是选择基于更好研究的假设的方案,其中可能有更大的置信度。
精确假设的第三个原因:理解必要的假设
加密方案可能基于某些基础构建块。如果后来在构建块中发现了一些弱点,我们如何判断加密方案是否仍然安全?如果作为证明方案安全性的一部分,明确了有关构建块的基本假设,那么我们只需检查所需假设是否受到发现的新弱点的影响。
刚才描述的两个原则使我们能够实现我们的目标,即在某些假设下,提供一个构造满足给定定义的严格证明。这种证明在密码学的背景下尤其重要,因为攻击者正积极尝试“破坏”某种方案。安全证明提供了与定义和假设相关的铁腕保证,即攻击者不会成功;这比采用无原则或启发式方法解决问题要好得多。如果没有证据证明拥有指定资源的对手无法破坏某种计划,我们只能凭直觉认为情况就是这样。经验表明,密码学和计算机安全的直觉是灾难性的。有无数未经证实的计划被破坏的例子,有时是在开发后立即,有时是几年后。
下一篇:五一长假家长写给初一孩子的寄语