信息论与密码学

Posted by nop on 2020-05-19
Words 2.3k In Total

概述

密码学是数学和计算机科学的分支,同时其原理大量涉及信息论。Claude Shannon在1949年发布”Communication Theory of Secrecy Systems”的论文,将信息论引入到密码学中,提出完善保密保密性。不过由于其限制难以在现实中难以满足,所以直到最近几十年量子密码的研究,信息理论安全模型重回研究者视野,无条件安全密钥协商成为热点。

之后,信息理论安全模型引入到模糊提取,即从生物特征等模糊数据中直接提取密码体制中所需的密钥。无论是无条件安全密钥协商还是模糊提取,信息论、纠错码、无条件认证码等理论与技术起着至关重要的作用。

密码体制的数学模型

密码学的基本概念

  1. 明文(plaintext): 在密码学中是指传送方想要接收方获得的可读信息
  2. 加密(encryption): 将明文信息改变为难以读取的密文内容,使之不可读的过程。只有拥有解密方法的对象,经由解密过程,才能将密文还原为正常可读的内容。
  3. 密文(ciohertext): 明文经过加密算法所产生的
  4. 解密(decryption): 把密文转化为明文的过程
  5. 密码(cipher): 是一种用于执行加密或解密的算法(一系列可以作为一个过程来遵循的定义明确的步骤)
  6. 密钥(Key): 又常称金钥,是指某个用来完成加密、解密、完整性验证等密码学应用的秘密信息

加密后数据的安全性取决于密码算法的强度和密钥的保密性

保密系统的数学模型

香农提出的保密系统模型:

Alt

特点如下:

  1. 明文空间的统计特性分为有记忆和无记忆的
  2. 密钥源通常是无记忆的,并且满足均匀分布
  3. 密文空间的统计特性由明文空间和密钥空间的统计特性决定
  4. 假定信道无干扰,分析者能够解惑密文,且知道所用密码体制以及明文空间和密钥空间的统计特性

对称加密与非对称加密

对称加密

对称密钥算法(Symmetric-key algorithm)又称为对称加密、私钥加密、共享密钥加密,是密码学中的一类加密算法。这类算法在加密和解密时使用相同的密钥,或是使用两个可以简单地相互推算的密钥。事实上,这组密钥成为在两个或多个成员间的共同秘密,以便维持专属的通信联系。与公开密钥加密相比,要求双方获取相同的密钥是对称密钥加密的主要缺点之一。

在对称密钥加密方案中,加密和解密密钥必须是相同的。通信方必须具有相同的密钥才能实现安全通信。对称密钥的一个典型例子:德国军方的恩尼格玛密码机。这种密码机每天都有密钥设置。当盟军弄清楚机器如何工作时,他们能够在发现给定日期传输的加密密钥后立即解密消息中编码的信息。

非对称加密

公开密码密码学(Public-key cryptography),也称非对称式密码学。密码学的一种算法,一共两个密钥,即私钥和公钥。其中,私钥用于解密,公钥用于加密;公钥可以公开,可任意向外发布;私钥不可以公开,必须由用户自行严格秘密保管,绝不透过任何途径向任何人提供,也不会透露给被信任的要通信的另一方。

非对称加密过程是单向的,其中一条密钥加密后只能用相对应的另一条密钥解密:

Alt

对称密码和非对称密码

对称密码是指在加密和解密时使用同一个密钥的方式,公钥密码则是指在加密和解密时使用不同密钥的方式。

对称密钥加密牵涉到密钥管理的问题,尤其是密钥交换,它需要通信双方在通信之前先透过另一个安全的渠道交换共享的密钥,才可以安全地把密文透过不安全的渠道发送;对称密钥一旦被窃,其所作的加密将即时失效;而在互联网,如果通信双方分隔异地而素未谋面,则对称加密事先所需要的“安全渠道”变得不可行;非对称加密则容许加密公钥随便散布,解密的私钥不发往任何用户,只在单方保管;如此,即使公钥在网上被截获,如果没有与其匹配的私钥,也无法解密,极为适合在互联网上使用。

