信息安全技术及应用 常规加密技术
一、密码技术与常规加密概述
1.1 密码系统
密码学涵盖密码编码学和密码分析学两大分支。
前者的研究目标是保障信息的机密性,
而后者则专注于解码工作。
一般加密模型

该密码系统的核心功能是负责对信息进行加密处理和解密处理。
原始信息即为该系统中待进行编码的数据内容。
该系统所采用的是特定的加密程序来进行编码操作。
编码数据是指经过该系统处理后产生的二进制形式的信息载体。
而解码程序则指用于对编码数据进行还原的操作流程,它实际上是对应加密程序的逆向操作,两者之间具有高度关联性
在加密与解密变换的过程中依据一定规律引入一个相同的或两个不同的但相互关联的参数 而这个参数则被定义为"密钥" 它们分别被称作"加密密钥"与"解密密钥" 。
主要取决于加密密钥的安全性。为了保证安全性能,请定期更新加密密钥以避免潜在风险。该密码系统的安全性由以下几个关键要素共同决定:明文的安全传输机制(P)、加密转换过程(C)、加密算法的抗破解能力(E)、解密恢复流程(D)以及相关的安全密钥管理策略(K_e 和 K_d)。
密码系统的使用:
- 该系统的加密与解密功能整合在一起。
- 通过该系统的设计架构实现数据在不同节点间的安全流转。
- 加密与解密操作由同一个实体完成以提高效率。
- 在这种架构下实现了对敏感数据的高度保护能力。
- 加密过程和解密过程位于同一系统中。信息通过存储层的加密处理实现安全性保障。
- 加密过程和解密过程位于不同系统中。通过传输层的安全机制完成数据加密处理以确保通信安全。
1.2 密码体制
基于加密-解密过程所使用的密钥类型不同进行划分,则可将它们划分为两类。其中一类被称为对称密码体制,另一类则被称为非对称密码体制。
对称密码体制:采用相同的一组密钥进行加密与解密的过程。也可被称为常规单个私有钥匙密码体系或秘密共享密码体系等术语。
非对称密码体制:基于一对相关联的公私钥匙分别完成加密与解密操作。也可被称为公开单因子公私钥匙体系或双因素加密机制等
基于某种条件(即密文字串是否与明文字串的位置有关),我们可以将这些分类方法归为两种不同的加密模式
基于分组的密码体制:其密码结果仅由加密算法和使用的密钥来决定。(常见)
基于序列的密码体制:其密码结果不仅依赖于加密算法和使用的密钥之外还取决于被加密明文字母在其整个明文中所处的位置。
依据加密变换的可逆性不同,则可以将密码系统划分为单向函数密码体制和双向变换密码体制。
单向加密体制:通过加密算法将原始信息转换为加密数据,并且不具备解密能力。特别适用于无需解密信息的情况,例如在报文鉴别等场景中实现身份验证功能。
双向对称加密体系:比如常见的AES、RSA等算法就是典型的代表。
基于是否引入了随机因素,在加密过程中可将密码系统划分为确定型密码体制和随机密码体制。
确定型密码体制:一旦明文及其相应的密钥被明确确定后,则其对应的加密结果会严格唯一地由它们所决定。(常用)
随机密码体制:对于任意给定的一组明文及其相应的密钥,在一定范围内必然存在一个相当庞大的候选信息空间与其相关联,并且最终会从这个候选信息空间中按照某种固有的不确定性原则选取一个代表作为加密结果。
1.3 常规加密模型

