分组密码体制【密码学笔记】
分组密码的基本概念 分组密码在加密过程中不是将明文按字符逐位加密,而是首先要将待加密的明文进行分组,每组的长度相同,然后对每组明文分别加密得到密文。加密和解密过程采用相同的密钥,称为对称密码体制。 例如将明文分为 \(m\) 块: \(P_{0},P_{1},P_2,…,P_{m-1}\) ,每个块在密钥作用下执行相同的变换,生成 \(m\) 个密文块: \(C_0,C_1,C_2,…,C_{m-1}\) ,每块的大小可以是任意长度,但通常是每块的大小大于等于64位(块大小为1比特位时,分组密码就变为序列密码)。 如下图所示是通信双方最常用的分组密码基本通信模型。 一个分组密码系统(Block Cipher System,简称BCS)可以用一个五元组来表示: \(BCS=\{P,C,K,E,D\}\) 。其中,P(plaintext)、C(ciphertext)、K(key)、E(encryption)、D(decode)分别代表明文空间、密文空间、密钥空间、加密算法、解密算法。 设 \(X=\{x_0,x_1,…,x_{n-2},x_{n-1}\}\) 为一组长度为 \(n\) 的明文块,在密钥 \(K=\{k_0,k_1,…,k_{t-1}\}\) 的加密作用下得到密文块 \(Y=\{y_0,y_1,…,y_{m-2},y_{m-1}\}\) ,其中 \(x_i,y