Preface of《Introduction To Modern Cryptography》

        《Introduction to modern cryptography》是一本非常合适的现代密码学入门书籍。本书的特点紧凑、严谨、系统地展现了现代密码学的核心范式和准则。对于密码学的初学者而言,本书可能具有相当的难度,但依旧非常具备仔细钻研的价值。

        与现代密码学相对应的称作古典密码学,但二者并不应当以时间作为严格的划分界限。现代密码学有着扎实的数学基础,并且是可以被证明安全的。

        现代密码学所强调的,是以下三点:

  •         定义(definition):如果想要设计任何的密码学准则或者协议,首先应当给出方案(scheme)以及安全(security)的形式化定义。如果都不知道你所设计的方案是干什么的,所要达到的安全是什么,那么设计也就无从谈起。在本书中涉及到许多内容的定义。例如方案,包括私钥加密、消息认证码、公钥加密、数字签名,以及密钥交换方案等等。对于每种方案,都有相应的安全定义。例如私钥加密和公钥加密都涉及到的eva-secure、cpa-secure、cca-secure的安全定义。消息验证码则有"secure"和"strong-secure"的安全定义。这种定义也应当包括敌手(adversary)或攻击者(attacker)的攻击模式,是局限在被动的窃听,还是可以主动的篡改?
  •         准确的假设(precise assumption):许多密码学的方案和构造(construction)并不是无条件安全的。这里的假设应当从两个方面理解:第一个方面是敌手(adversary)或攻击者(attacker)的算力。敌手的攻击模式应当是定义的内容,而这里我们关注的是算力,假设敌手具备多项式级别的算力(而不是指数级别)。第二个方面则是密码学的构造,通常依赖许多的数学难题。例如,私钥加密涉及到伪随机数和为随机生成器的存在,而公钥加密的某些构造则依赖于大素数分解问题、离散对数问题等等。我们总是假设这些问题是很难破解的。因此,为了学习具体的密码学方案的构造,我们需要深入理解这些难题。
  •         关于安全的严格证明(rigorous proofs of security)。有了对于方案和安全的准确描述,以及数学难题的假设,我们就能给出关于安全的严格证明,来说明我们的构造是符合要求的。在古典密码学当中,有一些方案天花乱坠,看上去纷繁复杂实则存在致命的漏洞。现代密码学的方案构造,必须要有相对应的安全证明。

        在整本书的学习当中,我们都应当强调这三点。同时,我们应当从以下的五个角度去理解现代密码学的组成部分:

  •         方案(scheme):方案是我们想要在现实世界中达到的目标。在第3章我们介绍第一种方案私钥加密(Private Key Encryption),它的目标是保护信息的机密性。私钥加密假设通信双方都拥有相同的密钥key,这个密钥仅有通信双方知道,这样即使在不安全的信道上也可以保护信息。第4章介绍了消息验证码(Message Authentication Code),它的目标是保护信息的完整性。如果具有主动攻击能力的敌手想要篡改信息,那么消息验证码能够提醒通信方,消息被篡改。本书的大部分内容都在介绍与机密性相关的方案(私钥加密、公钥加密)和完整性相关的方案(消息验证码、数字签名),也包括一些其余的方案(哈希函数、密钥交换机制)等。我们主要关注方案的定义,以及究竟在现实世界中达到怎样的目标。
  •         敌手(adversary):我们关注敌手的能力。注意,敌手能力是相对于方案而言的。如果是私钥加密、公钥加密这种保护机密性的方案,那么敌手的目标就是尽可能获取原文消息的信息。这个时候敌手的能力包括窃听攻击、选择明文攻击、选择密文攻击等等。如果是对于消息验证码这种保护完整性的方案,敌手的目标就是想办法篡改消息而不让通信方察觉。我们主要以实验的方式,形式化给出敌手的能力。而对于算力,我们会在第2章假设敌手的算力是无穷的,在第3章及其之后假设敌手的算力是多项式级别的。
  •         安全(security):安全的定义,和方案与敌手紧密相关。 
  •         假设(assumption):一些数学难题。
  •         构造(construction):方案是抽象的,可以理解为接口,而构造则是它们的具体实现。构造依赖于假设,即数学难题。

        最后,介绍下《Introduction To Modern Cryptography》(Third Edition)的全部内容。本书大致可以分为三个部分,第一个部分将带着我们从古典密码学走入现代密码学。

  1. 第一章介绍了古典密码学,并对于序言涉及到的现代密码学特征、准则有了更深的讨论。我们的重心并不是古典密码学,但应当对此有所了解。
  2. 第二章介绍了“完美加密”。听起来,如果我们学完了完美加密,似乎一切问题都结束了。但实际上完美加密并不完美。首先,它假设的敌手能力很差,只限于窃听攻击。同时,它并不具备实际使用的价值。但是完美加密在现代密码学的过程中依旧非常重要,它可以理解为进入到现代密码学世界的桥梁。

        第二部分是第三章到第八章,这部分内容被称作“私钥密码学”或者“对称密码学”。私钥和对称在这里是一个意思——我们假设通信双方都有着相同的、保密的密钥key。

  1. 第三章介绍了第一种方案:私钥加密(Private Key Encryption)。
  2. 第四章介绍了第二种方案:消息验证码
  3. 第五章回到了私钥加密。我们讨论如何结合二者,创造出cca-secure的私钥加密方案。
  4. 第六章介绍了哈希函数。这是密码学的重要基础,也可以理解为一种方案,因为我们依旧讨论了相关的敌手和安全问题。
  5. 第七章是比较底层的内容。第三章的时候我们假设伪随机数和伪随机生成器的存在,这一章我们讨论几种实际使用的伪随机数和伪随机生成器。        
  6. 第八章从更加数学的角度讨论对称密码学。

        第三部分是第九章到第十五章。在对称密码学中,我们没有介绍怎么做到使得通信双方具备相同的密钥。实际上在现时使用中做不到事先约定好这样的密钥。因此我们介绍非对称密码学,或者称作公钥密码学。

  1. 第九章讨论数论、群论和用于公钥密码学的难题假设。这个顺序和学习私钥密码学的顺序完全相反。那时候我们先学习方案、敌手、安全,在第七、八章才讨论假设和构造。
  2. 第十章继续讨论数论和群论。我们简单介绍下,为什么难题是困难的。
  3. 第十一章是密钥管理。
  4. 第十二章是公钥加密。
  5. 第十三章是数字签名。
  6. 第十四章是后量子密码学。
  7. 第十五章是公钥加密当中的前沿主题。        

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值