Chapter 1. 2 Modern Cryptography

1. Principles of Modern Cryptography

  (1) Formal Definitions

    对于设计一个加密方案来说,首先来了解其定义是最重要的,就如

      If you don't understand what you want to achieve, how can you possibly know when (or if) you have achieve it?

    因此,要想设计一个好的加密方案,应该先了解Modern CryptographyFormal Definitions of security,该定义主要分为两方面:

    ① security guarantee :该加密方案可以阻止attacker去做一些不利的事情,即使attacker掌握了一些相关的信息,ciphertext也不会泄露出plaintext

    The “right” answer: regardless of any information an attacker already has, a ciphertext should leak no additional information about the underlying plaintext.

    ② threat model:可以承受来自attackerpower大小。我们可以假设adversary所用有的power,但却不能够假设出adversary会如何使用这些power。主要有以下几种:

      1). Ciphertext-only attack:仅依靠ciphertext来进行attack,通过监视发送加密信息的public communication channel获取ciphertext,该方法对于classical cryptography是一个threat model

      2). Known-plaintext attack:已知和ciphertext相对应的plaintext(对于所有加密方法来说,其并不是完全安全的,或者说只是在一段时间内可能是完全安全的)

      3). Chosen-plaintext attack: 获取明文的加密或者明文

      4). Chosen-ciphertext attack: 获取加密文本的解密

  (2) Precise Assumptions

    ① Validation of assumptions:对一些assumpions进行提前验证

    ② Comparison of schemes:基于不同的assumptions,去验证schemes是否满足definition

    ③ Understanding the necessary assumptions:对一些方面或者模块进行假设验证,如果在以后找到该schemeweakness,可以checkassumption判断该模块是否有影响。

  (3) Proofs of Security

    基于上面两个模块,现在就可以证明在某些特定的assumption下构造的definition

  (4) Provable Security and Real-World Security

    理论上证明的scheme的安全并不一定是现实世界中的安全,这是一个缺点,但也可能是一个优点(对于attacker可能在进行attack时会产生影响)

猜你喜欢

转载自www.cnblogs.com/toosimple/p/11123355.html