另一方面,公钥解密的特性可以形成数字签名,使数据和文件受到保护并可信赖;如果公钥透过数字证书认证机构签授成为电子证书,更可作为数字身份的认证,这都是对称密钥加密无法实现的。

不过,公钥加密在在计算上相当复杂,性能欠佳、远远不比对称加密,即对称加密的速度比公钥加密快很多;因此,在一般实际情况下,往往通过公钥加密来随机创建临时的对称秘钥,亦即对话键,然后才通过对称加密来传输大量、主体的数据。

信息论与密码体制的安全测度

熵的密码意义

如果H(M)=0,则表示该信息不含任何不确定性,即该信息或事件一定会发生。相反地,如果H(M)很大,则表示信息的不确定性很大即信息量很大。

从安全角度看,只有熵值越大攻击者猜中信息的概率才越小,即密码越难破解。

从信息论的观点看,一个保密系统(P, C, K, E, D),如果知道密文和不知道密文对明文熵的大小无影响(H(P)=H(P|C)),则这个保密系统就称为完善的无条件保密系统。而对于完善保密系统,有H(K)=H(K|C)

密码体制的熵

一次一密体制:密钥至少必须与消息本身一样长,并且没有密钥被重复使用。

所以说,密码体制的熵可用密钥空间大小的度量。一般来讲,一个密码体制的熵越大,不确定性越大,相应的破译难度也就越大。对于一个完善的保密系统,其密钥量的对数必须不小于明文集的熵

冗余度

密码分析者的目的是获取密钥K或明文P,或两者都有。在分析前,一般情况下已经具有一些关于明文P的统计信息,比如知晓明文的语言,而这个语言有有一个确定的与之相关的冗余度。密码分析者就根据这个冗余度来减少可能的明文数目,最终确定明文。冗余度越大,越容易被攻击。因此,在加密明文前,经常需要一个压缩程序以减少明文大小。实际上,在加、解密时均须压缩处理以降低消息的冗余度。

混乱(confusion)和扩散(diffusion)是 Shannon 提出的两种隐藏明文消息中冗余度的基本技术:

  1. 混乱: 用于掩盖明文和密文之间的关系,以挫败通过研究密文以获取冗余度和统计模式的企图
  2. 扩散: 将明文冗余度分散到密文中使之分散开来,密码分析者需求这些冗余度会更困难

唯一解距离U(unidty distance)

唯一解距离U也称唯一解点,它不是对密码分析需要多少密文的度量,而是对存在唯一合理的密码分析所需要的密文数量的指标,即使得对应明文的实际信息(熵)与加密密钥的熵之和等于所用的密文位数的渐近密文量。也可以理解为:唯一解距离是指,当进行强力攻击时,可能解密出唯一有意义的明文所需要的最少密文量。

唯一解距离与冗余度的区别

唯一解距离与冗余度成反比。唯一解距离越长,密码系统就越好。当冗余度接近为零时,即使一个普通的密码系统也是可能不可破的。唯一解距离可以保证当其太小时,密码系统是不安全的,但并不保证当其较大时,密码系统就是安全的。

参考链接

https://zh.wikipedia.org/wiki/%E5%AF%86%E7%A0%81%E5%AD%A6

https://wenku.baidu.com/view/75583430e518964bce847c32.html

https://wenku.baidu.com/view/d24e372b453610661ed9f477.html

https://zh.wikipedia.org/wiki/%E5%85%AC%E5%BC%80%E5%AF%86%E9%92%A5%E5%8A%A0%E5%AF%86

https://blog.csdn.net/qq_31825569/article/details/79925884


You are welcome to share this blog, so that more people can participate in it. If the images used in the blog infringe your copyright, please contact the author to delete them.