常规加密:又被称为对称加密或单密钥加密,在公钥加密出现之前是唯一被采用的加密类型,并被广泛应用。在基于常规密码学的通信系统中,参与安全通信的两个方会共享同一密钥K。在此过程中,采用的是公开的加密与解密算法,并且确保该唯一密钥的安全性。因此,在这种体系中使用的常规密码学中的秘密密钥通常被称为秘密钥匙(Secret Key)
影响常规加密安全性的关键因素是:
- 加密算法具有高度安全性,并非仅仅依靠强度即可实现有效破译。
- 在算法确定且公开的情况下,默认情况下常规加密的安全性取决于密钥的安全性。当密钥不发生泄露时,默认其安全性直接关联于密钥长度及更新频率等参数。
主要手段:扩散与扰乱。
- 扩散:使得每个明文字符及其对应的密钥字符都能显著地影响密文字符的数量。
- 扰乱:通过复杂化密文与明文及密钥之间的关系
密码分析 :由密文试图获得明文、密钥或这两者的过程称为密码分析。
常用的密码分析手段包括硬力攻击( brute-force attack)、统计学方法( statistical analysis)、差分密码学技术( differential cryptanalysis)、线性代数方法( linear algebra methods)以及代数解密( algebraic decryption)等。
其破译策略主要受制于加密方案的特点和可获取信息类型。
对加密消息进行攻击的类型:
- 仅有密文:可用的信息仅有密文和加密算法。方法一:对所有可能的密钥进行尝试(强行攻击)。方法二:对密文本身进行统计分析。
- 已知明文:除密文和加密算法外,分析员还能够获取一段或多段明文- 密文对,或者分析员可能知道某种明文模式将出现在一个消息中。
如果攻击者能够设法在源系统插入由该攻击者所选择的信息,则可进行选择明文攻击。
当且仅当一个加密算法满足以下任一条件时,则称该算法在计算上是安全的。
1.4 经典加密技术
替代编码技术:该方法通过将每个信息单元(字母、比特、比特组合或字母组合)映射到另一个不同的信息单元来实现密文的生成。
置换编码技术:该方法在保证原始信息完整性的同时对各信息单元进行重新组织顺序以达到加密目的。
以上定义分别从不同角度阐述了该加密算法的基本原理。
二、现代常规加密技术
2.1 序列密码和分组密码
序列密码(流密码): 本节讨论序列密码(也称为流密码)。在该密码体系中,将明文P视为一个连续的二进制流(也可视为字符流),其中各比特依次为p₁, p₂,…. 通过使用密钥序列K=k₁, k₂,…, 其中每个kᵢ对应加密操作应用于对应的pᵢ. 具体而言,则有公式表示为:E_K(P)=E_{K₁}() \cdot E_{K₂}() \cdots$

该体制的保密性能完全取决于密钥的质量。当密钥为绝对随机序列时,则这种编码系统就是理论上无法破解的。这也被称为一次性使用密码本编码系统。
该编码系统所需的密钥量非常大。
目前通常采用伪随机序列作为密钥序列。
这些伪随机序列一般具有10_{50}的数量级。
-
-
- 分组密码(block cipher):
将明文划分为固定长度的n比特数据块,在密钥的调控下对每个数据块分别施加线性或非线性转换来生成对应的密文。
- 分组密码(block cipher):
-
分组密码的主要特点:
- 每次对一组数据进行处理无需同步操作,并适用于分组交换网络的传输过程。
- 使用特定密钥时,在加密过程中明文的各组与对应的密文组保持一致。
分组密码的操作模式如下:
(1)电子密码本(ECB)是最基础的操作模式。
将明文P分割为长度为w比特的明文分组(P₁, P₂, …, Pₙ),其中末尾的一个分组通常需要填充。
使用相同的密钥K对每个明文分组进行加密。
在加密过程中,每个明文分组将单独进行处理。
在该方案中,明文分组与对应的密文分组之间存在一一对应关系。
电子密码本模式特点如下:
- 每一组相同的明文会生成对应的相同密文分组。
- 容易受到统计分析攻击影响。
- 支持并行处理技术的应用,在加密和解密过程中速度较快且操作便捷,并且具有广泛应用。
(2)密码分组链接模式(CBC):
将明文字母P划分为一组或多于一组。
每一分组均采用相同的密钥K来进行加密运算。
在对每个字母群(即单个字母)进行加密之前,请确保它已经与前一个字母群的解密结果执行按位异或操作,并随后完成自身解密过程。
对于第一个字母群的处理,则需引入一个初始向量IV与其进行按位异或运算。
密码分组链接模式特点:
- 采用将明文分组与前一个密文分组进行异或运算的方式,在达到隐藏明文模式的同时具有抗统计分析的能力。
- 该模式不具备并行处理的能力,并其加密效率较低。
- 适合于对具有高度结构化特性的信息进行安全加密传输的应用场景。
2.2 数据加密标准DES
DES 加解密原理如下:
在加密过程中,首先需要将原始明文分成若干个数据块,在每个数据块中明确其长度设定为 64 二进制比特,并对每一个独立的数据块依次经过加密处理以生成对应的密文数据。完成所有子数据块的加密操作后将这些中间结果进行连接汇总从而形成完整的最终 ciphertext文本内容。采用的密码学算法所需的密钥长度标准规定应达到 64 二进制比特但实际应用中由于存在部分冗余设计导致真正参与加密的核心密钥长度缩减至 56 二进制比特其中另有 8 二进制比特未被有效利用
DES加密算法特点:是一种分组密码。

