25、卢比 - 拉科夫伪随机置换生成器的简化与推广解读

卢比 - 拉科夫伪随机置换生成器的简化与推广解读

1. 引言

在密码学领域,伪随机置换生成器的构建是一个重要的研究方向。早期,Luby和Rackoff受数据加密标准(DES)的轮结构启发,提出了从伪随机函数生成器构建伪随机置换生成器的方法。这一研究引发了众多后续工作。本文旨在基于局部随机函数的概念,对Luby和Rackoff的结果进行简化和推广,为概率理论和复杂性理论在密码学中的关系提供新的见解。

局部随机性是理论计算机科学中的一个重要概念。直观地说,如果对于任意最多包含k个参数的集合,从一个函数族中随机选择的函数在这些参数上的函数值是独立且均匀分布的,那么这个函数族就是k度局部随机的。类似地,如果对于随机选择的种子,序列生成器生成的任意k个(或更少)数字的子集是完全随机的,那么该序列生成器就是k度局部随机的。

2. 术语

为了更好地理解后续内容,先明确一些术语:
- ({0,1}^n):表示长度为n的二进制字符串集合。
- (F^n):表示从({0,1}^n)到({0,1}^n)的所有(2^{n^2})个函数的集合。
- (P^n):(F^n)中所有置换函数(即可逆或一对一的函数)的子集。
- (f_1 \circ f_2):表示函数(f_1)和(f_2)的复合,即(f_1 \circ f_2(x) = f_2(f_1(x)))。
- (a \parallel b):表示两个二进制字符串(a)和(b)的连接。
- (a \oplus b):当(a)和(b)长度相同时,表示它们的逐位异或。
- ([a]_t):表示字符串(a)的最右边t位。
- (x \in_R S):表示从集合或多重集(S)中随机选择一个对象(x),每个对象被选中的概率相等。
- 伪随机数(或位)生成器(PRNG)、伪随机函数生成器(PRFG)和伪随机置换生成器(PRPG)的定义可参考相关文献。
- 超多项式函数:对于每个多项式(Q),当(n)足够大时,函数(f : \mathbb{N} \to \mathbb{N})满足(f(n) > Q(n))。
- (#S):表示集合或多重集(S)的基数,本文中的对数均以2为底。

3. 卢比 - 拉科夫伪随机置换生成器

Levin给出了从任意单向函数构建PRNG的方法,Goldreich、Goldwasser和Micah则提出了从PRNG构建PRFG的方法。然而,伪随机函数通常不可逆,不能直接用于块加密。Luby和Rackoff考虑了从安全的PRFG构建安全的块加密算法,即伪随机置换生成器的问题。

受DES的轮结构启发,Luby和Rackoff定义了一个映射(H : F^n \times F^n \times F^n \to P^{2n}),将(F^n)中的每个三元函数映射到(P^{2n})中的一个置换。具体来说,对于一个(2n)位字符串(L \parallel R),定义(f \in P^{2n})为(f(L \parallel R) = R \parallel [L \oplus f(R)]),这对应于DES的一轮。对于函数列表(f_1, \cdots, f_d \in F^n),定义(\Phi(f_1, \cdots, f_d) = f_1 \circ \cdots \circ f_d)。

Luby和Rackoff考虑了通过神谕电路区分从(F^{2n})中随机选择的函数和从(\Phi(F^n, F^n, F^n))中随机选择的函数的问题。神谕电路(C^{2n})是一种带有神谕门的电路,神谕门的输入和输出均为(2n)位,电路中的所有神谕门都对(F^{2n})中的同一个固定函数进行求值。

主要引理 :设(C^{2n})是一个具有k个神谕门且没有输入值重复到神谕门的神谕电路,则不存在一组k个参数(无论是否自适应选择,是否不同),使得以这些参数作为神谕门输入的神谕电路能够满足(\vert P[C^{2n}(f) = 1 : f \in_R \Phi(F^n, F^n, F^n)] - P[C^{2n}(f) = 1 : f \in_R F^{2n}] \vert > k^2 / 2^n)。

引理1的证明 :设(f_1)、(f_2)和(f_3)是从(F^n)中随机选择的函数,(f = \Phi(f_1, f_2, f_3))。对于(1 \leq i \leq k),令(z_i = L_i \parallel R_i)为(f)的k个参数,并定义(S_i)、(T_i)和(V_i)。当(E_S)((S_1, \cdots, S_k)不同)和(E_T)((T_1, \cdots, T_k)不同)事件都发生时,(f(z_1), \cdots, f(z_k))是完全随机的,此时(f)的行为就像从(F^{2n})中随机选择的函数。因此,区分概率的上界由(1 - P[E_S \cap E_T])决定。

(\overline{E_S \cap E_T})是({S_i = S_j})((1 \leq i < j \leq k))和({T_i = T_j})((1 \leq i < j \leq k))事件的并集。根据概率的性质,多个事件并集的概率上界为各事件概率之和。对于(i \neq j),有(P[S_i = S_j] \leq 2^{-n}),同理(P[T_i = T_j] \leq 2^{-n})。右边式子的总项数为(2\binom{k}{2} = k(k - 1) < k^2),从而证明了引理1。

下面是相关流程的mermaid流程图:

graph TD;
    A[开始] --> B[随机选择f1,f2,f3];
    B --> C[定义f = Φ(f1,f2,f3)];
    C --> D[输入k个参数z1...zk];
    D --> E[计算Si,Ti,Vi];
    E --> F{ES和ET是否都发生};
    F -- 是 --> G[f行为像随机函数];
    F -- 否 --> H[计算区分概率上界];
    H --> I[结束];
    G --> I;
4. 随机函数和局部随机函数

随机函数(r : {0,1}^n \to {0,1}^n)为所有参数(x \in {0,1}^n)分配独立且完全随机的值(r(x) \in {0,1}^n)。随机函数的简单实现方式是使用表,这需要在预计算阶段生成(n2^n)个随机位,并使用(n2^n)位的内存来存储表。另一种实现方式是作为一个设备,当输入一个之前未出现过的参数时,生成一个随机输出并存储该参数和输出的对;当输入一个之前计算过的参数时,输出存储的值。这种实现方式在需要对最多t个参数进行求值时,需要(2tn)位的内存和最多(2tn)个随机位,但每个参数的计算时间为(O(\log t))。

由于随机性通常是一种昂贵且有限的资源,并且函数求值时间和内存需求对参数数量的依赖往往难以忍受,因此局部随机函数的概念变得尤为重要。

定义1 :一个函数族(F_Z = {f_z : z \in Z}),其中(f_z : {0,1}^n \to {0,1}^m),如果对于({0,1}^n)的任意子集({x_1, \cdots, x_k}),当(z)从(Z)中随机选择时,(f_Z(x_1), \cdots, f_Z(x_k))在({0,1}^m)上均匀分布且联合统计独立,则该函数族是具有密钥空间(Z)的((n, m, k))局部随机函数(LRF)。

对于LRF,存在一些重要的命题:
|命题|内容|
| ---- | ---- |
|命题2|设(p_0, \cdots, p_{k - 1})是随机选择的(n)位字符串,函数(p : {0,1}^n \to {0,1}^n : x \mapsto p(x) = p_{k - 1}x^{k - 1} + \cdots + p_1x + p_0)(所有量都视为有限域(GF(2^n))中的元素表示)是具有最小密钥空间(Z = {0,1}^{kn})的((n, n, k)) LRF。|
|命题3|存在((n, m, k)) LRF的条件是(\vert Z \vert \geq \frac{mk}{n + \log \vert Z \vert});不存在((n, 1, k)) LRF的条件是(k > \frac{2(\vert Z \vert + n + 1)}{n - \log \vert Z \vert + 1})。|

为了用LRF表述关于PRFG和PRPG的结果,需要对LRF的概念进行两种推广。首先,需要放松任意k个函数值完全随机的条件,引入第四个参数(\epsilon),定义((n, m, k, \epsilon))局部随机函数。

卢比 - 拉科夫伪随机置换生成器的简化与推广解读

5. 基于局部随机函数的结果解释与推广

将前面关于卢比 - 拉科夫伪随机置换生成器的结果基于局部随机函数进行解释,可以发现其本质上是关于局部随机函数的一个结果。

从局部随机函数的角度来看,当考虑从(\Phi(F^n, F^n, F^n))中随机选择的函数(f)和从(F^{2n})中随机选择的函数时,引理1表明对于任意的(k)个参数,(f)在这些参数上的行为与完全随机函数的行为差异不大。这意味着(\Phi(F^n, F^n, F^n))中的函数在一定程度上具有局部随机性。

具体来说,当(E_S)和(E_T)事件都发生时,(f)在(k)个参数上的输出就像完全随机函数的输出一样。而(1 - P[E_S \cap E_T])的上界限制了区分(f)和完全随机函数的可能性。这与局部随机函数的定义相呼应,即对于有限个参数,函数的输出表现出随机的特性。

下面通过一个表格来对比(\Phi(F^n, F^n, F^n))中的函数和完全随机函数在(k)个参数上的性质:
| 性质 | (\Phi(F^n, F^n, F^n))中的函数 | 完全随机函数 |
| ---- | ---- | ---- |
| 输出随机性 | 在(E_S)和(E_T)发生时接近随机 | 完全随机 |
| 区分概率 | 上界为(1 - P[E_S \cap E_T]) | 无区分可能 |

基于局部随机函数的概念,还可以对卢比 - 拉科夫的结果进行推广。例如,可以考虑不同的参数设置,如改变(n)、(m)、(k)的值,或者引入前面提到的(\epsilon)参数,研究在不同条件下函数的局部随机性质。

6. 局部随机函数的进一步应用及块密码设计策略

局部随机函数在理论计算机科学和密码学中有许多进一步的应用,同时也为块密码的设计提供了新的策略。

6.1 局部随机函数的进一步应用
  • 密码协议设计 :在一些密码协议中,需要保证某些函数在有限个输入上的随机性,以确保协议的安全性。局部随机函数可以满足这一需求,通过选择合适的参数(n)、(m)、(k)和(\epsilon),可以设计出满足特定安全要求的函数。
  • 数据隐私保护 :在数据处理过程中,为了保护数据的隐私,可以使用局部随机函数对数据进行处理。例如,对数据的某些特征进行随机化处理,使得在有限个查询下,无法获取到关于数据的敏感信息。

下面是一个局部随机函数在密码协议设计中的应用流程的mermaid流程图:

graph TD;
    A[开始] --> B[选择合适的局部随机函数参数];
    B --> C[生成局部随机函数];
    C --> D[将函数应用于密码协议];
    D --> E{协议是否满足安全要求};
    E -- 是 --> F[协议完成];
    E -- 否 --> B;
6.2 基于局部随机函数的块密码设计策略

传统的块密码设计通常基于复杂的结构和算法,而局部随机函数为块密码设计提供了一种新的思路。可以通过构建具有局部随机性质的函数来设计块密码,使得在有限个输入下,密码的加密结果表现出随机的特性,从而提高密码的安全性。

具体的设计步骤如下:
1. 选择参数 :根据安全需求和性能要求,选择合适的(n)、(m)、(k)和(\epsilon)参数。
2. 构建局部随机函数 :根据前面提到的命题和定义,构建具有所需局部随机性质的函数。
3. 设计块密码结构 :将局部随机函数融入到块密码的结构中,例如可以将其应用于轮函数的设计。
4. 安全性分析 :对设计的块密码进行安全性分析,验证其在不同攻击下的安全性。

通过这种方式设计的块密码,在有限个输入下能够提供较好的随机性,从而增强了密码的抗攻击能力。

综上所述,局部随机函数为伪随机置换生成器的研究和块密码的设计提供了新的视角和方法。通过对局部随机函数的深入研究和应用,可以进一步推动密码学领域的发展。

【电力系统】单机无穷大电力系统短路故障暂态稳定Simulink仿真(带说明文档)内容概要:本文档围绕“单机无穷大电力系统短路故障暂态稳定Simulink仿真”展开,提供了完整的仿真模型说明文档,重点研究电力系统在发生短路故障后的暂态稳定性问题。通过Simulink搭建单机无穷大系统模型,模拟不同类型的短路故障(如三相短路),分析系统在故障期间及切除后的动态响应,包括发电机转子角度、转速、电压和功率等关键参数的变化,进而评估系统的暂态稳定能力。该仿真有助于理解电力系统稳定性机理,掌握暂态过程分析方法。; 适合人群:电气工程及相关专业的本科生、研究生,以及从事电力系统分析、运行控制工作的科研人员和工程师。; 使用场景及目标:①学习电力系统暂态稳定的基本概念分析方法;②掌握利用Simulink进行电力系统建模仿真的技能;③研究短路故障对系统稳定性的影响及提高稳定性的措施(如故障清除时间优化);④辅助课程设计、毕业设计或科研项目中的系统仿真验证。; 阅读建议:建议结合电力系统稳定性理论知识进行学习,先理解仿真模型各模块的功能参数设置,再运行仿真并仔细分析输出结果,尝试改变故障类型或系统参数以观察其对稳定性的影响,从而深化对暂态稳定问题的理解。
本研究聚焦于运用MATLAB平台,将支持向量机(SVM)应用于数据预测任务,并引入粒子群优化(PSO)算法对模型的关键参数进行自动调优。该研究属于机器学习领域的典型实践,其核心在于利用SVM构建分类模型,同时借助PSO的全局搜索能力,高效确定SVM的最优超参数配置,从而显著增强模型的整体预测效能。 支持向量机作为一种经典的监督学习方法,其基本原理是通过在高维特征空间中构造一个具有最大间隔的决策边界,以实现对样本数据的分类或回归分析。该算法擅长处理小规模样本集、非线性关系以及高维度特征识别问题,其有效性源于通过核函数将原始数据映射至更高维的空间,使得原本复杂的分类问题变得线性可分。 粒子群优化算法是一种模拟鸟群社会行为的群体智能优化技术。在该算法框架下,每个潜在解被视作一个“粒子”,粒子群在解空间中协同搜索,通过不断迭代更新自身速度位置,并参考个体历史最优解和群体全局最优解的信息,逐步逼近问题的最优解。在本应用中,PSO被专门用于搜寻SVM中影响模型性能的两个关键参数——正则化参数C核函数参数γ的最优组合。 项目所提供的实现代码涵盖了从数据加载、预处理(如标准化处理)、基础SVM模型构建到PSO优化流程的完整步骤。优化过程会针对不同的核函数(例如线性核、多项式核及径向基函数核等)进行参数寻优,并系统评估优化前后模型性能的差异。性能对比通常基于准确率、精确率、召回率及F1分数等多项分类指标展开,从而定量验证PSO算法在提升SVM模型分类能力方面的实际效果。 本研究通过一个具体的MATLAB实现案例,旨在演示如何将全局优化算法机器学习模型相结合,以解决模型参数选择这一关键问题。通过此实践,研究者不仅能够深入理解SVM的工作原理,还能掌握利用智能优化技术提升模型泛化性能的有效方法,这对于机器学习在实际问题中的应用具有重要的参考价值。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值