10.4.1  密码技术概述

10.4.1 密码技术概述

从最初的保密通信发展到目前的网络信息加密,密码技术一直伴随着信息技术的发展而发展。密码技术是一门涉及数学、密码学和计算机的交叉学科,作为计算机信息保护的最实用和最可靠的方法,密码技术被广泛应用到信息安全的各个领域[69]。

1.密码学的发展

密码学是一门古老而又年轻的学科,用于保护军事和外交通信可追溯到几千年前。在当今的信息时代,大量的敏感信息通过公共通信设施或计算机网络来进行交换,而这些信息的秘密性和真实性是人们迫切需要的。因此,现代密码学在军事、政治、外交和商业中的地位越来越重要。计算机密码学是研究计算机信息加密、解密及变换的科学,是数学和计算机的交叉学科,也是一门新兴的学科。密码学的发展历史大致可划分为三个阶段。

(1)第一阶段(1949年之前) 这一阶段可看作是科学密码学的前夜,这段时期的密码技术可以说是一种艺术,而不是科学,密码学专家常常是凭借直觉和信念来进行密码设计和分析,而不是推理证明。例如,最早应用替代的凯撒密码。

(2)第二阶段(1949—1975年) 1949年Shannon发表的《保密系统的信息理论》一文为对称密码系统建立了理论基础,从此密码学成为一门科学,人们将此阶段使用的加密方法称为传统加密方法,其安全性依赖于密钥的秘密性,而不是算法的秘密性。

(3)第三阶段(1976年之后) 1976年Diffie和Hellman的《密码学的新方向》一文导致了密码学上的一场革命。他们首次证明了在发送端和接收端无密钥传输保密信息是可能的,从而开创了公钥密码学的新纪元[69]

2.密码学的基本概念

密码学作为数学的一个分支,是密码编码学和密码分析学的统称。密码编码学是指使信息保密的技术,即研究如何编码,采用怎样的编码体制才能保证信息被安全地加密。密码分析学是指破译密文的科学和技术,是在未知密钥的情况下从密文推演出明文或密钥的技术。

一个加密系统采用的基本工作方式称为密码体制,密码体制的基本要素是密码算法和密钥,其中密码算法是一些公式、法则或程序,而密钥则是密码算法中的可变参数。密码算法分为加密算法和解密算法。前者是将明文变换成密文,后者则是将密文变换成明文。密钥相应也分为加密密钥和解密密钥。一个安全的加密系统涉及的基本术语包括:

(1)明文(Plaintext) 未加密的报文。

(2)密文(Ciphertext)或密报(Cryptogram) 明文经过密码变换成的一种隐蔽形式。

(3)加密(Encryption) 将明文变换为密文的过程。

(4)解密(Decryption) 加密的逆过程,即由密文恢复出原明文的过程。

(5)发送者(Sender) 传送消息方。

(6)接受者(Receiver) 传送消息的预定对象。

(7)加密算法(Encryptionalgorithm) 发送者对明文进行加密时所采用的一组规则。

(8)解密算法(Decryptionalgorithm) 接收者对密文进行解密时所采用的一组规则。

(9)密钥(Key) 控制加密和解密算法操作的数据,分别称作加密密钥和解密密钥。

(10)截收者(Eavesdropper) 在消息传输和处理系统中的非授权者,通过非法手段来窃取机密信息[69]

3.密码学的分类

从不同的角度,根据不同标准,可以将密码分成若干类。

(1)按密钥划分

1)对称式密码。收发双方使用的密钥相同的密码,叫作对称式密码。传统的密码都属此类。

2)非对称式密码。收发双方使用的密钥不同的密码,叫作非对称式密码,如现代密码中的公共密钥密码就属此类。

(2)按明文和密文的处理方式划分

1)分组密码。使用分组密码时,明文被划分为一系列明文块,通常每一块都包含若干字符,并且都用同一个密钥进行加密。

2)序列密码。使用序列密码时,明文和密钥都被划分为位或字符的序列,并且明文序列中的每一位或字符都用密钥序列中对应的分量来加密。

(3)按加密算法是否变化划分

1)固定算法密码。把明文加密成密文的过程中加密算法固定不变的密码,称为固定算法密码。

2)变化算法密码。把明文加密成密文的过程中加密算法不断变化的密码,称为变化算法密码。由于加密算法在加密过程中可受密钥控制不断变化,因而可以极大提高密码的强度[22]

4.密码技术的应用领域

随着计算机和信息技术的发展,密码技术的应用领域不断扩展。具体来说,密码技术主要应用于信息保密、身份确认、保持数据的完整性等领域。

(1)通信中的数据保护 密码技术应用于通信线路上信息的保护。一方面,防止传输中的信息被非法窃听导致失密;另一方面,防止信息的内容被恶意攻击者非法篡改,并且能在发生此类事件后迅速发现。

(2)存储信息的保护 信息用密码技术加密处理后进行存储,保证只有掌握解密密钥的合法用户才能够读取数据,得到正确的明文。在许多用户的系统中,可以保护个人秘密,防止文件被破坏。

(3)通信双方的身份验证 密码技术不仅广泛应用于防止传输中的信息和记录存储的信息被攻击者非法窃听、浏览和篡改,同时也可以用于识别通信双方的真实性。这种对存取数据和发来电文的对方的合法性进行确认的方法叫作验证。

(4)抗抵赖 密码技术还应用于抗抵赖服务。它包含对源和目的双方的证明,通常情况下,抗抵赖服务是一种数字签名服务[70]