DES加密过程分为两条主线:明文的加密处理和子密钥的产生。
明文加密处理包含三个主要部分:第一个步骤是起始置换操作;第二个步骤采用传统的Feistel架构进行十六次迭代处理;第三个步骤完成与起始置换相对应的逆向操作。
加密方程: R_i=L_{i-1} \oplus f(R_{i-1},K_i)
DES算法的缺点:
- 相同明文对应的密文相同。
- 使用较短的密钥以及较短的分组长度。
- 每个密文字节仅与对应的明文字节以及加密所使用的密钥相关联,并采用电子密码本模式
DES的保密性:仅取决于对密钥的保密,而算法是公开的。
三、常用常规加密算法介绍
3.1 国际数据加密算法IDEA
在每次加密过程中,在明文分组长度为64比特的前提下,在加密时将这64比特数据划分为四个互不重叠且各为16比特的子分组进行处理。
在密钥管理方面,在IDEA算法中,默认设置下其总密钥长度为128比特,在实际应用中会根据需求将其划分为52个独立的16比特子密钥单元进行处理。
该算法设计共包含8个独立的处理循环,在完成全部8轮循环操作后会进行一次统一的输出变换步骤以完成最终的数据转换。
每个处理循环均采用固定的六个独立的一维数组作为运算依据,在完成八轮循环后则由四个一维数组执行最终输出变换步骤来生成完整的密文输出结果。
值得注意的是,在解密过程中所使用的解密算法与加密算法具有完全相同的运行机制,并且解密过程中的各个子密钥单元可以通过对加密过程中的相应子密钥单元进行特定位移操作来实现自动提取。
3.2 RC5数据加密算法
RC5参数包括字长w、循环轮数r以及密钥长度b等几个关键指标。其中w的单位是比特,在16、32或64中选择。每组长度设定为2w,并可在32、64或128比特中进行选择。循环轮数r可选范围从0到255,并且增加轮数通常会提高安全性。其中b表示以字节计量,在0到255范围内设置,默认情况下可能对应8位二进制数据;而设置较长的密钥(如16位及以上)则可能带来更高的安全性但运算速度可能会有所下降。
RC5算法由三部分组成:密钥扩展算法、加密算法和解密算法。
RC5的主要特点如下:
(1) 适用于软硬件环境:RC5仅依赖基本算术运算、按位操作和移位操作三种基础运算。
(2) 运算效率高:该算法设计简洁、适用于32/64位处理器,并且每次操作均针对整个机器字执行。
(3) 支持多种字长:其中参数决定了机器字的长度(如32或64位)。
(4) 循环深度可调节:该算法允许根据需求设置循环深度以优化性能表现。
(5) 密钥长度灵活设置:支持任意长度密钥生成机制以满足不同安全需求。
(6) 低资源消耗特性:由于其低资源消耗特性,RC5特别适合应用于像智能卡这样的设备。
(7) 高安全性保障:通过合理配置参数组合可实现高强度的安全防护功能。


3.3 高级加密标准AES
从功能特点来看,Rijndael算法具有显著优势。具体而言:(1)其结构设计极为简洁明了,在硬件和软件实现上均展现出卓越性能。(2)由于其极低的内存占用需求,在受限环境运行时表现优异。(3)该算法具备高效的执行机制,在各种平台上均能稳定运行,并且支持并行处理设计方案不仅提升了效率,而且具备抗多种攻击手段的能力。(4)该加密方案在处理分组大小和密钥长度设置方面提供了较大的灵活性。
