Baptista加密方案的一种变体
1. 引言
混沌系统具有显著的特性,例如对初始条件和控制参数的高度敏感依赖性,以及能够从非常简单的系统生成复杂且不可预测的类随机信号。此外,由于这些混沌信号在已知初始条件和控制参数的情况下易于复现,混沌系统可广泛应用于多种安全应用中。在过去的二十年中,由于混沌与密码学之间存在密切关系,混沌系统已被广泛用作构建密码学方案的基本模块,特别是加密和哈希方案 [1–12]。
最有趣的技术之一是Baptista加密方案[1]。在[1]中,Baptista提出了一种基于单一一维混沌映射(即由逻辑映射定义的)的加密方案
$$ x_{i+1} = \mu x_i(1 - x_i) $$
其中,映射的状态 $ x_i \in [0, 1] $ 及其控制参数 $\mu$ 被选择为使得方程(1)表现出混沌行为 [即,$\mu \in (3.57, 4]$,除了一些孤立的例外情况]。为了加密由字母表 $ S = {s_0, s_1, …, s_{255}} $ 中符号组成的消息 $ m_1, m_2, …, m_L $(L 为某数值),Baptista的原始方案将子区间 $ I = [0.2, 0.8) \subset [0, 1] $ 划分为256个ε-子区间,其中 $ \varepsilon = (0.8 - 0.2)/256 $。
对于每个 $ 0 \leq j \leq 255 $,子区间 $ I_j = [0.2 + j\varepsilon, 0.2 + (j+1)\varepsilon) $ 与符号 $ s_j $ 相关联。设 $ m_i \in S $ 为第i个明文符号,假设方程(1)的当前状态为 $ x_h $(h 为某值)。第i个明文符号 $ m_i $ 的密文符号 $ c_i $ 是指从 $ x_h $ 出发,对方程(1)进行迭代以到达与 $ m_i $ 相关联的子区间所需的迭代次数。为了增强该方案的安全性,Baptista建议对方程(1)的迭代需持续进行,直到当前迭代次数大于 $ N_0 = 250 $ 且 $ |x_k - x_h| < \delta $,其中 $ x_k $ 是在发送端生成的 [0, 1] 中的一个随机数,而 $ \delta $ 是一个小于或等于0.99的预定义数值。
Baptista方案存在一些主要缺点,例如:(i)密钥空间小,因为 $ x_0 \in (0,1) $ 且 $ \mu \in (3.57, 4] $;(ii)密文分布是非均匀的;(iii)$ c_i \in (250, 65532] $;因此,密文大小远大于明文大小;(iv)速度慢,因为可能需要为单个明文符号生成一串随机数;以及(v)安全缺陷[12,13]。
在本文中,我们提出了一种Baptista方案的变体,该方案克服了原始方案中的一些缺点。所建议的方案基于两个混沌映射,这两个混沌映射以一种方式结合在一起,使得两个映射的组合迭代值决定了第二个映射的下一次迭代值。对于给定的明文符号,这些迭代值的组合有助于生成相应的密文符号。为了弥补Baptista方案的一些缺陷并增强所提方案的安全性,我们在明文符号与密文符号之间实施了一些混合操作。此外,定义了一种无损压缩算法,并将其部分应用于密文以减小其大小。该技术导致生成的密文通常比明文大。通过适当选择参数,我们的技术得到的压缩后的密文比对应的明文大约20%。由于密文仅仅是小整数的序列,因此可以方便地通过当今的公共信道进行传输。因此,该方案可能具有多种实际应用,例如安全消息的传输和多媒体通信。
本文其余部分组织如下。第2节简要回顾相关研究。在第3节中,我们介绍了所建议方案的主要构建模块——一维混沌二次映射,并描述了Baptista方案的建议变体。第4节致力于展示该方案的良好特性,并将其与原始方案进行比较。在第5节中,我们展示了所提方案对已知密码分析攻击的抵抗能力。第6节包含对该方案的速度分析。最后,在第7和第8节中给出了一些结论性评述。
2. 相关研究综述
自从Baptista提出原始方案以来,研究人员提出了许多变体以改进原始方案的安全性和性能[2–9]。另一方面,密码分析者研究并分析了Baptista的方案及其变体,并提出了多种密码分析攻击,揭示了其中一些方案存在的安全缺陷[12–18]。在[2]中,提出了一种Baptista方案的变体,以克服第二个缺点。然而,该方案在[14,16]中被证明是不安全的。在[3,4]中,提出了两种Baptista方案的变体,通过动态更新关联映射来提高原始方案的速度。这些方案也被发现存在安全缺陷[15]。Wong et al. [5]提出了一种生成更短密文的变体。在[17]中,Li et al.指出,通过推广[15]中提出的攻击,可能破解该方案。在[6]中,Palacios和Juarez提出了一种使用循环混沌来增强Baptista方案安全性的变体。该方案的一个缺点是,吸引子的切换可能导致每个明文符号的加密时间增加。此外,在[17]中指出,[14]中提出的攻击仍可能适用于Palacios和Juarez方案。Li et al. [7]提出了一种能够抵抗[13,14]中所提攻击的变体。然而,该方案被发现存在一个可能导致密文错误解密的缺陷[17]。Rhouma et al. [18]分析了在[8]中提出的Baptista变体,并证明该方案与Baptista方案具有相同的弱点以及其他一些缺点。
3. 所提出的方案
3.1. 一维混沌二次映射
其中一个被广泛研究的一维离散时间非线性混沌映射是二次映射[19],其定义为
$$ x_{i+1} = F_\mu(x_i) = \mu - x_i^2 $$
的状态 $ x_i \in [-2, 2] $ 和控制参数 $ \mu \in [-1/4, 2] $。对于给定的 $ x_0 $,可得到轨道 $ {x_i}_{i=0}^\infty $,且对于 $ \mu \in (1.401155189, 2] $,由公式(2)定义的映射表现出混沌行为,但其间被一些称为周期窗口的小区域所中断,在这些区域中吸引子是周期性的。由于混沌映射具有对初始条件和控制参数的高度敏感依赖性、遍历性和混合等特性,我们提出了一种基于两个二次混沌映射的Baptista方案的变体。其他具有类似性质的混沌映射也可用于所建议的方案。
3.2. 密钥
在此方案中,通信双方共享一个由两个二次映射的初始条件和控制参数组成的密钥 $ K $。即,$ K = (x_0, \mu_1, y_0, \mu_2) $。
3.3. 链规则
公式(2)中的二次映射是所提出加密方案的混沌引擎。考虑参数 $ \mu $ 的两个取值 $ \mu_1 $ 和 $ \mu_2 $,使得该映射在此处表现出混沌行为。具有参数 $ \mu_1 $ 和 $ \mu_2 $ 的二次映射被链式连接,以生成一个位于[0, 1]中的实数序列 $ w = {w_i} {i=0}^\infty $。该序列随后用于密文生成。图1展示了此链式连接过程(称为规则T)的详细流程图。规则T的一次执行将 $ x_i $、$ y_i $ 和 $ w_i $ 作为输入,并返回 $ x {i+1} $、$ y_{i+1} $ 和 $ w_{i+1} $。其中,$ x_i $ 且 $ y_i $ 是两个混沌映射的当前状态。注意,初始条件 $ x_0, y_0 \in (-2, 2) $,以及两个混沌映射的控制参数 $ \mu_1, \mu_2 \in (1.401155189, 2] $ 均来自密钥 $ K $;$ w_0 $ 初始化为0,而 $ \alpha $ 是一个固定序列,包含 $ \alpha_1 = -2 $、$ \alpha_2 = -1 $ 和 $ \alpha_3 = 1 $。
在建议的Baptista加密方案变体中,由规则T生成的序列 $ w $ 以类似于Baptista加密方案的方式参与密文符号的生成。因此,我们要求 $ w $ 具有类随机行为。接下来,我们将对该序列进行一些统计分析。图2显示了序列 $ {w_i} {i=0}^{150} $ 的时间序列图,而图3描绘了当 $ i \geq 10000 $ 时,$ w {i+1} $ 与 $ w_i $ 的关系图。从这些图中可以看出,该序列似乎是随机的。
为了克服Baptista加密方案的一些缺点,我们要求 $ w $ 在单位区间[0, 1]内均匀分布。图4展示了通过迭代规则T $ r = 10^7 $ 次得到的序列 $ {w}_{i=1}^r $ 的直方图。该直方图显示出数值几乎呈均匀分布。
使用著名的美国国家标准与技术研究院(NIST)测试套件[20]进一步分析了 $ w $ 的类随机行为。为此,进行了100次子序列 $ {w_i} {i=1}^r $,其中 $ r = 10^6 / 8 $ 是通过使用不同的初始条件和控制参数对规则T进行迭代生成的。然后,我们将每个序列中的项映射为一个字节的整数值 $ Q {w_i} = \left\lfloor 2^8 w_i \right\rfloor $。这样得到100个各含10^6比特的序列。随后评估这些序列的统计特性。
3.4. 加密过程
加密过程如图6所示。它包括三个主要步骤:(i)使用规则T生成序列 $ w $;(ii)使用置换 $ \pi $ 对明文符号进行混合;(iii)使用序列 $ w $ 和混合后的明文符号生成密文符号。图5给出了置换更新规则。
$ 和 $ \delta = \max(\alpha, \beta) $。)
我们的混合思想在加密过程结果中所产生的差异。由于图1的流程图和图6的伪代码非常简单,因此在MATLAB(MathWorks,美国马萨诸塞州纳提克)或C语言中实现所提出的方案是直接可行的。图5中给出的置换更新规则也同样简单,可以通过一个简单的for循环来实现。
3.5. 解密过程
给定密文 $ e = e_1e_2…e_L $,我们可以按如下方式恢复其对应的明文 $ m = m_1m_2…m_L $。在已知密钥和相同参数值的情况下,可以通过规则T的迭代生成序列 $ w $。假设 $ m_1, m_2, …, m_{k-1} $ 已被恢复,且 $ mix $ 的值和置换已知,$ i $ 表示当前状态 $ w_i $ 在 $ w $ 中的位置。如果 $ k = 1 $,我们初始化 $ i $、$ mix $、$ w_0 $ 和 $ e_0 $ 为0,并将置换初始化为单位置换。为了恢复 $ m_k $,我们首先计算 $ b_k = e_k \oplus mix $。注意在加密过程的第k步中,规则T被迭代 $ n_0 + b_k $ 次。因此,我们更新 $ i \leftarrow i + n_0 + b_k $。现在我们计算
$$ target = \left\lfloor 256 \cdot \frac{w_i - w_{\min}}{w_{\max} - w_{\min}} \right\rfloor $$
如果 $ j = target \mod (\pi(e_{k-1}, 256)) $,则 $ m_k \leftarrow \pi^{-1}(j) $。
4. 所建议的方案与Baptista方案的比较
在本节中,我们对所提出的方案进行了详尽的分析,并将其结果与Baptista方案的结果进行比较。在这些实验中,我们的方案使用子区间[0.1, 0.9] ⊂ [0, 1]和 $ n_0 = 20 $,而Baptista方案使用子区间[0.2, 0.8], $ N_0 = 250 $ 和 $ \delta \leq 0.99 $,如[1]中所建议的那样。在本文报道的测试中(除非另有说明),我们对Baptista方案的逻辑映射的控制参数 $ \mu $ 采用值3.78,对所提方案的二次映射的控制参数 $ \mu_1 $ 和 $ \mu_2 $ 分别采用值1.999993和1.999989。
我们指出,与Baptista的方案不同,我们的方案具有如下性质:在迭代规则T $ r $ 次时(对于某个 $ r $),[0.1, 0.9]的256个子区间中的每一个被访问的次数大致相同。我们还研究了应用规则T直到达到特定目标子区间所需的最多次数。此外,我们证明了当 $ q > 10 $ 取较大值时,所提方案的大部分密文在某一区间上几乎是均匀分布的。而且,根据 $ q $ 的选择不同,压缩密文的大小比其对应的明文大20–60%。
图7描述了当规则T迭代 $ 10^6 $ 次时,每个目标子区间被访问的次数。我们还对不同 $ \mu $ 值下公式(1)的映射进行了相同的测试,该映射是Baptista方案的主要构建模块。在此测试中,初始条件和控制参数随机选取,以确保映射具有混沌行为。
图8显示了我们需要迭代规则T和公式(1)以到达特定目标子区间的次数。
在[1]中,Baptista指出,增加 $ \delta $ 会使密文符号的频率分布变得更平坦。在下一个实验中,我们展示了Baptista方案生成的密文符号分布情况,其中 $ \mu = 3.78 $ 以及 $ \delta $ 的两个不同值。
的逻辑映射(上)和规则T(下)。)
将获得的密文符号与所建议的方案在两个不同值 $ q $ 下生成的密文符号进行比较。图9显示了两种方案的密文符号分布。Baptista方案的密文符号被最小迭代次数 $ N_0 = 250 $ 所减少。在图9中,可以观察到 $ q $ 和 $ \delta $ 如何影响两种加密方案中密文符号的分布。
Baptista方案的一个缺点是密文比明文大。这是因为命中目标区间所需的迭代次数的最大值大于目标区间的数量。事实上,命中目标区间所需的迭代次数的最大值在理论上没有界限。另一方面,如图9所示,密文符号的分布在压缩方面表现良好。因此,可以通过对生成的密文进行压缩来减小其大小。由于数据压缩并非本文的研究范围,我们不讨论压缩方案的选择。为了比较各考虑方案可达到的压缩比,我们实施了以下步骤。设 $ C $ 表示一个密文。我们考虑向量 $ R = \text{mod}(C, 256) $ 和 $ Q = \left\lfloor C / 256 \right\rfloor $。后续结果(表 II)表明 $ R $ 具有类似随机性且分布均匀,这意味着对其进行压缩无法获得显著的增益。另一方面,$ Q $ 包含许多冗余,因此可以进行压缩。我们使用著名的霍夫曼压缩算法[21]对 $ Q $ 进行压缩。在接下来的测试中,我们展示了参数 $ q $ 控制着密文符号的均匀分布与其压缩比之间的权衡关系。图10(a)描述了这种关系,而图10(b)显示了 $ \delta $ 的值与其压缩比之间的关系。
使用NIST测试套件进一步分析了两种方案的密文符号的随机性。为此,我们考虑一个较大的消息,并将其分为100条消息,每条长度为 $ 10^6 $ 比特。然后,使用所建议的方案(对于 $ q = 12 $)和原始方案(对于 $ \delta = 0.8 $),在随机选择的初始条件和控制参数下对每条消息进行加密。我们从已知能产生混沌行为的区间中随机选择控制参数。将每条消息得到的密文符号模256化简,以获得长度为 $ 10^6 $ 比特的序列。每种方案得到的100个序列被输入NIST测试套件,结果如表II所示。可以明显观察到,与Baptista的原始方案生成的密文符号相比,所建议的方案生成的密文符号具有更好的随机性。
表II. 使用所提方案($ q = 12 $)和Baptista方案($ \delta = 0 $)对大消息加密后的NIST测试套件结果。
| 统计测试 | 所建议的方案 p值 | 比例 | Baptista方案 p值 | 比例 |
|---|---|---|---|---|
| 频率 | 0.719747 | 99/100 | 0.000000* | 3/100* |
| 块频率 | 0.304126 | 100/100 | 0.000000* | 92/100* |
| 累加和(正向) | 0.514124 | 99/100 | 0.000000* | 4/100* |
| 累加和(反向) | 0.366918 | 99/100 | 0.000000* | 4/100* |
| Runs | 0.719747 | 100/100 | 0.000000* | 28/100* |
| 最长游程 | 0.834308 | 98/100 | 0.080519 | 97/100 |
| Rank | 0.554420 | 100/100 | 0.181557 | 99/100 |
| FFT | 0.924076 | 99/100 | 0.213309* | 93/100* |
| 非重叠模板 | 0.657933 | 100/100 | 0.779188 | 99/100 |
| 重叠模板 | 0.595549 | 100/100 | 0.401199 | 100/100 |
| 通用性 | 0.883171 | 100/100 | 0.739918 | 99/100 |
| 近似熵 | 0.181557 | 99/100 | 0.000022* | 98/100* |
| 随机游走 | 0.719747 | 53/53 | 0.739918 | 14/14 |
| 随机游走变体 | 0.678686 | 53/53 | 0.213309 | 14/14 |
| 序列1 | 0.739918 | 100/100 | 0.514124 | 97/100 |
| 序列2 | 0.494392 | 99/100 | 0.181557 | 100/100 |
| 线性复杂度 | 0.911413 | 99/100 | 0.455937 | 100/100 |
消息被分为100条消息,每条长度为 $ 10^6 $ 位,生成的100条加密消息取模256。根据NIST文档,96%的通过率是可接受的。注意,* 表示测试未通过。
5. 安全分析
Baptista的原始方案及其一些变体已遭受多种密码分析攻击[13–18],揭示了它们的弱点。在本节中,我们证明所建议的方案能够抵御这些类型的攻击。我们首先讨论在[14]中提出的三类攻击,即一次一密攻击、熵攻击和密钥恢复攻击。
5.1. 一次一密攻击
Alvarez等人[14]指出,Baptista方案以类似于重复使用密钥的一次性密码本的方式对明文符号进行加密,因此在选择明文场景下容易被攻破。在此场景中,假设密码分析者可以临时访问加密设备;他可以选择明文并生成相应的密文。在本节中,我们将一次一密攻击应用于Baptista方案以及我们提出的方案。为了便于分析,如同[14]所假设,设源发出四个不同的符号 $ S_4 = {s_1, s_2, s_3, s_4} $,且Baptista方案使用 $ N_0 = 0 $ 和 $ \delta = 0 $。假设该方案的密钥为 $ x = 0.1, \mu = 3.998 $,所使用的区间部分为[0.2, 0.8]。在此攻击中,密码分析者需要以下明文符号对应的密文符号: $ P_1 = s_1s_1…s_1 $,$ P_2 = s_2s_2…s_2 $,$ P_3 = s_3s_3…s_3 $,以及 $ P_4 = s_4s_4…s_4 $,这些密文符号列于表III中,分别记为 $ C_1 $、$ C_2 $、$ C_3 $ 和 $ C_4 $。根据这些密文符号,攻击者分别计算 $ C_1 $、$ C_2 $、$ C_3 $、$ C_4 $ 的累积和 $ U_1 $、$ U_2 $、$ U_3 $、$ U_4 $。即,对于 $ j \in {1, 2, 3, 4} $,若 $ c_k $ 表示 $ C_j $ 的第 $ k $ 项,则 $ U_j $ 的第 $ k $ 项为 $ c_1 + c_2 + … + c_k $。
根据所获得的结果,密码分析者可以构造出一次性密码本(除了 $ x \notin [0.2 $ 和 $ 0.8] $ 的值之外)。
表III. 请求的密文符号及其对应的累积和。
| 密文 | 累积和 |
|---|---|
| $ C_1 = 3, 5, 4, 6, 18, 4, 6, 18, … $ | $ U_1 = 3, 8, 12, 18, 36, 40, 46, 64, … $ |
| $ C_2 = 1, 9, 10, 3, 10, 15, 3, 3, … $ | $ U_2 = 1, 10, 20, 23, 33, 48, 51, 54, … $ |
| $ C_3 = 5, 9, 15, 9, 4, 17, 16, 4, … $ | $ U_3 = 5, 14, 29, 38, 42, 59, 75, 79, … $ |
| $ C_4 = 37, 49, 1, 1, 11, 35, 15, 1, … $ | $ U_4 = 37, 86, 87, 88, 99, 134, 149, 150, … $ |
未用于加密的:
$ O = x s_2 x s_1 x s_3 x x s_1 x s_2 x s_1 x s_3 x x x s_1 x s_2 x x s_2 x x x x x s_3 x x x s_2 x x s_1 s_4 s_3 x s_1 x s_3 x x x s_1 x s_2 x x s_2 x x x x x x x s_3… $
假设密码分析者截获了以下密文 $ C = 1,2, 7,10, 9,9, 48,4 $,其累积和为 $ 1, 3,10, 20,29,38,86, 90 $。如果该密文是使用上述密钥生成的,则密码分析者可以利用构造的一次性密码本 $ O $ 轻松恢复出明文 $ P = s_2s_1s_2s_2s_3s_3s_4s_2 $,该明文对应于被截获的密文。
根据之前讨论的分析,可以得出结论:一次性密码本的构造会导致明文被恢复。因此,这相当于知道了Baptista加密方案的密钥,从而使该加密方案100%易受攻击[14]。人们可以轻松地将此攻击推广到高阶信源[14]。此外,对于 $ N_0 \neq 0 $ 和 $ \delta > 0 $,该攻击仍然有效,但需要比以前更多的努力。
在本小节的其余部分中,我们对所提出的方案进行一次一密攻击。与之前相同,假设源发出四个不同的符号 $ S_4 = {s_1, s_2, s_3, s_4} $,并且该方案使用 $ n_0 = 0 $。假设密钥由 $ x = 0.23, y = 0.45, \mu_1 = 1.93, \mu_2 = 1.79 $ 和 $ q $ 组成,所使用的区间部分为 [0.1, 0.9]。表 IV列出了明文符号 $ P_1 = s_1s_1…s_1 $、$ P_2 = s_2s_2…s_2 $、$ P_3 = s_3s_3…s_3 $ 和 $ P_4 = s_4s_4…s_4 $ 对应的密文符号 $ C_1 $、$ C_2 $、$ C_3 $ 和 $ C_4 $,以及它们相应的累积和 $ U_1 $、$ U_2 $、$ U_3 $ 和 $ U_4 $。此外,为了与Baptista方案进行公平比较,表IV还显示了修改后的密文符号(无混合)$ \tilde{C} 1 $、$ \tilde{C}_2 $、$ \tilde{C}_3 $ 和 $ \tilde{C}_4 $,其中 $ \tilde{C}_i = b_1, b_2, …, $ 对于 $ 1 \leq i \leq 4 $。上述集合可以很容易地计算,因为密码分析者正在请求明文符号 $ P_i $。因此,知道 $ C_i $ 等同于知道 $ \tilde{C}_i $。基于所获得的结果,密码分析者无法构造出一次性密码本,因为集合 $ \bigcap {i=1}^4 U_i \neq \emptyset $,即集合 $ U_i $ 成对相交[22]。此外,$ \bigcap_{i=1}^4 \tilde{U}_i \neq \emptyset $,即集合 $ \tilde{U}_i $ 成对相交。仿真结果表明,在该攻击下大约50%的密文符号无法被恢复。因此,我们得出结论:该攻击在所建议的方案上是不切实际的。
表IV. 请求的密文符号及其对应的累积和。
| 密文 | 累积和 |
|---|---|
| $ C_1 = 3, 10, 4, 1, 2, 4, 7, 2, … $ | $ U_1 = 3, 13, 17, 18, 20, 24, 31, 33, … $ |
| $ \tilde{C}_1 = 3, 10, 4, 1, 2, 4, 7, 2, … $ | $ \tilde{U}_1 = 3, 13, 17, 18, 20, 24, 31, 33, … $ |
| $ C_2 = 8, 4, 3, 18, 1, 6, 7, 2, … $ | $ U_2 = 8, 12, 15, 33, 34, 40, 47, 49, … $ |
| $ \tilde{C}_2 = 8, 5, 1, 17, 5, 3, 1, 5, … $ | $ \tilde{U}_2 = 8, 13, 14, 31, 36, 39, 40, 45, … $ |
| $ C_3 = 4, 11, 5, 7, 24, 8, 8, 13, … $ | $ U_3 = 4, 15, 20, 27, 51, 59, 67, 80, … $ |
| $ \tilde{C}_3 = 4, 9, 1, 1, 16, 2, 4, 3, … $ | $ \tilde{U}_3 = 4, 13, 14, 15, 31, 33, 37, 40, … $ |
| $ C_4 = 2, 1, 1, 11, 30, 10, 19, 23, … $ | $ U_4 = 2, 3, 4, 15, 45, 55, 74, 97, … $ |
| $ \tilde{C}_4 = 2, 2, 7, 2, 18, 5, 1, 2, … $ | $ \tilde{U}_4 = 2, 4, 11, 13, 31, 36, 37, 39, … $ |
5.2. 熵攻击
熵 $ H $ 是衡量源 $ S $ 不可预测性的指标,其定义为
$$ H(S) = -\sum_{s \in S} P(s) \log_2(P(s)) \text{ bits} $$
其中 $ P(s) $ 是符号 $ s $ 的概率。
据报道,Baptista方案生成的密文的熵小于理想值。所建议的方案相比Baptista方案提供了更高的熵值。在表V中,我们列出了Baptista方案在 $ N_0 = 250 $ 和 $ \delta = 0.8 $ 时的一些熵值,以及所提方案在 $ n_0 = 20 $ 和 $ q = 8 $ 时的熵值。本表中报告的熵率对应于对来自 $ k $ 个符号源 $ S_k $ 的消息进行加密所生成的密文,其中 $ k = 2, 4, 8, 16, 32, 64, 128, 256 $。注意,密文 $ C_{S_k} $ 的熵率定义为
$$ -\sum_{i=1}^N P(i) \sum_{j=1}^k P(s_j^{(i)}) \log_2 P(s_j^{(i)}) \text{ bits} $$
其中 $ i $ 是一个密文符号,$ N $ 是密文中的最大数值,而 $ s_j^{(i)} $ 表示明文符号 $ s_j $ 被加密为密文符号 $ i $。
表V. 通过使用包含k个符号的字母表对长度为 $ 10^7 $ 的消息进行加密所得到的密文的熵。
| $ k $ | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 |
|---|---|---|---|---|---|---|---|---|
| 理想熵 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| Baptista方案 | 0.9994 | 1.9979 | 2.9950 | 3.9879 | 4.9746 | 5.9436 | 6.8635 | 7.6398 |
| 我们的方案 | 1.0000 | 1.9995 | 2.9983 | 3.9939 | 4.9855 | 5.9720 | 6.9481 | 7.8982 |
5.3. 密钥恢复
Alvarez et al. [14]对Baptista方案的一个弱化版本执行了密钥恢复攻击。这种攻击允许密码分析者在已知部分密钥的情况下恢复该方案的完整密钥。更具体地说,当初始条件 $ x_0 $ 已知时,密码分析者可以恢复控制参数 $ \mu $;而当 $ \mu $ 已知时,他可以恢复 $ x_0 $。此类攻击仅在使用整个吸引子且 $ N_0 $ 和 $ \delta $ 均等于零时才可实施。我们的方案基于不规则抽样技术,因此这类攻击难以实现。
5.4. 对密钥和参数的敏感性
在本小节中,我们展示了所建议的方案对其密钥和参数的高度敏感依赖性。正如预期的那样,这种高度敏感的依赖性源自混沌映射对其初始条件和控制参数的敏感依赖性。
图11(a)显示了使用两个在初始条件上略微不同的密钥通过所建议的方案加密同一消息时,前100个密文符号的绝对差。图11(b)描绘了使用相同密钥但 $ e_0 $ 取略微不同值加密同一消息时,前100个密文符号的绝对差。
5.5. 密钥空间
所建议的方案的密钥空间由混沌映射的初始条件和控制参数组成。即 $ K = (x_0, \mu_1, y_0, \mu_2) $,其中 $ x_0, y_0 \in (-2, 2) $ 且 $ \mu_1, \mu_2 \in (1.401155189, 2] $。如果我们使用64位双精度数,且64位双精度数的计算精度约为 $ 10^{-15} $,则密钥空间的大小为 $ (10^{15})^4 > 2^{199} $。由于所提方案对密钥具有高度敏感性,密钥空间足够大,使得任何穷举密钥搜索都变得不切实际。
6. 速度分析
所提出的方案在一台配备Intel® Core™ i7-2600处理器和4GB内存、运行Windows 7 Home Premium及MATLAB 7.10的台式机上进行运行速度测试。为此,我们考虑了长度在1兆比特到20兆比特范围内的有意义消息。这些消息的加密运行速度如图12和图13所示。在图13中,当目标区间是[0.1, 0.9]的子区间时,可以明显观察到所提加密方案的平均运行速度在启用数据压缩时约为200Kb/s(千比特每秒),在不启用数据压缩时为292 Kb/s。需要注意的是,在启用数据压缩的情况下,当目标区间分别为[0.1, 0.9]和[0, 1]的子区间时,生成的密文大小分别比相应明文大22%和19%。
7. 总结与未来工作
所提出的Baptista加密方案变体显示出克服了Baptista原始方案及其某些变体中的许多缺点。这是通过使用两个耦合一维混沌映射,并在明文符号与密文符号之间进行一定的混合来实现的。在第3、4、5节中表明,对于参数的适当选择,该方案克服了原始方案及其某些变体中的一些主要缺点(如第1节所列)。此外,所建议的方案具备以下特性:(i)对现有攻击具有高安全级别;(ii)大的密钥空间;(iii)均匀分布的密文;(iv)随机外观的密文;(v)可接受的运行速度;(vi)支持高压缩率。基于上述特性,我们得出结论,该方案相较于原始方案及其某些变体具有优越性。此外,我们的方案继承了原始方案的优点,即在使用相同初始条件和参数的情况下,能够为相同的明文符号生成不同的密文符号。然而,这会导致生成的密文大小比对应明文更大。正如本文前面所讨论的,为了在一定程度上弥补这一缺点,可以对密文应用无损压缩算法以减小其大小。这使得压缩后的密文大约比对应的明文大20%。在未来的工作中,我们旨在减小生成密文的大小,并提高所提方案以及压缩算法的速度性能。此外,对Baptista方案的现有变体进行比较的综述仍是一个开放的研究课题。
8. 结论
我们提出了一种基于两个一维混沌映射的Baptista加密方案的变体。这两个混沌映射相互关联,其组合输出用于生成密文符号。我们还在方案中引入了混合机制。这些改进有助于提高该方案的安全性,从而克服了原始方案中的安全缺陷。此外,该方案在密文符号的均匀分布与压缩比之间表现出一种权衡关系。
902

被折叠的 条评论
为什么被折叠?



